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 {...@@ -230,6 +230,7 @@ comptime {
230 _ = @import("compiler_rt/trunc.zig");230 _ = @import("compiler_rt/trunc.zig");
231231
232 // BigInt. Alphabetically sorted.232 // BigInt. Alphabetically sorted.
233 _ = @import("compiler_rt/divmodei4.zig");
233 _ = @import("compiler_rt/udivmodei4.zig");234 _ = @import("compiler_rt/udivmodei4.zig");
234 _ = @import("compiler_rt/udivmodti4.zig");235 _ = @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 {...@@ -27,8 +27,8 @@ inline fn limb_set(x: []u32, i: usize, v: u32) void {
27 }27 }
28}28}
2929
30// Uses Knuth's Algorithm D, 4.3.1, p. 272.30/// Uses Knuth's Algorithm D, 4.3.1, p. 272.
31fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {31pub fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {
32 if (q) |q_| @memset(q_[0..], 0);32 if (q) |q_| @memset(q_[0..], 0);
33 if (r) |r_| @memset(r_[0..], 0);33 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...@@ -8850,7 +8850,7 @@ fn zirEnumFromInt(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError
8850 // Use `intCast`, since it'll set up the Sema-emitted safety checks for us!8850 // Use `intCast`, since it'll set up the Sema-emitted safety checks for us!
8851 const int_val = try sema.intCast(block, src, int_tag_ty, src, operand, src, true, true);8851 const int_val = try sema.intCast(block, src, int_tag_ty, src, operand, src, true, true);
8852 const result = try block.addBitCast(dest_ty, int_val);8852 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)) {
8854 const ok = try block.addUnOp(.is_named_enum_value, result);8854 const ok = try block.addUnOp(.is_named_enum_value, result);
8855 try sema.addSafetyCheck(block, src, ok, .invalid_enum_value);8855 try sema.addSafetyCheck(block, src, ok, .invalid_enum_value);
8856 }8856 }
src/Type.zig+4-4
...@@ -4190,11 +4190,11 @@ pub const @"c_longlong": Type = .{ .ip_index = .c_longlong_type };...@@ -4190,11 +4190,11 @@ pub const @"c_longlong": Type = .{ .ip_index = .c_longlong_type };
4190pub const @"c_ulonglong": Type = .{ .ip_index = .c_ulonglong_type };4190pub const @"c_ulonglong": Type = .{ .ip_index = .c_ulonglong_type };
4191pub const @"c_longdouble": Type = .{ .ip_index = .c_longdouble_type };4191pub const @"c_longdouble": Type = .{ .ip_index = .c_longdouble_type };
41924192
4193pub const slice_const_u8: Type = .{ .ip_index = .slice_const_u8_type };
4194pub const manyptr_u8: Type = .{ .ip_index = .manyptr_u8_type };4193pub const manyptr_u8: Type = .{ .ip_index = .manyptr_u8_type };
4195pub const single_const_pointer_to_comptime_int: Type = .{4194pub const manyptr_const_u8: Type = .{ .ip_index = .manyptr_const_u8_type };
4196 .ip_index = .single_const_pointer_to_comptime_int_type,4195pub const manyptr_const_u8_sentinel_0: Type = .{ .ip_index = .manyptr_const_u8_sentinel_0_type };
4197};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 };
4198pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_sentinel_0_type };4198pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_sentinel_0_type };
41994199
4200pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type };4200pub 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;...@@ -33,6 +33,10 @@ const FrameIndex = bits.FrameIndex;
3333
34const InnerError = codegen.CodeGenError || error{OutOfRegisters};34const 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
36const err_ret_trace_index: Air.Inst.Index = @enumFromInt(std.math.maxInt(u32));40const err_ret_trace_index: Air.Inst.Index = @enumFromInt(std.math.maxInt(u32));
3741
38gpa: Allocator,42gpa: Allocator,
...@@ -2414,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2414,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2414}2418}
24152419
2416fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {2420fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2417 @setEvalBranchQuota(11_900);2421 @setEvalBranchQuota(12_400);
2418 const pt = cg.pt;2422 const pt = cg.pt;
2419 const zcu = pt.zcu;2423 const zcu = pt.zcu;
2420 const ip = &zcu.intern_pool;2424 const ip = &zcu.intern_pool;
...@@ -2450,9 +2454,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2450,9 +2454,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2450 try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1);2454 try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1);
2451 switch (air_tags[@intFromEnum(inst)]) {2455 switch (air_tags[@intFromEnum(inst)]) {
2452 // zig fmt: off2456 // zig fmt: off
2453 .add_wrap,2457 .add_wrap => try cg.airBinOp(inst, .add_wrap),
2454 .sub_wrap,2458 .sub_wrap => try cg.airBinOp(inst, .sub_wrap),
2455 => |air_tag| try cg.airBinOp(inst, air_tag),
24562459
2457 .shr, .shr_exact => try cg.airShlShrBinOp(inst),2460 .shr, .shr_exact => try cg.airShlShrBinOp(inst),
2458 .shl, .shl_exact => try cg.airShlShrBinOp(inst),2461 .shl, .shl_exact => try cg.airShlShrBinOp(inst),
...@@ -2470,57 +2473,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2470,57 +2473,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2470 .mul_with_overflow => try cg.airMulWithOverflow(inst),2473 .mul_with_overflow => try cg.airMulWithOverflow(inst),
2471 .shl_with_overflow => try cg.airShlWithOverflow(inst),2474 .shl_with_overflow => try cg.airShlWithOverflow(inst),
24722475
2473 .cmp_lt_errors_len => try cg.airCmpLtErrorsLen(inst),
2474
2475 .bitcast => try cg.airBitCast(inst),2476 .bitcast => try cg.airBitCast(inst),
2476 .is_non_null => try cg.airIsNonNull(inst),2477
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),
2487 .ctz => try cg.airCtz(inst),2478 .ctz => try cg.airCtz(inst),
2488 .popcount => try cg.airPopCount(inst),2479 .popcount => try cg.airPopCount(inst),
2489 .byte_swap => try cg.airByteSwap(inst),2480 .byte_swap => try cg.airByteSwap(inst),
2490 .bit_reverse => try cg.airBitReverse(inst),2481 .bit_reverse => try cg.airBitReverse(inst),
2491 .tag_name => try cg.airTagName(inst),
2492 .error_name => try cg.airErrorName(inst),
2493 .splat => try cg.airSplat(inst),2482 .splat => try cg.airSplat(inst),
2494 .select => try cg.airSelect(inst),2483 .select => try cg.airSelect(inst),
2495 .shuffle => try cg.airShuffle(inst),2484 .shuffle => try cg.airShuffle(inst),
2496 .reduce => try cg.airReduce(inst),2485 .reduce => try cg.airReduce(inst),
2486 .reduce_optimized => try cg.airReduce(inst),
2497 .aggregate_init => try cg.airAggregateInit(inst),2487 .aggregate_init => try cg.airAggregateInit(inst),
2498 .prefetch => try cg.airPrefetch(inst),2488 .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),
2514 // zig fmt: on2489 // 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
2524 .arg => if (cg.debug_output != .none) {2491 .arg => if (cg.debug_output != .none) {
2525 // skip zero-bit arguments as they don't have a corresponding arg instruction2492 // skip zero-bit arguments as they don't have a corresponding arg instruction
2526 var arg_index = cg.arg_index;2493 var arg_index = cg.arg_index;
...@@ -2535,24 +2502,96 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2535,24 +2502,96 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2535 if (arg != .none) break;2502 if (arg != .none) break;
2536 } else try cg.airDbgVarArgs();2503 } else try cg.airDbgVarArgs();
2537 },2504 },
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 {
2539 const bin_op = air_datas[@intFromEnum(inst)].bin_op;2506 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);
2541 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });2507 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
2542 var res: [1]Temp = undefined;2508 var res: [1]Temp = undefined;
2543 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{2509 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 },
2545 .src_constraints = .{2584 .src_constraints = .{
2546 .{ .scalar_float = .{ .of = .word, .is = .word } },2585 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
2547 .{ .scalar_float = .{ .of = .word, .is = .word } },2586 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
2548 .any,2587 .any,
2549 },2588 },
2550 .patterns = &.{2589 .patterns = &.{
2551 .{ .src = .{ .to_sse, .to_sse, .none } },2590 .{ .src = .{ .to_mem, .to_mem, .none } },
2552 },2591 },
2553 .extra_temps = .{2592 .extra_temps = .{
2554 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },2593 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2555 .unused,2594 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
2556 .unused,2595 .unused,
2557 .unused,2596 .unused,
2558 .unused,2597 .unused,
...@@ -2561,27 +2600,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2561,27 +2600,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2561 .unused,2600 .unused,
2562 .unused,2601 .unused,
2563 },2602 },
2564 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},2603 .dst_temps = .{ .mem, .unused },
2604 .clobbers = .{ .eflags = true },
2565 .each = .{ .once = &.{2605 .each = .{ .once = &.{
2566 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },2606 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
2567 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },2607 .{ ._, ._c, .cl, ._, ._, ._, ._ },
2568 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0d, ._ },2608 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ },
2569 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },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", ._, ._, ._ },
2570 } },2613 } },
2571 }, .{2614 }, .{
2572 .required_features = .{ .sse, null, null, null },
2573 .src_constraints = .{2615 .src_constraints = .{
2574 .{ .scalar_float = .{ .of = .word, .is = .word } },2616 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
2575 .{ .scalar_float = .{ .of = .word, .is = .word } },2617 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
2576 .any,2618 .any,
2577 },2619 },
2578 .patterns = &.{2620 .patterns = &.{
2579 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },2621 .{ .src = .{ .to_mem, .to_mem, .none } },
2580 },2622 },
2581 .call_frame = .{ .alignment = .@"16" },
2582 .extra_temps = .{2623 .extra_temps = .{
2583 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },2624 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2584 .unused,2625 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2585 .unused,2626 .unused,
2586 .unused,2627 .unused,
2587 .unused,2628 .unused,
...@@ -2590,78 +2631,70 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2590,78 +2631,70 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2590 .unused,2631 .unused,
2591 .unused,2632 .unused,
2592 },2633 },
2593 .dst_temps = .{.{ .ref = .src0 }},2634 .dst_temps = .{ .mem, .unused },
2594 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },2635 .clobbers = .{ .eflags = true },
2595 .each = .{ .once = &.{2636 .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", ._, ._, ._ },
2597 } },2644 } },
2598 }, .{2645 }, .{
2599 .required_features = .{ .f16c, null, null, null },2646 .required_features = .{ .avx, null, null, null },
2600 .src_constraints = .{2647 .src_constraints = .{
2601 .{ .scalar_float = .{ .of = .qword, .is = .word } },2648 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2602 .{ .scalar_float = .{ .of = .qword, .is = .word } },2649 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2603 .any,2650 .any,
2604 },2651 },
2605 .patterns = &.{2652 .patterns = &.{
2606 .{ .src = .{ .mem, .mem, .none } },
2607 .{ .src = .{ .to_sse, .mem, .none } },2653 .{ .src = .{ .to_sse, .mem, .none } },
2608 .{ .src = .{ .mem, .to_sse, .none } },2654 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2609 .{ .src = .{ .to_sse, .to_sse, .none } },2655 .{ .src = .{ .to_sse, .to_sse, .none } },
2610 },2656 },
2611 .extra_temps = .{2657 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
2612 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },2658 .each = .{ .once = &.{
2613 .unused,2659 .{ ._, .vp_b, .add, .dst0x, .src0x, .src1x, ._ },
2614 .unused,2660 } },
2615 .unused,2661 }, .{
2616 .unused,2662 .required_features = .{ .sse2, null, null, null },
2617 .unused,2663 .src_constraints = .{
2618 .unused,2664 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2619 .unused,2665 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2620 .unused,2666 .any,
2621 },2667 },
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 },
2623 .each = .{ .once = &.{2674 .each = .{ .once = &.{
2624 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },2675 .{ ._, .p_b, .add, .dst0x, .src1x, ._, ._ },
2625 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
2626 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
2627 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
2628 } },2676 } },
2629 }, .{2677 }, .{
2630 .required_features = .{ .f16c, null, null, null },2678 .required_features = .{ .avx2, null, null, null },
2631 .src_constraints = .{2679 .src_constraints = .{
2632 .{ .scalar_float = .{ .of = .xword, .is = .word } },2680 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
2633 .{ .scalar_float = .{ .of = .xword, .is = .word } },2681 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
2634 .any,2682 .any,
2635 },2683 },
2636 .patterns = &.{2684 .patterns = &.{
2637 .{ .src = .{ .mem, .mem, .none } },
2638 .{ .src = .{ .to_sse, .mem, .none } },2685 .{ .src = .{ .to_sse, .mem, .none } },
2639 .{ .src = .{ .mem, .to_sse, .none } },2686 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2640 .{ .src = .{ .to_sse, .to_sse, .none } },2687 .{ .src = .{ .to_sse, .to_sse, .none } },
2641 },2688 },
2642 .extra_temps = .{2689 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
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 } }},
2654 .each = .{ .once = &.{2690 .each = .{ .once = &.{
2655 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },2691 .{ ._, .vp_b, .add, .dst0y, .src0y, .src1y, ._ },
2656 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
2657 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },
2658 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
2659 } },2692 } },
2660 }, .{2693 }, .{
2661 .required_features = .{ .f16c, null, null, null },2694 .required_features = .{ .avx2, null, null, null },
2662 .src_constraints = .{2695 .src_constraints = .{
2663 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },2696 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
2664 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },2697 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
2665 .any,2698 .any,
2666 },2699 },
2667 .patterns = &.{2700 .patterns = &.{
...@@ -2669,8 +2702,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2669,8 +2702,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2669 },2702 },
2670 .extra_temps = .{2703 .extra_temps = .{
2671 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2704 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2672 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },2705 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
2673 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },2706 .unused,
2674 .unused,2707 .unused,
2675 .unused,2708 .unused,
2676 .unused,2709 .unused,
...@@ -2678,198 +2711,139 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2678,198 +2711,139 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2678 .unused,2711 .unused,
2679 .unused,2712 .unused,
2680 },2713 },
2681 .dst_temps = .{.mem},2714 .dst_temps = .{ .mem, .unused },
2682 .clobbers = .{ .eflags = true },
2683 .each = .{ .once = &.{2715 .each = .{ .once = &.{
2684 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2716 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2685 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },2717 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
2686 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },2718 .{ ._, .vp_b, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
2687 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .tmp2y, ._ },2719 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2688 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },2720 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
2689 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2690 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },2721 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2691 } },2722 } },
2692 }, .{2723 }, .{
2693 .required_features = .{ .avx, null, null, null },2724 .required_features = .{ .avx, null, null, null },
2694 .src_constraints = .{2725 .src_constraints = .{
2695 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2726 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
2696 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2727 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
2697 .any,2728 .any,
2698 },2729 },
2699 .patterns = &.{2730 .patterns = &.{
2700 .{ .src = .{ .to_mem, .to_mem, .none } },2731 .{ .src = .{ .to_mem, .to_mem, .none } },
2701 },2732 },
2702 .call_frame = .{ .alignment = .@"16" },
2703 .extra_temps = .{2733 .extra_temps = .{
2704 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2734 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2705 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },2735 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
2706 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },2736 .unused,
2707 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },2737 .unused,
2708 .unused,2738 .unused,
2709 .unused,2739 .unused,
2710 .unused,2740 .unused,
2711 .unused,2741 .unused,
2712 .unused,2742 .unused,
2713 },2743 },
2714 .dst_temps = .{.mem},2744 .dst_temps = .{ .mem, .unused },
2715 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2716 .each = .{ .once = &.{2745 .each = .{ .once = &.{
2717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2746 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2718 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },2747 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2719 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },2748 .{ ._, .vp_b, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
2720 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },2749 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2721 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },2750 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2722 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
2723 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2724 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },2751 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2725 } },2752 } },
2726 }, .{2753 }, .{
2727 .required_features = .{ .sse4_1, null, null, null },2754 .required_features = .{ .sse2, null, null, null },
2728 .src_constraints = .{2755 .src_constraints = .{
2729 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2756 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
2730 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2757 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
2731 .any,2758 .any,
2732 },2759 },
2733 .patterns = &.{2760 .patterns = &.{
2734 .{ .src = .{ .to_mem, .to_mem, .none } },2761 .{ .src = .{ .to_mem, .to_mem, .none } },
2735 },2762 },
2736 .call_frame = .{ .alignment = .@"16" },
2737 .extra_temps = .{2763 .extra_temps = .{
2738 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2764 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2739 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },2765 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
2740 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },2766 .unused,
2741 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },2767 .unused,
2742 .unused,2768 .unused,
2743 .unused,2769 .unused,
2744 .unused,2770 .unused,
2745 .unused,2771 .unused,
2746 .unused,2772 .unused,
2747 },2773 },
2748 .dst_temps = .{.mem},2774 .dst_temps = .{ .mem, .unused },
2749 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2750 .each = .{ .once = &.{2775 .each = .{ .once = &.{
2751 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2776 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2752 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },2777 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2753 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },2778 .{ ._, .p_b, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
2754 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },2779 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2755 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },2780 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2756 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
2757 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
2758 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2759 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },2781 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2760 } },2782 } },
2761 }, .{2783 }, .{
2762 .required_features = .{ .sse2, null, null, null },2784 .required_features = .{ .slow_incdec, null, null, null },
2763 .src_constraints = .{2785 .src_constraints = .{
2764 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2786 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
2765 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2787 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
2766 .any,2788 .any,
2767 },2789 },
2768 .patterns = &.{2790 .patterns = &.{
2769 .{ .src = .{ .to_mem, .to_mem, .none } },2791 .{ .src = .{ .to_mem, .to_mem, .none } },
2770 },2792 },
2771 .call_frame = .{ .alignment = .@"16" },
2772 .extra_temps = .{2793 .extra_temps = .{
2773 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2794 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2774 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },2795 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2775 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },2796 .unused,
2776 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },2797 .unused,
2777 .{ .type = .f16, .kind = .{ .reg = .ax } },2798 .unused,
2778 .unused,2799 .unused,
2779 .unused,2800 .unused,
2780 .unused,2801 .unused,
2781 .unused,2802 .unused,
2782 },2803 },
2783 .dst_temps = .{.mem},2804 .dst_temps = .{ .mem, .unused },
2784 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2785 .each = .{ .once = &.{2805 .each = .{ .once = &.{
2786 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2806 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2787 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },2807 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
2788 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },2808 .{ ._, ._, .add, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
2789 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },2809 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
2790 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },2810 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
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), ._, ._ },
2795 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },2811 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2796 } },2812 } },
2797 }, .{2813 }, .{
2798 .required_features = .{ .sse, null, null, null },
2799 .src_constraints = .{2814 .src_constraints = .{
2800 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2815 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
2801 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },2816 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
2802 .any,2817 .any,
2803 },2818 },
2804 .patterns = &.{2819 .patterns = &.{
2805 .{ .src = .{ .to_mem, .to_mem, .none } },2820 .{ .src = .{ .to_mem, .to_mem, .none } },
2806 },2821 },
2807 .call_frame = .{ .alignment = .@"16" },
2808 .extra_temps = .{2822 .extra_temps = .{
2809 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2823 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2810 .{ .type = .f16, .kind = .{ .reg = .ax } },2824 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2811 .{ .type = .f32, .kind = .mem },2825 .unused,
2812 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },2826 .unused,
2813 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },2827 .unused,
2814 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },2828 .unused,
2815 .unused,2829 .unused,
2816 .unused,2830 .unused,
2817 .unused,2831 .unused,
2818 },2832 },
2819 .dst_temps = .{.mem},2833 .dst_temps = .{ .mem, .unused },
2820 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2821 .each = .{ .once = &.{2834 .each = .{ .once = &.{
2822 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2835 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2823 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },2836 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
2824 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },2837 .{ ._, ._, .add, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
2825 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },2838 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
2826 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },2839 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
2827 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },2840 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
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, ._, ._ },
2867 } },2841 } },
2868 }, .{2842 }, .{
2869 .required_features = .{ .avx, null, null, null },2843 .required_features = .{ .avx, null, null, null },
2870 .src_constraints = .{2844 .src_constraints = .{
2871 .{ .scalar_float = .{ .of = .xword, .is = .dword } },2845 .{ .scalar_int = .{ .of = .xword, .is = .word } },
2872 .{ .scalar_float = .{ .of = .xword, .is = .dword } },2846 .{ .scalar_int = .{ .of = .xword, .is = .word } },
2873 .any,2847 .any,
2874 },2848 },
2875 .patterns = &.{2849 .patterns = &.{
...@@ -2877,15 +2851,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2877,15 +2851,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2877 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },2851 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2878 .{ .src = .{ .to_sse, .to_sse, .none } },2852 .{ .src = .{ .to_sse, .to_sse, .none } },
2879 },2853 },
2880 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},2854 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
2881 .each = .{ .once = &.{2855 .each = .{ .once = &.{
2882 .{ ._, .v_ps, .add, .dst0x, .src0x, .src1x, ._ },2856 .{ ._, .vp_w, .add, .dst0x, .src0x, .src1x, ._ },
2883 } },2857 } },
2884 }, .{2858 }, .{
2885 .required_features = .{ .sse, null, null, null },2859 .required_features = .{ .sse2, null, null, null },
2886 .src_constraints = .{2860 .src_constraints = .{
2887 .{ .scalar_float = .{ .of = .xword, .is = .dword } },2861 .{ .scalar_int = .{ .of = .xword, .is = .word } },
2888 .{ .scalar_float = .{ .of = .xword, .is = .dword } },2862 .{ .scalar_int = .{ .of = .xword, .is = .word } },
2889 .any,2863 .any,
2890 },2864 },
2891 .patterns = &.{2865 .patterns = &.{
...@@ -2893,15 +2867,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2893,15 +2867,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2893 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },2867 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2894 .{ .src = .{ .to_mut_sse, .to_sse, .none } },2868 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2895 },2869 },
2896 .dst_temps = .{.{ .ref = .src0 }},2870 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2897 .each = .{ .once = &.{2871 .each = .{ .once = &.{
2898 .{ ._, ._ps, .add, .dst0x, .src1x, ._, ._ },2872 .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ },
2899 } },2873 } },
2900 }, .{2874 }, .{
2901 .required_features = .{ .avx, null, null, null },2875 .required_features = .{ .avx2, null, null, null },
2902 .src_constraints = .{2876 .src_constraints = .{
2903 .{ .scalar_float = .{ .of = .yword, .is = .dword } },2877 .{ .scalar_int = .{ .of = .yword, .is = .word } },
2904 .{ .scalar_float = .{ .of = .yword, .is = .dword } },2878 .{ .scalar_int = .{ .of = .yword, .is = .word } },
2905 .any,2879 .any,
2906 },2880 },
2907 .patterns = &.{2881 .patterns = &.{
...@@ -2909,15 +2883,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2909,15 +2883,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2909 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },2883 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2910 .{ .src = .{ .to_sse, .to_sse, .none } },2884 .{ .src = .{ .to_sse, .to_sse, .none } },
2911 },2885 },
2912 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},2886 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
2913 .each = .{ .once = &.{2887 .each = .{ .once = &.{
2914 .{ ._, .v_ps, .add, .dst0y, .src0y, .src1y, ._ },2888 .{ ._, .vp_w, .add, .dst0y, .src0y, .src1y, ._ },
2915 } },2889 } },
2916 }, .{2890 }, .{
2917 .required_features = .{ .avx, null, null, null },2891 .required_features = .{ .avx2, null, null, null },
2918 .src_constraints = .{2892 .src_constraints = .{
2919 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },2893 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
2920 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },2894 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
2921 .any,2895 .any,
2922 },2896 },
2923 .patterns = &.{2897 .patterns = &.{
...@@ -2925,7 +2899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2925,7 +2899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2925 },2899 },
2926 .extra_temps = .{2900 .extra_temps = .{
2927 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2901 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2928 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },2902 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
2929 .unused,2903 .unused,
2930 .unused,2904 .unused,
2931 .unused,2905 .unused,
...@@ -2934,21 +2908,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2934,21 +2908,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2934 .unused,2908 .unused,
2935 .unused,2909 .unused,
2936 },2910 },
2937 .dst_temps = .{.mem},2911 .dst_temps = .{ .mem, .unused },
2938 .clobbers = .{ .eflags = true },
2939 .each = .{ .once = &.{2912 .each = .{ .once = &.{
2940 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2913 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2941 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },2914 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
2942 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },2915 .{ ._, .vp_w, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
2943 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },2916 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2944 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },2917 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
2945 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },2918 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2946 } },2919 } },
2947 }, .{2920 }, .{
2948 .required_features = .{ .sse, null, null, null },2921 .required_features = .{ .avx, null, null, null },
2949 .src_constraints = .{2922 .src_constraints = .{
2950 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },2923 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
2951 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },2924 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
2952 .any,2925 .any,
2953 },2926 },
2954 .patterns = &.{2927 .patterns = &.{
...@@ -2956,7 +2929,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2956,7 +2929,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2956 },2929 },
2957 .extra_temps = .{2930 .extra_temps = .{
2958 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },2931 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2959 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },2932 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
2960 .unused,2933 .unused,
2961 .unused,2934 .unused,
2962 .unused,2935 .unused,
...@@ -2965,61 +2938,57 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2965,61 +2938,57 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2965 .unused,2938 .unused,
2966 .unused,2939 .unused,
2967 },2940 },
2968 .dst_temps = .{.mem},2941 .dst_temps = .{ .mem, .unused },
2969 .clobbers = .{ .eflags = true },
2970 .each = .{ .once = &.{2942 .each = .{ .once = &.{
2971 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },2943 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2972 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },2944 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2973 .{ ._, ._ps, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },2945 .{ ._, .vp_w, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
2974 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },2946 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2975 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },2947 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2976 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },2948 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2977 } },2949 } },
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 } },
2994 }, .{2950 }, .{
2995 .required_features = .{ .sse2, null, null, null },2951 .required_features = .{ .sse2, null, null, null },
2996 .src_constraints = .{2952 .src_constraints = .{
2997 .{ .scalar_float = .{ .of = .qword, .is = .qword } },2953 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
2998 .{ .scalar_float = .{ .of = .qword, .is = .qword } },2954 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
2999 .any,2955 .any,
3000 },2956 },
3001 .patterns = &.{2957 .patterns = &.{
3002 .{ .src = .{ .to_mut_sse, .mem, .none } },2958 .{ .src = .{ .to_mem, .to_mem, .none } },
3003 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },2959 },
3004 .{ .src = .{ .to_mut_sse, .to_sse, .none } },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,
3005 },2970 },
3006 .dst_temps = .{.{ .ref = .src0 }},2971 .dst_temps = .{ .mem, .unused },
3007 .each = .{ .once = &.{2972 .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", ._, ._, ._ },
3009 } },2979 } },
3010 }, .{2980 }, .{
3011 .required_features = .{ .x87, null, null, null },
3012 .src_constraints = .{2981 .src_constraints = .{
3013 .{ .scalar_float = .{ .of = .qword, .is = .qword } },2982 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
3014 .{ .scalar_float = .{ .of = .qword, .is = .qword } },2983 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
3015 .any,2984 .any,
3016 },2985 },
3017 .patterns = &.{2986 .patterns = &.{
3018 .{ .src = .{ .to_mem, .to_mem, .none } },2987 .{ .src = .{ .to_mem, .to_mem, .none } },
3019 },2988 },
3020 .extra_temps = .{2989 .extra_temps = .{
3021 .{ .type = .f64, .kind = .{ .reg = .st6 } },2990 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3022 .{ .type = .f64, .kind = .{ .reg = .st7 } },2991 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
3023 .unused,2992 .unused,
3024 .unused,2993 .unused,
3025 .unused,2994 .unused,
...@@ -3028,17 +2997,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3028,17 +2997,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3028 .unused,2997 .unused,
3029 .unused,2998 .unused,
3030 },2999 },
3031 .dst_temps = .{.mem},3000 .dst_temps = .{ .mem, .unused },
3032 .each = .{ .once = &.{3001 .each = .{ .once = &.{
3033 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },3002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3034 .{ ._, .f_, .add, .src1q, ._, ._, ._ },3003 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
3035 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },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", ._, ._, ._ },
3036 } },3008 } },
3037 }, .{3009 }, .{
3038 .required_features = .{ .avx, null, null, null },3010 .required_features = .{ .avx, null, null, null },
3039 .src_constraints = .{3011 .src_constraints = .{
3040 .{ .scalar_float = .{ .of = .xword, .is = .qword } },3012 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
3041 .{ .scalar_float = .{ .of = .xword, .is = .qword } },3013 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
3042 .any,3014 .any,
3043 },3015 },
3044 .patterns = &.{3016 .patterns = &.{
...@@ -3046,15 +3018,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3046,15 +3018,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3046 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },3018 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3047 .{ .src = .{ .to_sse, .to_sse, .none } },3019 .{ .src = .{ .to_sse, .to_sse, .none } },
3048 },3020 },
3049 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3021 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3050 .each = .{ .once = &.{3022 .each = .{ .once = &.{
3051 .{ ._, .v_pd, .add, .dst0x, .src0x, .src1x, ._ },3023 .{ ._, .vp_d, .add, .dst0x, .src0x, .src1x, ._ },
3052 } },3024 } },
3053 }, .{3025 }, .{
3054 .required_features = .{ .sse2, null, null, null },3026 .required_features = .{ .sse2, null, null, null },
3055 .src_constraints = .{3027 .src_constraints = .{
3056 .{ .scalar_float = .{ .of = .xword, .is = .qword } },3028 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
3057 .{ .scalar_float = .{ .of = .xword, .is = .qword } },3029 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
3058 .any,3030 .any,
3059 },3031 },
3060 .patterns = &.{3032 .patterns = &.{
...@@ -3062,15 +3034,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3062,15 +3034,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3062 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },3034 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3063 .{ .src = .{ .to_mut_sse, .to_sse, .none } },3035 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
3064 },3036 },
3065 .dst_temps = .{.{ .ref = .src0 }},3037 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3066 .each = .{ .once = &.{3038 .each = .{ .once = &.{
3067 .{ ._, ._pd, .add, .dst0x, .src1x, ._, ._ },3039 .{ ._, .p_d, .add, .dst0x, .src1x, ._, ._ },
3068 } },3040 } },
3069 }, .{3041 }, .{
3070 .required_features = .{ .avx, null, null, null },3042 .required_features = .{ .avx2, null, null, null },
3071 .src_constraints = .{3043 .src_constraints = .{
3072 .{ .scalar_float = .{ .of = .yword, .is = .qword } },3044 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
3073 .{ .scalar_float = .{ .of = .yword, .is = .qword } },3045 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
3074 .any,3046 .any,
3075 },3047 },
3076 .patterns = &.{3048 .patterns = &.{
...@@ -3078,15 +3050,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3078,15 +3050,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3078 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },3050 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3079 .{ .src = .{ .to_sse, .to_sse, .none } },3051 .{ .src = .{ .to_sse, .to_sse, .none } },
3080 },3052 },
3081 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3053 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3082 .each = .{ .once = &.{3054 .each = .{ .once = &.{
3083 .{ ._, .v_pd, .add, .dst0y, .src0y, .src1y, ._ },3055 .{ ._, .vp_d, .add, .dst0y, .src0y, .src1y, ._ },
3084 } },3056 } },
3085 }, .{3057 }, .{
3086 .required_features = .{ .avx, null, null, null },3058 .required_features = .{ .avx2, null, null, null },
3087 .src_constraints = .{3059 .src_constraints = .{
3088 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },3060 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
3089 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },3061 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
3090 .any,3062 .any,
3091 },3063 },
3092 .patterns = &.{3064 .patterns = &.{
...@@ -3094,7 +3066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3094,7 +3066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3094 },3066 },
3095 .extra_temps = .{3067 .extra_temps = .{
3096 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3068 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3097 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },3069 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
3098 .unused,3070 .unused,
3099 .unused,3071 .unused,
3100 .unused,3072 .unused,
...@@ -3103,21 +3075,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3103,21 +3075,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3103 .unused,3075 .unused,
3104 .unused,3076 .unused,
3105 },3077 },
3106 .dst_temps = .{.mem},3078 .dst_temps = .{ .mem, .unused },
3107 .clobbers = .{ .eflags = true },
3108 .each = .{ .once = &.{3079 .each = .{ .once = &.{
3109 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3080 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3110 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },3081 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3111 .{ ._, .v_pd, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },3082 .{ ._, .vp_d, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3112 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },3083 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
3113 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },3084 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
3114 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3085 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3115 } },3086 } },
3116 }, .{3087 }, .{
3117 .required_features = .{ .sse2, null, null, null },3088 .required_features = .{ .avx, null, null, null },
3118 .src_constraints = .{3089 .src_constraints = .{
3119 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },3090 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
3120 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },3091 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
3121 .any,3092 .any,
3122 },3093 },
3123 .patterns = &.{3094 .patterns = &.{
...@@ -3125,7 +3096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3125,7 +3096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3125 },3096 },
3126 .extra_temps = .{3097 .extra_temps = .{
3127 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3098 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3128 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },3099 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
3129 .unused,3100 .unused,
3130 .unused,3101 .unused,
3131 .unused,3102 .unused,
...@@ -3134,21 +3105,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3134,21 +3105,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3134 .unused,3105 .unused,
3135 .unused,3106 .unused,
3136 },3107 },
3137 .dst_temps = .{.mem},3108 .dst_temps = .{ .mem, .unused },
3138 .clobbers = .{ .eflags = true },
3139 .each = .{ .once = &.{3109 .each = .{ .once = &.{
3140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3141 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },3111 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3142 .{ ._, ._pd, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },3112 .{ ._, .vp_d, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
3143 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },3113 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },3114 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3115 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3146 } },3116 } },
3147 }, .{3117 }, .{
3148 .required_features = .{ .x87, null, null, null },3118 .required_features = .{ .sse2, null, null, null },
3149 .src_constraints = .{3119 .src_constraints = .{
3150 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },3120 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
3151 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },3121 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
3152 .any,3122 .any,
3153 },3123 },
3154 .patterns = &.{3124 .patterns = &.{
...@@ -3156,8 +3126,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3156,8 +3126,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3156 },3126 },
3157 .extra_temps = .{3127 .extra_temps = .{
3158 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3128 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3159 .{ .type = .f64, .kind = .{ .reg = .st6 } },3129 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
3160 .{ .type = .f64, .kind = .{ .reg = .st7 } },3130 .unused,
3161 .unused,3131 .unused,
3162 .unused,3132 .unused,
3163 .unused,3133 .unused,
...@@ -3165,28 +3135,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3165,28 +3135,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3165 .unused,3135 .unused,
3166 .unused,3136 .unused,
3167 },3137 },
3168 .dst_temps = .{.mem},3138 .dst_temps = .{ .mem, .unused },
3169 .each = .{ .once = &.{3139 .each = .{ .once = &.{
3170 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3171 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },3141 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3172 .{ ._, .f_, .add, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },3142 .{ ._, .p_d, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3173 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },3143 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3174 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },3144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3175 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3176 } },3146 } },
3177 }, .{3147 }, .{
3178 .required_features = .{ .x87, null, null, null },
3179 .src_constraints = .{3148 .src_constraints = .{
3180 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },3149 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
3181 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },3150 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
3182 .any,3151 .any,
3183 },3152 },
3184 .patterns = &.{3153 .patterns = &.{
3185 .{ .src = .{ .mem, .mem, .none } },3154 .{ .src = .{ .to_mem, .to_mem, .none } },
3186 },3155 },
3187 .extra_temps = .{3156 .extra_temps = .{
3188 .{ .type = .f80, .kind = .{ .reg = .st6 } },3157 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3189 .{ .type = .f80, .kind = .{ .reg = .st7 } },3158 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
3190 .unused,3159 .unused,
3191 .unused,3160 .unused,
3192 .unused,3161 .unused,
...@@ -3195,47 +3164,68 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3195,47 +3164,68 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3195 .unused,3164 .unused,
3196 .unused,3165 .unused,
3197 },3166 },
3198 .dst_temps = .{.{ .rc = .x87 }},3167 .dst_temps = .{ .mem, .unused },
3199 .each = .{ .once = &.{3168 .each = .{ .once = &.{
3200 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },3169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3201 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },3170 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
3202 .{ ._, .f_p, .add, ._, ._, ._, ._ },3171 .{ ._, ._, .add, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
3203 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },3172 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
3173 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
3174 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3204 } },3175 } },
3205 }, .{3176 }, .{
3206 .required_features = .{ .x87, null, null, null },3177 .required_features = .{ .avx, null, null, null },
3207 .src_constraints = .{3178 .src_constraints = .{
3208 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },3179 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3209 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },3180 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3210 .any,3181 .any,
3211 },3182 },
3212 .patterns = &.{3183 .patterns = &.{
3213 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },3184 .{ .src = .{ .to_sse, .mem, .none } },
3214 .{ .src = .{ .mem, .to_x87, .none } },3185 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3215 .{ .src = .{ .to_x87, .to_x87, .none } },3186 .{ .src = .{ .to_sse, .to_sse, .none } },
3216 },3187 },
3217 .extra_temps = .{3188 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3218 .{ .type = .f80, .kind = .{ .reg = .st7 } },3189 .each = .{ .once = &.{
3219 .unused,3190 .{ ._, .vp_q, .add, .dst0x, .src0x, .src1x, ._ },
3220 .unused,3191 } },
3221 .unused,3192 }, .{
3222 .unused,3193 .required_features = .{ .sse2, null, null, null },
3223 .unused,3194 .src_constraints = .{
3224 .unused,3195 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3225 .unused,3196 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3226 .unused,3197 .any,
3227 },3198 },
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 },
3229 .each = .{ .once = &.{3205 .each = .{ .once = &.{
3230 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },3206 .{ ._, .p_q, .add, .dst0x, .src1x, ._, ._ },
3231 .{ ._, .f_, .add, .tmp0t, .src1t, ._, ._ },
3232 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
3233 } },3207 } },
3234 }, .{3208 }, .{
3235 .required_features = .{ .x87, null, null, null },3209 .required_features = .{ .avx2, null, null, null },
3236 .src_constraints = .{3210 .src_constraints = .{
3237 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },3211 .{ .scalar_int = .{ .of = .yword, .is = .qword } },
3238 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },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 } },
3239 .any,3229 .any,
3240 },3230 },
3241 .patterns = &.{3231 .patterns = &.{
...@@ -3243,8 +3233,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3243,8 +3233,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3243 },3233 },
3244 .extra_temps = .{3234 .extra_temps = .{
3245 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3235 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3246 .{ .type = .f80, .kind = .{ .reg = .st6 } },3236 .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } },
3247 .{ .type = .f80, .kind = .{ .reg = .st7 } },3237 .unused,
3248 .unused,3238 .unused,
3249 .unused,3239 .unused,
3250 .unused,3240 .unused,
...@@ -3252,30 +3242,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3252,30 +3242,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3252 .unused,3242 .unused,
3253 .unused,3243 .unused,
3254 },3244 },
3255 .dst_temps = .{.mem},3245 .dst_temps = .{ .mem, .unused },
3256 .each = .{ .once = &.{3246 .each = .{ .once = &.{
3257 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3247 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3258 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },3248 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3259 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },3249 .{ ._, .vp_q, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3260 .{ ._, .f_p, .add, ._, ._, ._, ._ },3250 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
3261 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },3251 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
3262 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3263 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3252 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3264 } },3253 } },
3265 }, .{3254 }, .{
3266 .required_features = .{ .sse, null, null, null },3255 .required_features = .{ .avx, null, null, null },
3267 .src_constraints = .{3256 .src_constraints = .{
3268 .{ .scalar_float = .{ .of = .xword, .is = .xword } },3257 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
3269 .{ .scalar_float = .{ .of = .xword, .is = .xword } },3258 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
3270 .any,3259 .any,
3271 },3260 },
3272 .patterns = &.{3261 .patterns = &.{
3273 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },3262 .{ .src = .{ .to_mem, .to_mem, .none } },
3274 },3263 },
3275 .call_frame = .{ .alignment = .@"16" },
3276 .extra_temps = .{3264 .extra_temps = .{
3277 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },3265 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3278 .unused,3266 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
3279 .unused,3267 .unused,
3280 .unused,3268 .unused,
3281 .unused,3269 .unused,
...@@ -3284,127 +3272,149 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3284,127 +3272,149 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3284 .unused,3272 .unused,
3285 .unused,3273 .unused,
3286 },3274 },
3287 .dst_temps = .{.{ .ref = .src0 }},3275 .dst_temps = .{ .mem, .unused },
3288 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3289 .each = .{ .once = &.{3276 .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", ._, ._, ._ },
3291 } },3283 } },
3292 }, .{3284 }, .{
3293 .required_features = .{ .avx, null, null, null },3285 .required_features = .{ .sse2, null, null, null },
3294 .src_constraints = .{3286 .src_constraints = .{
3295 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },3287 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
3296 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },3288 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
3297 .any,3289 .any,
3298 },3290 },
3299 .patterns = &.{3291 .patterns = &.{
3300 .{ .src = .{ .to_mem, .to_mem, .none } },3292 .{ .src = .{ .to_mem, .to_mem, .none } },
3301 },3293 },
3302 .call_frame = .{ .alignment = .@"16" },
3303 .extra_temps = .{3294 .extra_temps = .{
3304 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3295 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3305 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },3296 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
3306 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },3297 .unused,
3307 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },3298 .unused,
3308 .unused,3299 .unused,
3309 .unused,3300 .unused,
3310 .unused,3301 .unused,
3311 .unused,3302 .unused,
3312 .unused,3303 .unused,
3313 },3304 },
3314 .dst_temps = .{.mem},3305 .dst_temps = .{ .mem, .unused },
3315 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3316 .each = .{ .once = &.{3306 .each = .{ .once = &.{
3317 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3307 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3318 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },3308 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3319 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },3309 .{ ._, .p_q, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3320 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },3310 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3321 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3322 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },3311 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3323 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3312 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3324 } },3313 } },
3325 }, .{3314 }, .{
3326 .required_features = .{ .sse2, null, null, null },3315 .required_features = .{ .@"64bit", null, null, null },
3327 .src_constraints = .{3316 .src_constraints = .{
3328 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },3317 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
3329 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },3318 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
3330 .any,3319 .any,
3331 },3320 },
3332 .patterns = &.{3321 .patterns = &.{
3333 .{ .src = .{ .to_mem, .to_mem, .none } },3322 .{ .src = .{ .to_mem, .to_mem, .none } },
3334 },3323 },
3335 .call_frame = .{ .alignment = .@"16" },
3336 .extra_temps = .{3324 .extra_temps = .{
3337 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3325 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3338 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },3326 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
3339 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },3327 .unused,
3340 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },3328 .unused,
3341 .unused,3329 .unused,
3342 .unused,3330 .unused,
3343 .unused,3331 .unused,
3344 .unused,3332 .unused,
3345 .unused,3333 .unused,
3346 },3334 },
3347 .dst_temps = .{.mem},3335 .dst_temps = .{ .mem, .unused },
3348 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3349 .each = .{ .once = &.{3336 .each = .{ .once = &.{
3350 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3337 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3351 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },3338 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
3352 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },3339 .{ ._, ._, .add, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
3353 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },3340 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
3354 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },3341 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
3355 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3356 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3342 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3357 } },3343 } },
3358 }, .{3344 }, .{
3359 .required_features = .{ .sse, null, null, null },3345 .required_features = .{ .@"64bit", null, null, null },
3360 .src_constraints = .{3346 .src_constraints = .{
3361 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },3347 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
3362 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },3348 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
3363 .any,3349 .any,
3364 },3350 },
3365 .patterns = &.{3351 .patterns = &.{
3366 .{ .src = .{ .to_mem, .to_mem, .none } },3352 .{ .src = .{ .to_mem, .to_mem, .none } },
3367 },3353 },
3368 .call_frame = .{ .alignment = .@"16" },
3369 .extra_temps = .{3354 .extra_temps = .{
3370 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3355 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3371 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },3356 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3372 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },3357 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3373 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },3358 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3359 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3360 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
3361 .unused,
3374 .unused,3362 .unused,
3375 .unused,3363 .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 } },
3376 .unused,3397 .unused,
3377 .unused,3398 .unused,
3378 .unused,3399 .unused,
3379 },3400 },
3380 .dst_temps = .{.mem},3401 .dst_temps = .{ .mem, .unused },
3381 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3382 .each = .{ .once = &.{3402 .each = .{ .once = &.{
3383 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3403 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
3384 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },3404 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
3385 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },3405 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
3386 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },3406 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
3387 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },3407 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_4), ._, ._ },
3388 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },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), ._, ._ },
3389 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3415 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3390 } },3416 } },
3391 } }) catch |err| switch (err) {3417 }, .{
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 &.{ .{
3408 .required_features = .{ .f16c, null, null, null },3418 .required_features = .{ .f16c, null, null, null },
3409 .src_constraints = .{3419 .src_constraints = .{
3410 .{ .scalar_float = .{ .of = .word, .is = .word } },3420 .{ .scalar_float = .{ .of = .word, .is = .word } },
...@@ -3425,11 +3435,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3425,11 +3435,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3425 .unused,3435 .unused,
3426 .unused,3436 .unused,
3427 },3437 },
3428 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3438 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3429 .each = .{ .once = &.{3439 .each = .{ .once = &.{
3430 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },3440 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3431 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },3441 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
3432 .{ ._, .v_ss, .sub, .dst0x, .dst0x, .tmp0d, ._ },3442 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0d, ._ },
3433 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },3443 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
3434 } },3444 } },
3435 }, .{3445 }, .{
...@@ -3444,7 +3454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3444,7 +3454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3444 },3454 },
3445 .call_frame = .{ .alignment = .@"16" },3455 .call_frame = .{ .alignment = .@"16" },
3446 .extra_temps = .{3456 .extra_temps = .{
3447 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },3457 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
3448 .unused,3458 .unused,
3449 .unused,3459 .unused,
3450 .unused,3460 .unused,
...@@ -3454,7 +3464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3454,7 +3464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3454 .unused,3464 .unused,
3455 .unused,3465 .unused,
3456 },3466 },
3457 .dst_temps = .{.{ .ref = .src0 }},3467 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3458 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },3468 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3459 .each = .{ .once = &.{3469 .each = .{ .once = &.{
3460 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },3470 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -3483,11 +3493,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3483,11 +3493,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3483 .unused,3493 .unused,
3484 .unused,3494 .unused,
3485 },3495 },
3486 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3496 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3487 .each = .{ .once = &.{3497 .each = .{ .once = &.{
3488 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },3498 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3489 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },3499 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
3490 .{ ._, .v_ps, .sub, .dst0x, .dst0x, .tmp0x, ._ },3500 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
3491 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },3501 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
3492 } },3502 } },
3493 }, .{3503 }, .{
...@@ -3514,11 +3524,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3514,11 +3524,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3514 .unused,3524 .unused,
3515 .unused,3525 .unused,
3516 },3526 },
3517 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3527 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3518 .each = .{ .once = &.{3528 .each = .{ .once = &.{
3519 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },3529 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
3520 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },3530 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
3521 .{ ._, .v_ps, .sub, .dst0y, .dst0y, .tmp0y, ._ },3531 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },
3522 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },3532 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
3523 } },3533 } },
3524 }, .{3534 }, .{
...@@ -3542,13 +3552,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3542,13 +3552,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3542 .unused,3552 .unused,
3543 .unused,3553 .unused,
3544 },3554 },
3545 .dst_temps = .{.mem},3555 .dst_temps = .{ .mem, .unused },
3546 .clobbers = .{ .eflags = true },3556 .clobbers = .{ .eflags = true },
3547 .each = .{ .once = &.{3557 .each = .{ .once = &.{
3548 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3558 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3549 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },3559 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3550 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },3560 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3551 .{ ._, .v_ps, .sub, .tmp1y, .tmp1y, .tmp2y, ._ },3561 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .tmp2y, ._ },
3552 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },3562 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
3553 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },3563 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3554 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3564 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -3568,14 +3578,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3568,14 +3578,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3568 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3578 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3569 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },3579 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
3570 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },3580 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3571 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },3581 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
3572 .unused,3582 .unused,
3573 .unused,3583 .unused,
3574 .unused,3584 .unused,
3575 .unused,3585 .unused,
3576 .unused,3586 .unused,
3577 },3587 },
3578 .dst_temps = .{.mem},3588 .dst_temps = .{ .mem, .unused },
3579 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },3589 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3580 .each = .{ .once = &.{3590 .each = .{ .once = &.{
3581 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3591 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -3602,14 +3612,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3602,14 +3612,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3602 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3612 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3603 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },3613 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
3604 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },3614 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3605 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },3615 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
3606 .unused,3616 .unused,
3607 .unused,3617 .unused,
3608 .unused,3618 .unused,
3609 .unused,3619 .unused,
3610 .unused,3620 .unused,
3611 },3621 },
3612 .dst_temps = .{.mem},3622 .dst_temps = .{ .mem, .unused },
3613 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },3623 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3614 .each = .{ .once = &.{3624 .each = .{ .once = &.{
3615 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -3637,14 +3647,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3637,14 +3647,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3637 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },3647 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3638 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },3648 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
3639 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },3649 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3640 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },3650 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
3641 .{ .type = .f16, .kind = .{ .reg = .ax } },3651 .{ .type = .f16, .kind = .{ .reg = .ax } },
3642 .unused,3652 .unused,
3643 .unused,3653 .unused,
3644 .unused,3654 .unused,
3645 .unused,3655 .unused,
3646 },3656 },
3647 .dst_temps = .{.mem},3657 .dst_temps = .{ .mem, .unused },
3648 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },3658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3649 .each = .{ .once = &.{3659 .each = .{ .once = &.{
3650 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -3675,12 +3685,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3675,12 +3685,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3675 .{ .type = .f32, .kind = .mem },3685 .{ .type = .f32, .kind = .mem },
3676 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },3686 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
3677 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },3687 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3678 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },3688 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
3679 .unused,3689 .unused,
3680 .unused,3690 .unused,
3681 .unused,3691 .unused,
3682 },3692 },
3683 .dst_temps = .{.mem},3693 .dst_temps = .{ .mem, .unused },
3684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },3694 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3685 .each = .{ .once = &.{3695 .each = .{ .once = &.{
3686 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -3706,11 +3716,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3706,11 +3716,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3706 },3716 },
3707 .patterns = &.{3717 .patterns = &.{
3708 .{ .src = .{ .to_sse, .mem, .none } },3718 .{ .src = .{ .to_sse, .mem, .none } },
3719 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3709 .{ .src = .{ .to_sse, .to_sse, .none } },3720 .{ .src = .{ .to_sse, .to_sse, .none } },
3710 },3721 },
3711 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3722 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3712 .each = .{ .once = &.{3723 .each = .{ .once = &.{
3713 .{ ._, .v_ss, .sub, .dst0x, .src0x, .src1d, ._ },3724 .{ ._, .v_ss, .add, .dst0x, .src0x, .src1d, ._ },
3714 } },3725 } },
3715 }, .{3726 }, .{
3716 .required_features = .{ .sse, null, null, null },3727 .required_features = .{ .sse, null, null, null },
...@@ -3721,11 +3732,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3721,11 +3732,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3721 },3732 },
3722 .patterns = &.{3733 .patterns = &.{
3723 .{ .src = .{ .to_mut_sse, .mem, .none } },3734 .{ .src = .{ .to_mut_sse, .mem, .none } },
3735 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3724 .{ .src = .{ .to_mut_sse, .to_sse, .none } },3736 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
3725 },3737 },
3726 .dst_temps = .{.{ .ref = .src0 }},3738 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3727 .each = .{ .once = &.{3739 .each = .{ .once = &.{
3728 .{ ._, ._ss, .sub, .dst0x, .src1d, ._, ._ },3740 .{ ._, ._ss, .add, .dst0x, .src1d, ._, ._ },
3729 } },3741 } },
3730 }, .{3742 }, .{
3731 .required_features = .{ .avx, null, null, null },3743 .required_features = .{ .avx, null, null, null },
...@@ -3736,11 +3748,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3736,11 +3748,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3736 },3748 },
3737 .patterns = &.{3749 .patterns = &.{
3738 .{ .src = .{ .to_sse, .mem, .none } },3750 .{ .src = .{ .to_sse, .mem, .none } },
3751 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3739 .{ .src = .{ .to_sse, .to_sse, .none } },3752 .{ .src = .{ .to_sse, .to_sse, .none } },
3740 },3753 },
3741 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3754 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3742 .each = .{ .once = &.{3755 .each = .{ .once = &.{
3743 .{ ._, .v_ps, .sub, .dst0x, .src0x, .src1x, ._ },3756 .{ ._, .v_ps, .add, .dst0x, .src0x, .src1x, ._ },
3744 } },3757 } },
3745 }, .{3758 }, .{
3746 .required_features = .{ .sse, null, null, null },3759 .required_features = .{ .sse, null, null, null },
...@@ -3751,11 +3764,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3751,11 +3764,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3751 },3764 },
3752 .patterns = &.{3765 .patterns = &.{
3753 .{ .src = .{ .to_mut_sse, .mem, .none } },3766 .{ .src = .{ .to_mut_sse, .mem, .none } },
3767 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3754 .{ .src = .{ .to_mut_sse, .to_sse, .none } },3768 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
3755 },3769 },
3756 .dst_temps = .{.{ .ref = .src0 }},3770 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3757 .each = .{ .once = &.{3771 .each = .{ .once = &.{
3758 .{ ._, ._ps, .sub, .dst0x, .src1x, ._, ._ },3772 .{ ._, ._ps, .add, .dst0x, .src1x, ._, ._ },
3759 } },3773 } },
3760 }, .{3774 }, .{
3761 .required_features = .{ .avx, null, null, null },3775 .required_features = .{ .avx, null, null, null },
...@@ -3766,11 +3780,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3766,11 +3780,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3766 },3780 },
3767 .patterns = &.{3781 .patterns = &.{
3768 .{ .src = .{ .to_sse, .mem, .none } },3782 .{ .src = .{ .to_sse, .mem, .none } },
3783 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3769 .{ .src = .{ .to_sse, .to_sse, .none } },3784 .{ .src = .{ .to_sse, .to_sse, .none } },
3770 },3785 },
3771 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3786 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3772 .each = .{ .once = &.{3787 .each = .{ .once = &.{
3773 .{ ._, .v_ps, .sub, .dst0y, .src0y, .src1y, ._ },3788 .{ ._, .v_ps, .add, .dst0y, .src0y, .src1y, ._ },
3774 } },3789 } },
3775 }, .{3790 }, .{
3776 .required_features = .{ .avx, null, null, null },3791 .required_features = .{ .avx, null, null, null },
...@@ -3793,12 +3808,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3793,12 +3808,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3793 .unused,3808 .unused,
3794 .unused,3809 .unused,
3795 },3810 },
3796 .dst_temps = .{.mem},3811 .dst_temps = .{ .mem, .unused },
3797 .clobbers = .{ .eflags = true },3812 .clobbers = .{ .eflags = true },
3798 .each = .{ .once = &.{3813 .each = .{ .once = &.{
3799 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3814 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3800 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },3815 .{ .@"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), ._ },
3802 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },3817 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
3803 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },3818 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
3804 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3819 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -3824,12 +3839,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3824,12 +3839,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3824 .unused,3839 .unused,
3825 .unused,3840 .unused,
3826 },3841 },
3827 .dst_temps = .{.mem},3842 .dst_temps = .{ .mem, .unused },
3828 .clobbers = .{ .eflags = true },3843 .clobbers = .{ .eflags = true },
3829 .each = .{ .once = &.{3844 .each = .{ .once = &.{
3830 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3845 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3831 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },3846 .{ .@"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), ._, ._ },
3833 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },3848 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3834 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },3849 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3835 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3850 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -3843,11 +3858,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3843,11 +3858,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3843 },3858 },
3844 .patterns = &.{3859 .patterns = &.{
3845 .{ .src = .{ .to_sse, .mem, .none } },3860 .{ .src = .{ .to_sse, .mem, .none } },
3861 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3846 .{ .src = .{ .to_sse, .to_sse, .none } },3862 .{ .src = .{ .to_sse, .to_sse, .none } },
3847 },3863 },
3848 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3864 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3849 .each = .{ .once = &.{3865 .each = .{ .once = &.{
3850 .{ ._, .v_sd, .sub, .dst0x, .src0x, .src1q, ._ },3866 .{ ._, .v_sd, .add, .dst0x, .src0x, .src1q, ._ },
3851 } },3867 } },
3852 }, .{3868 }, .{
3853 .required_features = .{ .sse2, null, null, null },3869 .required_features = .{ .sse2, null, null, null },
...@@ -3858,11 +3874,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3858,11 +3874,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3858 },3874 },
3859 .patterns = &.{3875 .patterns = &.{
3860 .{ .src = .{ .to_mut_sse, .mem, .none } },3876 .{ .src = .{ .to_mut_sse, .mem, .none } },
3877 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3861 .{ .src = .{ .to_mut_sse, .to_sse, .none } },3878 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
3862 },3879 },
3863 .dst_temps = .{.{ .ref = .src0 }},3880 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3864 .each = .{ .once = &.{3881 .each = .{ .once = &.{
3865 .{ ._, ._sd, .sub, .dst0x, .src1q, ._, ._ },3882 .{ ._, ._sd, .add, .dst0x, .src1q, ._, ._ },
3866 } },3883 } },
3867 }, .{3884 }, .{
3868 .required_features = .{ .x87, null, null, null },3885 .required_features = .{ .x87, null, null, null },
...@@ -3885,10 +3902,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3885,10 +3902,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3885 .unused,3902 .unused,
3886 .unused,3903 .unused,
3887 },3904 },
3888 .dst_temps = .{.mem},3905 .dst_temps = .{ .mem, .unused },
3889 .each = .{ .once = &.{3906 .each = .{ .once = &.{
3890 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },3907 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
3891 .{ ._, .f_, .sub, .src1q, ._, ._, ._ },3908 .{ ._, .f_, .add, .src1q, ._, ._, ._ },
3892 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },3909 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
3893 } },3910 } },
3894 }, .{3911 }, .{
...@@ -3900,11 +3917,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3900,11 +3917,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3900 },3917 },
3901 .patterns = &.{3918 .patterns = &.{
3902 .{ .src = .{ .to_sse, .mem, .none } },3919 .{ .src = .{ .to_sse, .mem, .none } },
3920 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3903 .{ .src = .{ .to_sse, .to_sse, .none } },3921 .{ .src = .{ .to_sse, .to_sse, .none } },
3904 },3922 },
3905 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3923 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3906 .each = .{ .once = &.{3924 .each = .{ .once = &.{
3907 .{ ._, .v_pd, .sub, .dst0x, .src0x, .src1x, ._ },3925 .{ ._, .v_pd, .add, .dst0x, .src0x, .src1x, ._ },
3908 } },3926 } },
3909 }, .{3927 }, .{
3910 .required_features = .{ .sse2, null, null, null },3928 .required_features = .{ .sse2, null, null, null },
...@@ -3915,11 +3933,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3915,11 +3933,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3915 },3933 },
3916 .patterns = &.{3934 .patterns = &.{
3917 .{ .src = .{ .to_mut_sse, .mem, .none } },3935 .{ .src = .{ .to_mut_sse, .mem, .none } },
3936 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3918 .{ .src = .{ .to_mut_sse, .to_sse, .none } },3937 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
3919 },3938 },
3920 .dst_temps = .{.{ .ref = .src0 }},3939 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3921 .each = .{ .once = &.{3940 .each = .{ .once = &.{
3922 .{ ._, ._pd, .sub, .dst0x, .src1x, ._, ._ },3941 .{ ._, ._pd, .add, .dst0x, .src1x, ._, ._ },
3923 } },3942 } },
3924 }, .{3943 }, .{
3925 .required_features = .{ .avx, null, null, null },3944 .required_features = .{ .avx, null, null, null },
...@@ -3930,11 +3949,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3930,11 +3949,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3930 },3949 },
3931 .patterns = &.{3950 .patterns = &.{
3932 .{ .src = .{ .to_sse, .mem, .none } },3951 .{ .src = .{ .to_sse, .mem, .none } },
3952 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3933 .{ .src = .{ .to_sse, .to_sse, .none } },3953 .{ .src = .{ .to_sse, .to_sse, .none } },
3934 },3954 },
3935 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},3955 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3936 .each = .{ .once = &.{3956 .each = .{ .once = &.{
3937 .{ ._, .v_pd, .sub, .dst0y, .src0y, .src1y, ._ },3957 .{ ._, .v_pd, .add, .dst0y, .src0y, .src1y, ._ },
3938 } },3958 } },
3939 }, .{3959 }, .{
3940 .required_features = .{ .avx, null, null, null },3960 .required_features = .{ .avx, null, null, null },
...@@ -3957,12 +3977,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3957,12 +3977,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3957 .unused,3977 .unused,
3958 .unused,3978 .unused,
3959 },3979 },
3960 .dst_temps = .{.mem},3980 .dst_temps = .{ .mem, .unused },
3961 .clobbers = .{ .eflags = true },3981 .clobbers = .{ .eflags = true },
3962 .each = .{ .once = &.{3982 .each = .{ .once = &.{
3963 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },3983 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3964 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },3984 .{ .@"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), ._ },
3966 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },3986 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
3967 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },3987 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
3968 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },3988 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -3988,12 +4008,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -3988,12 +4008,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3988 .unused,4008 .unused,
3989 .unused,4009 .unused,
3990 },4010 },
3991 .dst_temps = .{.mem},4011 .dst_temps = .{ .mem, .unused },
3992 .clobbers = .{ .eflags = true },4012 .clobbers = .{ .eflags = true },
3993 .each = .{ .once = &.{4013 .each = .{ .once = &.{
3994 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4014 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3995 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },4015 .{ .@"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), ._, ._ },
3997 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },4017 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3998 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },4018 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3999 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4019 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -4019,11 +4039,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4019,11 +4039,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4019 .unused,4039 .unused,
4020 .unused,4040 .unused,
4021 },4041 },
4022 .dst_temps = .{.mem},4042 .dst_temps = .{ .mem, .unused },
4023 .each = .{ .once = &.{4043 .each = .{ .once = &.{
4024 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4044 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4025 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },4045 .{ .@"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), ._, ._, ._ },
4027 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },4047 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
4028 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },4048 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
4029 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4049 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -4049,11 +4069,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4049,11 +4069,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4049 .unused,4069 .unused,
4050 .unused,4070 .unused,
4051 },4071 },
4052 .dst_temps = .{.{ .rc = .x87 }},4072 .dst_temps = .{ .{ .rc = .x87 }, .unused },
4053 .each = .{ .once = &.{4073 .each = .{ .once = &.{
4054 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },4074 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
4055 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },4075 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
4056 .{ ._, .f_p, .sub, ._, ._, ._, ._ },4076 .{ ._, .f_p, .add, ._, ._, ._, ._ },
4057 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },4077 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
4058 } },4078 } },
4059 }, .{4079 }, .{
...@@ -4065,32 +4085,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4065,32 +4085,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4065 },4085 },
4066 .patterns = &.{4086 .patterns = &.{
4067 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },4087 .{ .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 = &.{
4094 .{ .src = .{ .mem, .to_x87, .none } },4088 .{ .src = .{ .mem, .to_x87, .none } },
4095 .{ .src = .{ .to_x87, .to_x87, .none } },4089 .{ .src = .{ .to_x87, .to_x87, .none } },
4096 },4090 },
...@@ -4105,10 +4099,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4105,10 +4099,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4105 .unused,4099 .unused,
4106 .unused,4100 .unused,
4107 },4101 },
4108 .dst_temps = .{.{ .rc = .x87 }},4102 .dst_temps = .{ .{ .rc = .x87 }, .unused },
4109 .each = .{ .once = &.{4103 .each = .{ .once = &.{
4110 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },4104 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
4111 .{ ._, .f_, .sub, .tmp0t, .src1t, ._, ._ },4105 .{ ._, .f_, .add, .tmp0t, .src1t, ._, ._ },
4112 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },4106 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
4113 } },4107 } },
4114 }, .{4108 }, .{
...@@ -4132,12 +4126,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4132,12 +4126,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4132 .unused,4126 .unused,
4133 .unused,4127 .unused,
4134 },4128 },
4135 .dst_temps = .{.mem},4129 .dst_temps = .{ .mem, .unused },
4136 .each = .{ .once = &.{4130 .each = .{ .once = &.{
4137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4131 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4138 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },4132 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
4139 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },4133 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
4140 .{ ._, .f_p, .sub, ._, ._, ._, ._ },4134 .{ ._, .f_p, .add, ._, ._, ._, ._ },
4141 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },4135 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
4142 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },4136 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4143 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4137 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -4154,7 +4148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4154,7 +4148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4154 },4148 },
4155 .call_frame = .{ .alignment = .@"16" },4149 .call_frame = .{ .alignment = .@"16" },
4156 .extra_temps = .{4150 .extra_temps = .{
4157 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },4151 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
4158 .unused,4152 .unused,
4159 .unused,4153 .unused,
4160 .unused,4154 .unused,
...@@ -4164,7 +4158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4164,7 +4158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4164 .unused,4158 .unused,
4165 .unused,4159 .unused,
4166 },4160 },
4167 .dst_temps = .{.{ .ref = .src0 }},4161 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4168 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },4162 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4169 .each = .{ .once = &.{4163 .each = .{ .once = &.{
4170 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },4164 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -4184,14 +4178,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4184,14 +4178,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4184 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4178 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4185 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },4179 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
4186 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },4180 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
4187 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },4181 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
4188 .unused,4182 .unused,
4189 .unused,4183 .unused,
4190 .unused,4184 .unused,
4191 .unused,4185 .unused,
4192 .unused,4186 .unused,
4193 },4187 },
4194 .dst_temps = .{.mem},4188 .dst_temps = .{ .mem, .unused },
4195 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },4189 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4196 .each = .{ .once = &.{4190 .each = .{ .once = &.{
4197 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4191 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -4217,14 +4211,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4217,14 +4211,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4217 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4211 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4218 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },4212 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
4219 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },4213 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
4220 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },4214 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
4221 .unused,4215 .unused,
4222 .unused,4216 .unused,
4223 .unused,4217 .unused,
4224 .unused,4218 .unused,
4225 .unused,4219 .unused,
4226 },4220 },
4227 .dst_temps = .{.mem},4221 .dst_temps = .{ .mem, .unused },
4228 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },4222 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4229 .each = .{ .once = &.{4223 .each = .{ .once = &.{
4230 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4224 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -4250,14 +4244,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4250,14 +4244,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4250 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4244 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4251 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },4245 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
4252 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },4246 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
4253 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },4247 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
4254 .unused,4248 .unused,
4255 .unused,4249 .unused,
4256 .unused,4250 .unused,
4257 .unused,4251 .unused,
4258 .unused,4252 .unused,
4259 },4253 },
4260 .dst_temps = .{.mem},4254 .dst_temps = .{ .mem, .unused },
4261 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },4255 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4262 .each = .{ .once = &.{4256 .each = .{ .once = &.{
4263 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4257 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -4279,24 +4273,81 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4279,24 +4273,81 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4279 };4273 };
4280 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);4274 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
4281 },4275 },
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 {
4283 const bin_op = air_datas[@intFromEnum(inst)].bin_op;4278 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);
4285 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });4279 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
4286 var res: [1]Temp = undefined;4280 var res: [1]Temp = undefined;
4287 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{4281 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 },
4289 .src_constraints = .{4340 .src_constraints = .{
4290 .{ .scalar_float = .{ .of = .word, .is = .word } },4341 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
4291 .{ .scalar_float = .{ .of = .word, .is = .word } },4342 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
4292 .any,4343 .any,
4293 },4344 },
4294 .patterns = &.{4345 .patterns = &.{
4295 .{ .src = .{ .to_sse, .to_sse, .none } },4346 .{ .src = .{ .to_mem, .to_mem, .none } },
4296 },4347 },
4297 .extra_temps = .{4348 .extra_temps = .{
4298 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },4349 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4299 .unused,4350 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
4300 .unused,4351 .unused,
4301 .unused,4352 .unused,
4302 .unused,4353 .unused,
...@@ -4305,27 +4356,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4305,27 +4356,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4305 .unused,4356 .unused,
4306 .unused,4357 .unused,
4307 },4358 },
4308 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},4359 .dst_temps = .{ .mem, .unused },
4360 .clobbers = .{ .eflags = true },
4309 .each = .{ .once = &.{4361 .each = .{ .once = &.{
4310 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },4362 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
4311 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },4363 .{ ._, ._c, .cl, ._, ._, ._, ._ },
4312 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0d, ._ },4364 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ },
4313 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },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", ._, ._, ._ },
4314 } },4369 } },
4315 }, .{4370 }, .{
4316 .required_features = .{ .sse, null, null, null },
4317 .src_constraints = .{4371 .src_constraints = .{
4318 .{ .scalar_float = .{ .of = .word, .is = .word } },4372 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
4319 .{ .scalar_float = .{ .of = .word, .is = .word } },4373 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
4320 .any,4374 .any,
4321 },4375 },
4322 .patterns = &.{4376 .patterns = &.{
4323 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },4377 .{ .src = .{ .to_mem, .to_mem, .none } },
4324 },4378 },
4325 .call_frame = .{ .alignment = .@"16" },
4326 .extra_temps = .{4379 .extra_temps = .{
4327 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },4380 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4328 .unused,4381 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
4329 .unused,4382 .unused,
4330 .unused,4383 .unused,
4331 .unused,4384 .unused,
...@@ -4334,78 +4387,67 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4334,78 +4387,67 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4334 .unused,4387 .unused,
4335 .unused,4388 .unused,
4336 },4389 },
4337 .dst_temps = .{.{ .ref = .src0 }},4390 .dst_temps = .{ .mem, .unused },
4338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },4391 .clobbers = .{ .eflags = true },
4339 .each = .{ .once = &.{4392 .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", ._, ._, ._ },
4341 } },4400 } },
4342 }, .{4401 }, .{
4343 .required_features = .{ .f16c, null, null, null },4402 .required_features = .{ .avx, null, null, null },
4344 .src_constraints = .{4403 .src_constraints = .{
4345 .{ .scalar_float = .{ .of = .qword, .is = .word } },4404 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4346 .{ .scalar_float = .{ .of = .qword, .is = .word } },4405 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4347 .any,4406 .any,
4348 },4407 },
4349 .patterns = &.{4408 .patterns = &.{
4350 .{ .src = .{ .mem, .mem, .none } },
4351 .{ .src = .{ .to_sse, .mem, .none } },4409 .{ .src = .{ .to_sse, .mem, .none } },
4352 .{ .src = .{ .mem, .to_sse, .none } },
4353 .{ .src = .{ .to_sse, .to_sse, .none } },4410 .{ .src = .{ .to_sse, .to_sse, .none } },
4354 },4411 },
4355 .extra_temps = .{4412 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4356 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },4413 .each = .{ .once = &.{
4357 .unused,4414 .{ ._, .vp_b, .sub, .dst0x, .src0x, .src1x, ._ },
4358 .unused,4415 } },
4359 .unused,4416 }, .{
4360 .unused,4417 .required_features = .{ .sse2, null, null, null },
4361 .unused,4418 .src_constraints = .{
4362 .unused,4419 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4363 .unused,4420 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4364 .unused,4421 .any,
4422 },
4423 .patterns = &.{
4424 .{ .src = .{ .to_mut_sse, .mem, .none } },
4425 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
4365 },4426 },
4366 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},4427 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4367 .each = .{ .once = &.{4428 .each = .{ .once = &.{
4368 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },4429 .{ ._, .p_b, .sub, .dst0x, .src1x, ._, ._ },
4369 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
4370 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
4371 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
4372 } },4430 } },
4373 }, .{4431 }, .{
4374 .required_features = .{ .f16c, null, null, null },4432 .required_features = .{ .avx2, null, null, null },
4375 .src_constraints = .{4433 .src_constraints = .{
4376 .{ .scalar_float = .{ .of = .xword, .is = .word } },4434 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
4377 .{ .scalar_float = .{ .of = .xword, .is = .word } },4435 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
4378 .any,4436 .any,
4379 },4437 },
4380 .patterns = &.{4438 .patterns = &.{
4381 .{ .src = .{ .mem, .mem, .none } },
4382 .{ .src = .{ .to_sse, .mem, .none } },4439 .{ .src = .{ .to_sse, .mem, .none } },
4383 .{ .src = .{ .mem, .to_sse, .none } },
4384 .{ .src = .{ .to_sse, .to_sse, .none } },4440 .{ .src = .{ .to_sse, .to_sse, .none } },
4385 },4441 },
4386 .extra_temps = .{4442 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
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 } }},
4398 .each = .{ .once = &.{4443 .each = .{ .once = &.{
4399 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },4444 .{ ._, .vp_b, .sub, .dst0y, .src0y, .src1y, ._ },
4400 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
4401 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },
4402 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
4403 } },4445 } },
4404 }, .{4446 }, .{
4405 .required_features = .{ .f16c, null, null, null },4447 .required_features = .{ .avx2, null, null, null },
4406 .src_constraints = .{4448 .src_constraints = .{
4407 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },4449 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
4408 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },4450 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
4409 .any,4451 .any,
4410 },4452 },
4411 .patterns = &.{4453 .patterns = &.{
...@@ -4413,8 +4455,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4413,8 +4455,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4413 },4455 },
4414 .extra_temps = .{4456 .extra_temps = .{
4415 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4457 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4416 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },4458 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
4417 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },4459 .unused,
4418 .unused,4460 .unused,
4419 .unused,4461 .unused,
4420 .unused,4462 .unused,
...@@ -4422,254 +4464,222 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4422,254 +4464,222 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4422 .unused,4464 .unused,
4423 .unused,4465 .unused,
4424 },4466 },
4425 .dst_temps = .{.mem},4467 .dst_temps = .{ .mem, .unused },
4426 .clobbers = .{ .eflags = true },
4427 .each = .{ .once = &.{4468 .each = .{ .once = &.{
4428 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4469 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4429 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },4470 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4430 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },4471 .{ ._, .vp_b, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4431 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .tmp2y, ._ },4472 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4432 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },4473 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
4433 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4434 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4474 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4435 } },4475 } },
4436 }, .{4476 }, .{
4437 .required_features = .{ .avx, null, null, null },4477 .required_features = .{ .avx, null, null, null },
4438 .src_constraints = .{4478 .src_constraints = .{
4439 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4479 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
4440 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4480 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
4441 .any,4481 .any,
4442 },4482 },
4443 .patterns = &.{4483 .patterns = &.{
4444 .{ .src = .{ .to_mem, .to_mem, .none } },4484 .{ .src = .{ .to_mem, .to_mem, .none } },
4445 },4485 },
4446 .call_frame = .{ .alignment = .@"16" },
4447 .extra_temps = .{4486 .extra_temps = .{
4448 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4487 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4449 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },4488 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
4450 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },4489 .unused,
4451 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },4490 .unused,
4452 .unused,4491 .unused,
4453 .unused,4492 .unused,
4454 .unused,4493 .unused,
4455 .unused,4494 .unused,
4456 .unused,4495 .unused,
4457 },4496 },
4458 .dst_temps = .{.mem},4497 .dst_temps = .{ .mem, .unused },
4459 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4460 .each = .{ .once = &.{4498 .each = .{ .once = &.{
4461 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4462 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },4500 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4463 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },4501 .{ ._, .vp_b, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
4464 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },4502 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4465 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },4503 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4466 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
4467 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4468 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4504 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4469 } },4505 } },
4470 }, .{4506 }, .{
4471 .required_features = .{ .sse4_1, null, null, null },4507 .required_features = .{ .sse2, null, null, null },
4472 .src_constraints = .{4508 .src_constraints = .{
4473 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4509 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
4474 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4510 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
4475 .any,4511 .any,
4476 },4512 },
4477 .patterns = &.{4513 .patterns = &.{
4478 .{ .src = .{ .to_mem, .to_mem, .none } },4514 .{ .src = .{ .to_mem, .to_mem, .none } },
4479 },4515 },
4480 .call_frame = .{ .alignment = .@"16" },
4481 .extra_temps = .{4516 .extra_temps = .{
4482 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4517 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4483 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },4518 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
4484 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },4519 .unused,
4485 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },4520 .unused,
4486 .unused,4521 .unused,
4487 .unused,4522 .unused,
4488 .unused,4523 .unused,
4489 .unused,4524 .unused,
4490 .unused,4525 .unused,
4491 },4526 },
4492 .dst_temps = .{.mem},4527 .dst_temps = .{ .mem, .unused },
4493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4494 .each = .{ .once = &.{4528 .each = .{ .once = &.{
4495 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4529 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4496 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },4530 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4497 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },4531 .{ ._, .p_b, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4498 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },4532 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4499 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },4533 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4500 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
4501 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
4502 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4503 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4534 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4504 } },4535 } },
4505 }, .{4536 }, .{
4506 .required_features = .{ .sse2, null, null, null },4537 .required_features = .{ .slow_incdec, null, null, null },
4507 .src_constraints = .{4538 .src_constraints = .{
4508 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4539 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
4509 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4540 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
4510 .any,4541 .any,
4511 },4542 },
4512 .patterns = &.{4543 .patterns = &.{
4513 .{ .src = .{ .to_mem, .to_mem, .none } },4544 .{ .src = .{ .to_mem, .to_mem, .none } },
4514 },4545 },
4515 .call_frame = .{ .alignment = .@"16" },
4516 .extra_temps = .{4546 .extra_temps = .{
4517 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4547 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4518 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },4548 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
4519 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },4549 .unused,
4520 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },4550 .unused,
4521 .{ .type = .f16, .kind = .{ .reg = .ax } },4551 .unused,
4522 .unused,4552 .unused,
4523 .unused,4553 .unused,
4524 .unused,4554 .unused,
4525 .unused,4555 .unused,
4526 },4556 },
4527 .dst_temps = .{.mem},4557 .dst_temps = .{ .mem, .unused },
4528 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4529 .each = .{ .once = &.{4558 .each = .{ .once = &.{
4530 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4559 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4531 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },4560 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
4532 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },4561 .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
4533 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },4562 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
4534 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },4563 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
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), ._, ._ },
4539 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4564 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4540 } },4565 } },
4541 }, .{4566 }, .{
4542 .required_features = .{ .sse, null, null, null },
4543 .src_constraints = .{4567 .src_constraints = .{
4544 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4568 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
4545 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },4569 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
4546 .any,4570 .any,
4547 },4571 },
4548 .patterns = &.{4572 .patterns = &.{
4549 .{ .src = .{ .to_mem, .to_mem, .none } },4573 .{ .src = .{ .to_mem, .to_mem, .none } },
4550 },4574 },
4551 .call_frame = .{ .alignment = .@"16" },
4552 .extra_temps = .{4575 .extra_temps = .{
4553 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4576 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4554 .{ .type = .f16, .kind = .{ .reg = .ax } },4577 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
4555 .{ .type = .f32, .kind = .mem },4578 .unused,
4556 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },4579 .unused,
4557 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },4580 .unused,
4558 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },4581 .unused,
4559 .unused,4582 .unused,
4560 .unused,4583 .unused,
4561 .unused,4584 .unused,
4562 },4585 },
4563 .dst_temps = .{.mem},4586 .dst_temps = .{ .mem, .unused },
4564 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4565 .each = .{ .once = &.{4587 .each = .{ .once = &.{
4566 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4588 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4567 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },4589 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
4568 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },4590 .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
4569 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },4591 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
4570 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },4592 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
4571 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },4593 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
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", ._, ._, ._ },
4579 } },4594 } },
4580 }, .{4595 }, .{
4581 .required_features = .{ .avx, null, null, null },4596 .required_features = .{ .avx, null, null, null },
4582 .src_constraints = .{4597 .src_constraints = .{
4583 .{ .scalar_float = .{ .of = .dword, .is = .dword } },4598 .{ .scalar_int = .{ .of = .xword, .is = .word } },
4584 .{ .scalar_float = .{ .of = .dword, .is = .dword } },4599 .{ .scalar_int = .{ .of = .xword, .is = .word } },
4585 .any,4600 .any,
4586 },4601 },
4587 .patterns = &.{4602 .patterns = &.{
4588 .{ .src = .{ .to_sse, .mem, .none } },4603 .{ .src = .{ .to_sse, .mem, .none } },
4589 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
4590 .{ .src = .{ .to_sse, .to_sse, .none } },4604 .{ .src = .{ .to_sse, .to_sse, .none } },
4591 },4605 },
4592 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},4606 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4593 .each = .{ .once = &.{4607 .each = .{ .once = &.{
4594 .{ ._, .v_ss, .mul, .dst0x, .src0x, .src1d, ._ },4608 .{ ._, .vp_w, .sub, .dst0x, .src0x, .src1x, ._ },
4595 } },4609 } },
4596 }, .{4610 }, .{
4597 .required_features = .{ .sse, null, null, null },4611 .required_features = .{ .sse2, null, null, null },
4598 .src_constraints = .{4612 .src_constraints = .{
4599 .{ .scalar_float = .{ .of = .dword, .is = .dword } },4613 .{ .scalar_int = .{ .of = .xword, .is = .word } },
4600 .{ .scalar_float = .{ .of = .dword, .is = .dword } },4614 .{ .scalar_int = .{ .of = .xword, .is = .word } },
4601 .any,4615 .any,
4602 },4616 },
4603 .patterns = &.{4617 .patterns = &.{
4604 .{ .src = .{ .to_mut_sse, .mem, .none } },4618 .{ .src = .{ .to_mut_sse, .mem, .none } },
4605 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
4606 .{ .src = .{ .to_mut_sse, .to_sse, .none } },4619 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
4607 },4620 },
4608 .dst_temps = .{.{ .ref = .src0 }},4621 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4609 .each = .{ .once = &.{4622 .each = .{ .once = &.{
4610 .{ ._, ._ss, .mul, .dst0x, .src1d, ._, ._ },4623 .{ ._, .p_w, .sub, .dst0x, .src1x, ._, ._ },
4611 } },4624 } },
4612 }, .{4625 }, .{
4613 .required_features = .{ .avx, null, null, null },4626 .required_features = .{ .avx2, null, null, null },
4614 .src_constraints = .{4627 .src_constraints = .{
4615 .{ .scalar_float = .{ .of = .xword, .is = .dword } },4628 .{ .scalar_int = .{ .of = .yword, .is = .word } },
4616 .{ .scalar_float = .{ .of = .xword, .is = .dword } },4629 .{ .scalar_int = .{ .of = .yword, .is = .word } },
4617 .any,4630 .any,
4618 },4631 },
4619 .patterns = &.{4632 .patterns = &.{
4620 .{ .src = .{ .to_sse, .mem, .none } },4633 .{ .src = .{ .to_sse, .mem, .none } },
4621 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
4622 .{ .src = .{ .to_sse, .to_sse, .none } },4634 .{ .src = .{ .to_sse, .to_sse, .none } },
4623 },4635 },
4624 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},4636 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4625 .each = .{ .once = &.{4637 .each = .{ .once = &.{
4626 .{ ._, .v_ps, .mul, .dst0x, .src0x, .src1x, ._ },4638 .{ ._, .vp_w, .sub, .dst0y, .src0y, .src1y, ._ },
4627 } },4639 } },
4628 }, .{4640 }, .{
4629 .required_features = .{ .sse, null, null, null },4641 .required_features = .{ .avx2, null, null, null },
4630 .src_constraints = .{4642 .src_constraints = .{
4631 .{ .scalar_float = .{ .of = .xword, .is = .dword } },4643 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
4632 .{ .scalar_float = .{ .of = .xword, .is = .dword } },4644 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
4633 .any,4645 .any,
4634 },4646 },
4635 .patterns = &.{4647 .patterns = &.{
4636 .{ .src = .{ .to_mut_sse, .mem, .none } },4648 .{ .src = .{ .to_mem, .to_mem, .none } },
4637 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },4649 },
4638 .{ .src = .{ .to_mut_sse, .to_sse, .none } },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,
4639 },4660 },
4640 .dst_temps = .{.{ .ref = .src0 }},4661 .dst_temps = .{ .mem, .unused },
4641 .each = .{ .once = &.{4662 .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", ._, ._, ._ },
4643 } },4669 } },
4644 }, .{4670 }, .{
4645 .required_features = .{ .avx, null, null, null },4671 .required_features = .{ .avx, null, null, null },
4646 .src_constraints = .{4672 .src_constraints = .{
4647 .{ .scalar_float = .{ .of = .yword, .is = .dword } },4673 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
4648 .{ .scalar_float = .{ .of = .yword, .is = .dword } },4674 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
4649 .any,4675 .any,
4650 },4676 },
4651 .patterns = &.{4677 .patterns = &.{
4652 .{ .src = .{ .to_sse, .mem, .none } },4678 .{ .src = .{ .to_mem, .to_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 } },
4669 },4679 },
4670 .extra_temps = .{4680 .extra_temps = .{
4671 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4681 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4672 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },4682 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
4673 .unused,4683 .unused,
4674 .unused,4684 .unused,
4675 .unused,4685 .unused,
...@@ -4678,21 +4688,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4678,21 +4688,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4678 .unused,4688 .unused,
4679 .unused,4689 .unused,
4680 },4690 },
4681 .dst_temps = .{.mem},4691 .dst_temps = .{ .mem, .unused },
4682 .clobbers = .{ .eflags = true },
4683 .each = .{ .once = &.{4692 .each = .{ .once = &.{
4684 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4685 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },4694 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4686 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },4695 .{ ._, .vp_w, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
4687 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },4696 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4688 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },4697 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4689 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4698 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4690 } },4699 } },
4691 }, .{4700 }, .{
4692 .required_features = .{ .sse, null, null, null },4701 .required_features = .{ .sse2, null, null, null },
4693 .src_constraints = .{4702 .src_constraints = .{
4694 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },4703 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
4695 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },4704 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
4696 .any,4705 .any,
4697 },4706 },
4698 .patterns = &.{4707 .patterns = &.{
...@@ -4700,7 +4709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4700,7 +4709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4700 },4709 },
4701 .extra_temps = .{4710 .extra_temps = .{
4702 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4711 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4703 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },4712 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
4704 .unused,4713 .unused,
4705 .unused,4714 .unused,
4706 .unused,4715 .unused,
...@@ -4709,61 +4718,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4709,61 +4718,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4709 .unused,4718 .unused,
4710 .unused,4719 .unused,
4711 },4720 },
4712 .dst_temps = .{.mem},4721 .dst_temps = .{ .mem, .unused },
4713 .clobbers = .{ .eflags = true },
4714 .each = .{ .once = &.{4722 .each = .{ .once = &.{
4715 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4716 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },4724 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4717 .{ ._, ._ps, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },4725 .{ ._, .p_w, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4718 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },4726 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4719 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },4727 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4720 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4728 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4721 } },4729 } },
4722 }, .{4730 }, .{
4723 .required_features = .{ .avx, null, null, null },
4724 .src_constraints = .{4731 .src_constraints = .{
4725 .{ .scalar_float = .{ .of = .qword, .is = .qword } },4732 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
4726 .{ .scalar_float = .{ .of = .qword, .is = .qword } },4733 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
4727 .any,4734 .any,
4728 },4735 },
4729 .patterns = &.{4736 .patterns = &.{
4730 .{ .src = .{ .to_sse, .mem, .none } },4737 .{ .src = .{ .to_mem, .to_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 } },
4763 },4738 },
4764 .extra_temps = .{4739 .extra_temps = .{
4765 .{ .type = .f64, .kind = .{ .reg = .st6 } },4740 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4766 .{ .type = .f64, .kind = .{ .reg = .st7 } },4741 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
4767 .unused,4742 .unused,
4768 .unused,4743 .unused,
4769 .unused,4744 .unused,
...@@ -4772,65 +4747,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4772,65 +4747,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4772 .unused,4747 .unused,
4773 .unused,4748 .unused,
4774 },4749 },
4775 .dst_temps = .{.mem},4750 .dst_temps = .{ .mem, .unused },
4776 .each = .{ .once = &.{4751 .each = .{ .once = &.{
4777 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },4752 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4778 .{ ._, .f_, .mul, .src1q, ._, ._, ._ },4753 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
4779 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },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", ._, ._, ._ },
4780 } },4758 } },
4781 }, .{4759 }, .{
4782 .required_features = .{ .avx, null, null, null },4760 .required_features = .{ .avx, null, null, null },
4783 .src_constraints = .{4761 .src_constraints = .{
4784 .{ .scalar_float = .{ .of = .xword, .is = .qword } },4762 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
4785 .{ .scalar_float = .{ .of = .xword, .is = .qword } },4763 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
4786 .any,4764 .any,
4787 },4765 },
4788 .patterns = &.{4766 .patterns = &.{
4789 .{ .src = .{ .to_sse, .mem, .none } },4767 .{ .src = .{ .to_sse, .mem, .none } },
4790 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
4791 .{ .src = .{ .to_sse, .to_sse, .none } },4768 .{ .src = .{ .to_sse, .to_sse, .none } },
4792 },4769 },
4793 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},4770 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4794 .each = .{ .once = &.{4771 .each = .{ .once = &.{
4795 .{ ._, .v_pd, .mul, .dst0x, .src0x, .src1x, ._ },4772 .{ ._, .vp_d, .sub, .dst0x, .src0x, .src1x, ._ },
4796 } },4773 } },
4797 }, .{4774 }, .{
4798 .required_features = .{ .sse2, null, null, null },4775 .required_features = .{ .sse2, null, null, null },
4799 .src_constraints = .{4776 .src_constraints = .{
4800 .{ .scalar_float = .{ .of = .xword, .is = .qword } },4777 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
4801 .{ .scalar_float = .{ .of = .xword, .is = .qword } },4778 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
4802 .any,4779 .any,
4803 },4780 },
4804 .patterns = &.{4781 .patterns = &.{
4805 .{ .src = .{ .to_mut_sse, .mem, .none } },4782 .{ .src = .{ .to_mut_sse, .mem, .none } },
4806 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
4807 .{ .src = .{ .to_mut_sse, .to_sse, .none } },4783 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
4808 },4784 },
4809 .dst_temps = .{.{ .ref = .src0 }},4785 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4810 .each = .{ .once = &.{4786 .each = .{ .once = &.{
4811 .{ ._, ._pd, .mul, .dst0x, .src1x, ._, ._ },4787 .{ ._, .p_d, .sub, .dst0x, .src1x, ._, ._ },
4812 } },4788 } },
4813 }, .{4789 }, .{
4814 .required_features = .{ .avx, null, null, null },4790 .required_features = .{ .avx2, null, null, null },
4815 .src_constraints = .{4791 .src_constraints = .{
4816 .{ .scalar_float = .{ .of = .yword, .is = .qword } },4792 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
4817 .{ .scalar_float = .{ .of = .yword, .is = .qword } },4793 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
4818 .any,4794 .any,
4819 },4795 },
4820 .patterns = &.{4796 .patterns = &.{
4821 .{ .src = .{ .to_sse, .mem, .none } },4797 .{ .src = .{ .to_sse, .mem, .none } },
4822 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
4823 .{ .src = .{ .to_sse, .to_sse, .none } },4798 .{ .src = .{ .to_sse, .to_sse, .none } },
4824 },4799 },
4825 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},4800 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4826 .each = .{ .once = &.{4801 .each = .{ .once = &.{
4827 .{ ._, .v_pd, .mul, .dst0y, .src0y, .src1y, ._ },4802 .{ ._, .vp_d, .sub, .dst0y, .src0y, .src1y, ._ },
4828 } },4803 } },
4829 }, .{4804 }, .{
4830 .required_features = .{ .avx, null, null, null },4805 .required_features = .{ .avx2, null, null, null },
4831 .src_constraints = .{4806 .src_constraints = .{
4832 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },4807 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
4833 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },4808 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
4834 .any,4809 .any,
4835 },4810 },
4836 .patterns = &.{4811 .patterns = &.{
...@@ -4838,7 +4813,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4838,7 +4813,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4838 },4813 },
4839 .extra_temps = .{4814 .extra_temps = .{
4840 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4815 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4841 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },4816 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
4842 .unused,4817 .unused,
4843 .unused,4818 .unused,
4844 .unused,4819 .unused,
...@@ -4847,21 +4822,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4847,21 +4822,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4847 .unused,4822 .unused,
4848 .unused,4823 .unused,
4849 },4824 },
4850 .dst_temps = .{.mem},4825 .dst_temps = .{ .mem, .unused },
4851 .clobbers = .{ .eflags = true },
4852 .each = .{ .once = &.{4826 .each = .{ .once = &.{
4853 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4827 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4854 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },4828 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4855 .{ ._, .v_pd, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },4829 .{ ._, .vp_d, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4856 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },4830 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4857 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },4831 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
4858 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4832 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4859 } },4833 } },
4860 }, .{4834 }, .{
4861 .required_features = .{ .sse2, null, null, null },4835 .required_features = .{ .avx, null, null, null },
4862 .src_constraints = .{4836 .src_constraints = .{
4863 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },4837 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
4864 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },4838 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
4865 .any,4839 .any,
4866 },4840 },
4867 .patterns = &.{4841 .patterns = &.{
...@@ -4869,7 +4843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4869,7 +4843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4869 },4843 },
4870 .extra_temps = .{4844 .extra_temps = .{
4871 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4845 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4872 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },4846 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
4873 .unused,4847 .unused,
4874 .unused,4848 .unused,
4875 .unused,4849 .unused,
...@@ -4878,21 +4852,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4878,21 +4852,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4878 .unused,4852 .unused,
4879 .unused,4853 .unused,
4880 },4854 },
4881 .dst_temps = .{.mem},4855 .dst_temps = .{ .mem, .unused },
4882 .clobbers = .{ .eflags = true },
4883 .each = .{ .once = &.{4856 .each = .{ .once = &.{
4884 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4857 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4885 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },4858 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4886 .{ ._, ._pd, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },4859 .{ ._, .vp_d, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
4887 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },4860 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4888 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },4861 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4889 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4862 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4890 } },4863 } },
4891 }, .{4864 }, .{
4892 .required_features = .{ .x87, null, null, null },4865 .required_features = .{ .sse2, null, null, null },
4893 .src_constraints = .{4866 .src_constraints = .{
4894 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },4867 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
4895 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },4868 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
4896 .any,4869 .any,
4897 },4870 },
4898 .patterns = &.{4871 .patterns = &.{
...@@ -4900,8 +4873,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4900,8 +4873,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4900 },4873 },
4901 .extra_temps = .{4874 .extra_temps = .{
4902 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },4875 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4903 .{ .type = .f64, .kind = .{ .reg = .st6 } },4876 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
4904 .{ .type = .f64, .kind = .{ .reg = .st7 } },4877 .unused,
4905 .unused,4878 .unused,
4906 .unused,4879 .unused,
4907 .unused,4880 .unused,
...@@ -4909,28 +4882,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4909,28 +4882,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4909 .unused,4882 .unused,
4910 .unused,4883 .unused,
4911 },4884 },
4912 .dst_temps = .{.mem},4885 .dst_temps = .{ .mem, .unused },
4913 .each = .{ .once = &.{4886 .each = .{ .once = &.{
4914 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },4887 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4915 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },4888 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4916 .{ ._, .f_, .mul, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },4889 .{ ._, .p_d, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4917 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },4890 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4918 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },4891 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4919 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },4892 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4920 } },4893 } },
4921 }, .{4894 }, .{
4922 .required_features = .{ .x87, null, null, null },
4923 .src_constraints = .{4895 .src_constraints = .{
4924 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },4896 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
4925 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },4897 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
4926 .any,4898 .any,
4927 },4899 },
4928 .patterns = &.{4900 .patterns = &.{
4929 .{ .src = .{ .mem, .mem, .none } },4901 .{ .src = .{ .to_mem, .to_mem, .none } },
4930 },4902 },
4931 .extra_temps = .{4903 .extra_temps = .{
4932 .{ .type = .f80, .kind = .{ .reg = .st6 } },4904 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4933 .{ .type = .f80, .kind = .{ .reg = .st7 } },4905 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
4934 .unused,4906 .unused,
4935 .unused,4907 .unused,
4936 .unused,4908 .unused,
...@@ -4939,28 +4911,73 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4939,28 +4911,73 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4939 .unused,4911 .unused,
4940 .unused,4912 .unused,
4941 },4913 },
4942 .dst_temps = .{.{ .rc = .x87 }},4914 .dst_temps = .{ .mem, .unused },
4943 .each = .{ .once = &.{4915 .each = .{ .once = &.{
4944 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },4916 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4945 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },4917 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
4946 .{ ._, .f_p, .mul, ._, ._, ._, ._ },4918 .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
4947 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },4919 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
4920 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
4921 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4948 } },4922 } },
4949 }, .{4923 }, .{
4950 .required_features = .{ .x87, null, null, null },4924 .required_features = .{ .avx, null, null, null },
4951 .src_constraints = .{4925 .src_constraints = .{
4952 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },4926 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
4953 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },4927 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
4954 .any,4928 .any,
4955 },4929 },
4956 .patterns = &.{4930 .patterns = &.{
4957 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },4931 .{ .src = .{ .to_sse, .mem, .none } },
4958 .{ .src = .{ .mem, .to_x87, .none } },4932 .{ .src = .{ .to_sse, .to_sse, .none } },
4959 .{ .src = .{ .to_x87, .to_x87, .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 } },
4960 },4977 },
4961 .extra_temps = .{4978 .extra_temps = .{
4962 .{ .type = .f80, .kind = .{ .reg = .st7 } },4979 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4963 .unused,4980 .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } },
4964 .unused,4981 .unused,
4965 .unused,4982 .unused,
4966 .unused,4983 .unused,
...@@ -4969,17 +4986,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4969,17 +4986,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4969 .unused,4986 .unused,
4970 .unused,4987 .unused,
4971 },4988 },
4972 .dst_temps = .{.{ .rc = .x87 }},4989 .dst_temps = .{ .mem, .unused },
4973 .each = .{ .once = &.{4990 .each = .{ .once = &.{
4974 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },4991 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4975 .{ ._, .f_, .mul, .tmp0t, .src1t, ._, ._ },4992 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4976 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },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", ._, ._, ._ },
4977 } },4997 } },
4978 }, .{4998 }, .{
4979 .required_features = .{ .x87, null, null, null },4999 .required_features = .{ .avx, null, null, null },
4980 .src_constraints = .{5000 .src_constraints = .{
4981 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },5001 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
4982 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },5002 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
4983 .any,5003 .any,
4984 },5004 },
4985 .patterns = &.{5005 .patterns = &.{
...@@ -4987,8 +5007,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4987,8 +5007,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4987 },5007 },
4988 .extra_temps = .{5008 .extra_temps = .{
4989 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5009 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4990 .{ .type = .f80, .kind = .{ .reg = .st6 } },5010 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
4991 .{ .type = .f80, .kind = .{ .reg = .st7 } },5011 .unused,
4992 .unused,5012 .unused,
4993 .unused,5013 .unused,
4994 .unused,5014 .unused,
...@@ -4996,30 +5016,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4996,30 +5016,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4996 .unused,5016 .unused,
4997 .unused,5017 .unused,
4998 },5018 },
4999 .dst_temps = .{.mem},5019 .dst_temps = .{ .mem, .unused },
5000 .each = .{ .once = &.{5020 .each = .{ .once = &.{
5001 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5021 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5002 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },5022 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5003 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },5023 .{ ._, .vp_q, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
5004 .{ ._, .f_p, .mul, ._, ._, ._, ._ },5024 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5005 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5006 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },5025 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5007 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5026 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
5008 } },5027 } },
5009 }, .{5028 }, .{
5010 .required_features = .{ .sse, null, null, null },5029 .required_features = .{ .sse2, null, null, null },
5011 .src_constraints = .{5030 .src_constraints = .{
5012 .{ .scalar_float = .{ .of = .xword, .is = .xword } },5031 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
5013 .{ .scalar_float = .{ .of = .xword, .is = .xword } },5032 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
5014 .any,5033 .any,
5015 },5034 },
5016 .patterns = &.{5035 .patterns = &.{
5017 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },5036 .{ .src = .{ .to_mem, .to_mem, .none } },
5018 },5037 },
5019 .call_frame = .{ .alignment = .@"16" },
5020 .extra_temps = .{5038 .extra_temps = .{
5021 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },5039 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5022 .unused,5040 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
5023 .unused,5041 .unused,
5024 .unused,5042 .unused,
5025 .unused,5043 .unused,
...@@ -5028,131 +5046,119 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5028,131 +5046,119 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5028 .unused,5046 .unused,
5029 .unused,5047 .unused,
5030 },5048 },
5031 .dst_temps = .{.{ .ref = .src0 }},5049 .dst_temps = .{ .mem, .unused },
5032 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5033 .each = .{ .once = &.{5050 .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", ._, ._, ._ },
5035 } },5057 } },
5036 }, .{5058 }, .{
5037 .required_features = .{ .avx, null, null, null },5059 .required_features = .{ .@"64bit", null, null, null },
5038 .src_constraints = .{5060 .src_constraints = .{
5039 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },5061 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
5040 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },5062 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
5041 .any,5063 .any,
5042 },5064 },
5043 .patterns = &.{5065 .patterns = &.{
5044 .{ .src = .{ .to_mem, .to_mem, .none } },5066 .{ .src = .{ .to_mem, .to_mem, .none } },
5045 },5067 },
5046 .call_frame = .{ .alignment = .@"16" },
5047 .extra_temps = .{5068 .extra_temps = .{
5048 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5069 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5049 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },5070 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
5050 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },5071 .unused,
5051 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },5072 .unused,
5052 .unused,5073 .unused,
5053 .unused,5074 .unused,
5054 .unused,5075 .unused,
5055 .unused,5076 .unused,
5056 .unused,5077 .unused,
5057 },5078 },
5058 .dst_temps = .{.mem},5079 .dst_temps = .{ .mem, .unused },
5059 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5060 .each = .{ .once = &.{5080 .each = .{ .once = &.{
5061 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5062 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },5082 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
5063 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },5083 .{ ._, ._, .sub, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
5064 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },5084 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
5065 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },5085 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
5066 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5067 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5086 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
5068 } },5087 } },
5069 }, .{5088 }, .{
5070 .required_features = .{ .sse2, null, null, null },5089 .required_features = .{ .@"64bit", null, null, null },
5071 .src_constraints = .{5090 .src_constraints = .{
5072 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },5091 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
5073 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },5092 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
5074 .any,5093 .any,
5075 },5094 },
5076 .patterns = &.{5095 .patterns = &.{
5077 .{ .src = .{ .to_mem, .to_mem, .none } },5096 .{ .src = .{ .to_mem, .to_mem, .none } },
5078 },5097 },
5079 .call_frame = .{ .alignment = .@"16" },
5080 .extra_temps = .{5098 .extra_temps = .{
5081 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5099 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5082 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },5100 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5083 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },5101 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5084 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },5102 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5085 .unused,5103 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5086 .unused,5104 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
5087 .unused,5105 .unused,
5088 .unused,5106 .unused,
5089 .unused,5107 .unused,
5090 },5108 },
5091 .dst_temps = .{.mem},5109 .dst_temps = .{ .mem, .unused },
5092 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5093 .each = .{ .once = &.{5110 .each = .{ .once = &.{
5094 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5111 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5095 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },5112 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
5096 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },5113 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
5097 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },5114 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
5098 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },5115 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_8), ._, ._ },
5099 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },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), ._, ._ },
5100 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5123 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
5101 } },5124 } },
5102 }, .{5125 }, .{
5103 .required_features = .{ .sse, null, null, null },
5104 .src_constraints = .{5126 .src_constraints = .{
5105 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },5127 .{ .scalar_remainder_int = .{ .of = .dword, .is = .dword } },
5106 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },5128 .{ .scalar_remainder_int = .{ .of = .dword, .is = .dword } },
5107 .any,5129 .any,
5108 },5130 },
5109 .patterns = &.{5131 .patterns = &.{
5110 .{ .src = .{ .to_mem, .to_mem, .none } },5132 .{ .src = .{ .to_mem, .to_mem, .none } },
5111 },5133 },
5112 .call_frame = .{ .alignment = .@"16" },
5113 .extra_temps = .{5134 .extra_temps = .{
5114 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5135 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5115 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },5136 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5116 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },5137 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5117 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },5138 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5118 .unused,5139 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5119 .unused,5140 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
5120 .unused,5141 .unused,
5121 .unused,5142 .unused,
5122 .unused,5143 .unused,
5123 },5144 },
5124 .dst_temps = .{.mem},5145 .dst_temps = .{ .mem, .unused },
5125 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5126 .each = .{ .once = &.{5146 .each = .{ .once = &.{
5127 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5147 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5128 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },5148 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
5129 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },5149 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
5130 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },5150 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
5131 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },5151 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_4), ._, ._ },
5132 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },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), ._, ._ },
5133 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5159 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
5134 } },5160 } },
5135 } }) catch |err| switch (err) {5161 }, .{
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 &.{ .{
5156 .required_features = .{ .f16c, null, null, null },5162 .required_features = .{ .f16c, null, null, null },
5157 .src_constraints = .{5163 .src_constraints = .{
5158 .{ .scalar_float = .{ .of = .word, .is = .word } },5164 .{ .scalar_float = .{ .of = .word, .is = .word } },
...@@ -5173,11 +5179,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5173,11 +5179,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5173 .unused,5179 .unused,
5174 .unused,5180 .unused,
5175 },5181 },
5176 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5182 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5177 .each = .{ .once = &.{5183 .each = .{ .once = &.{
5178 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },5184 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
5179 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },5185 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
5180 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },5186 .{ ._, .v_ss, .sub, .dst0x, .dst0x, .tmp0d, ._ },
5181 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },5187 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
5182 } },5188 } },
5183 }, .{5189 }, .{
...@@ -5192,7 +5198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5192,7 +5198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5192 },5198 },
5193 .call_frame = .{ .alignment = .@"16" },5199 .call_frame = .{ .alignment = .@"16" },
5194 .extra_temps = .{5200 .extra_temps = .{
5195 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },5201 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
5196 .unused,5202 .unused,
5197 .unused,5203 .unused,
5198 .unused,5204 .unused,
...@@ -5202,7 +5208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5202,7 +5208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5202 .unused,5208 .unused,
5203 .unused,5209 .unused,
5204 },5210 },
5205 .dst_temps = .{.{ .ref = .src0 }},5211 .dst_temps = .{ .{ .ref = .src0 }, .unused },
5206 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5212 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5207 .each = .{ .once = &.{5213 .each = .{ .once = &.{
5208 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },5214 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -5231,11 +5237,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5231,11 +5237,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5231 .unused,5237 .unused,
5232 .unused,5238 .unused,
5233 },5239 },
5234 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5240 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5235 .each = .{ .once = &.{5241 .each = .{ .once = &.{
5236 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },5242 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
5237 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },5243 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
5238 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },5244 .{ ._, .v_ps, .sub, .dst0x, .dst0x, .tmp0x, ._ },
5239 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },5245 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
5240 } },5246 } },
5241 }, .{5247 }, .{
...@@ -5262,11 +5268,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5262,11 +5268,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5262 .unused,5268 .unused,
5263 .unused,5269 .unused,
5264 },5270 },
5265 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5271 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5266 .each = .{ .once = &.{5272 .each = .{ .once = &.{
5267 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },5273 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
5268 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },5274 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
5269 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },5275 .{ ._, .v_ps, .sub, .dst0y, .dst0y, .tmp0y, ._ },
5270 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },5276 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
5271 } },5277 } },
5272 }, .{5278 }, .{
...@@ -5290,13 +5296,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5290,13 +5296,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5290 .unused,5296 .unused,
5291 .unused,5297 .unused,
5292 },5298 },
5293 .dst_temps = .{.mem},5299 .dst_temps = .{ .mem, .unused },
5294 .clobbers = .{ .eflags = true },5300 .clobbers = .{ .eflags = true },
5295 .each = .{ .once = &.{5301 .each = .{ .once = &.{
5296 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5302 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5297 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },5303 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5298 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },5304 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5299 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },5305 .{ ._, .v_ps, .sub, .tmp1y, .tmp1y, .tmp2y, ._ },
5300 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },5306 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
5301 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },5307 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5302 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5308 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5316,14 +5322,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5316,14 +5322,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5316 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5322 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5317 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },5323 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
5318 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },5324 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5319 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },5325 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
5320 .unused,5326 .unused,
5321 .unused,5327 .unused,
5322 .unused,5328 .unused,
5323 .unused,5329 .unused,
5324 .unused,5330 .unused,
5325 },5331 },
5326 .dst_temps = .{.mem},5332 .dst_temps = .{ .mem, .unused },
5327 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5333 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5328 .each = .{ .once = &.{5334 .each = .{ .once = &.{
5329 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5335 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -5350,14 +5356,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5350,14 +5356,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5350 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5356 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5351 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },5357 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
5352 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },5358 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5353 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },5359 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
5354 .unused,5360 .unused,
5355 .unused,5361 .unused,
5356 .unused,5362 .unused,
5357 .unused,5363 .unused,
5358 .unused,5364 .unused,
5359 },5365 },
5360 .dst_temps = .{.mem},5366 .dst_temps = .{ .mem, .unused },
5361 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5367 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5362 .each = .{ .once = &.{5368 .each = .{ .once = &.{
5363 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5369 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -5385,14 +5391,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5385,14 +5391,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5385 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5391 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5386 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },5392 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
5387 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },5393 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5388 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },5394 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
5389 .{ .type = .f16, .kind = .{ .reg = .ax } },5395 .{ .type = .f16, .kind = .{ .reg = .ax } },
5390 .unused,5396 .unused,
5391 .unused,5397 .unused,
5392 .unused,5398 .unused,
5393 .unused,5399 .unused,
5394 },5400 },
5395 .dst_temps = .{.mem},5401 .dst_temps = .{ .mem, .unused },
5396 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5402 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5397 .each = .{ .once = &.{5403 .each = .{ .once = &.{
5398 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5404 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -5423,12 +5429,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5423,12 +5429,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5423 .{ .type = .f32, .kind = .mem },5429 .{ .type = .f32, .kind = .mem },
5424 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },5430 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
5425 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },5431 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5426 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },5432 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
5427 .unused,5433 .unused,
5428 .unused,5434 .unused,
5429 .unused,5435 .unused,
5430 },5436 },
5431 .dst_temps = .{.mem},5437 .dst_temps = .{ .mem, .unused },
5432 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5438 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5433 .each = .{ .once = &.{5439 .each = .{ .once = &.{
5434 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5440 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -5456,9 +5462,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5456,9 +5462,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5456 .{ .src = .{ .to_sse, .mem, .none } },5462 .{ .src = .{ .to_sse, .mem, .none } },
5457 .{ .src = .{ .to_sse, .to_sse, .none } },5463 .{ .src = .{ .to_sse, .to_sse, .none } },
5458 },5464 },
5459 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5465 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5460 .each = .{ .once = &.{5466 .each = .{ .once = &.{
5461 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },5467 .{ ._, .v_ss, .sub, .dst0x, .src0x, .src1d, ._ },
5462 } },5468 } },
5463 }, .{5469 }, .{
5464 .required_features = .{ .sse, null, null, null },5470 .required_features = .{ .sse, null, null, null },
...@@ -5471,9 +5477,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5471,9 +5477,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5471 .{ .src = .{ .to_mut_sse, .mem, .none } },5477 .{ .src = .{ .to_mut_sse, .mem, .none } },
5472 .{ .src = .{ .to_mut_sse, .to_sse, .none } },5478 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
5473 },5479 },
5474 .dst_temps = .{.{ .ref = .src0 }},5480 .dst_temps = .{ .{ .ref = .src0 }, .unused },
5475 .each = .{ .once = &.{5481 .each = .{ .once = &.{
5476 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },5482 .{ ._, ._ss, .sub, .dst0x, .src1d, ._, ._ },
5477 } },5483 } },
5478 }, .{5484 }, .{
5479 .required_features = .{ .avx, null, null, null },5485 .required_features = .{ .avx, null, null, null },
...@@ -5486,9 +5492,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5486,9 +5492,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5486 .{ .src = .{ .to_sse, .mem, .none } },5492 .{ .src = .{ .to_sse, .mem, .none } },
5487 .{ .src = .{ .to_sse, .to_sse, .none } },5493 .{ .src = .{ .to_sse, .to_sse, .none } },
5488 },5494 },
5489 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5495 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5490 .each = .{ .once = &.{5496 .each = .{ .once = &.{
5491 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },5497 .{ ._, .v_ps, .sub, .dst0x, .src0x, .src1x, ._ },
5492 } },5498 } },
5493 }, .{5499 }, .{
5494 .required_features = .{ .sse, null, null, null },5500 .required_features = .{ .sse, null, null, null },
...@@ -5501,9 +5507,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5501,9 +5507,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5501 .{ .src = .{ .to_mut_sse, .mem, .none } },5507 .{ .src = .{ .to_mut_sse, .mem, .none } },
5502 .{ .src = .{ .to_mut_sse, .to_sse, .none } },5508 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
5503 },5509 },
5504 .dst_temps = .{.{ .ref = .src0 }},5510 .dst_temps = .{ .{ .ref = .src0 }, .unused },
5505 .each = .{ .once = &.{5511 .each = .{ .once = &.{
5506 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },5512 .{ ._, ._ps, .sub, .dst0x, .src1x, ._, ._ },
5507 } },5513 } },
5508 }, .{5514 }, .{
5509 .required_features = .{ .avx, null, null, null },5515 .required_features = .{ .avx, null, null, null },
...@@ -5516,9 +5522,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5516,9 +5522,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5516 .{ .src = .{ .to_sse, .mem, .none } },5522 .{ .src = .{ .to_sse, .mem, .none } },
5517 .{ .src = .{ .to_sse, .to_sse, .none } },5523 .{ .src = .{ .to_sse, .to_sse, .none } },
5518 },5524 },
5519 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5525 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5520 .each = .{ .once = &.{5526 .each = .{ .once = &.{
5521 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },5527 .{ ._, .v_ps, .sub, .dst0y, .src0y, .src1y, ._ },
5522 } },5528 } },
5523 }, .{5529 }, .{
5524 .required_features = .{ .avx, null, null, null },5530 .required_features = .{ .avx, null, null, null },
...@@ -5541,12 +5547,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5541,12 +5547,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5541 .unused,5547 .unused,
5542 .unused,5548 .unused,
5543 },5549 },
5544 .dst_temps = .{.mem},5550 .dst_temps = .{ .mem, .unused },
5545 .clobbers = .{ .eflags = true },5551 .clobbers = .{ .eflags = true },
5546 .each = .{ .once = &.{5552 .each = .{ .once = &.{
5547 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5553 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5548 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },5554 .{ .@"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), ._ },
5550 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },5556 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
5551 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },5557 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
5552 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5558 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5572,12 +5578,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5572,12 +5578,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5572 .unused,5578 .unused,
5573 .unused,5579 .unused,
5574 },5580 },
5575 .dst_temps = .{.mem},5581 .dst_temps = .{ .mem, .unused },
5576 .clobbers = .{ .eflags = true },5582 .clobbers = .{ .eflags = true },
5577 .each = .{ .once = &.{5583 .each = .{ .once = &.{
5578 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5584 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5579 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },5585 .{ .@"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), ._, ._ },
5581 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },5587 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5582 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },5588 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5583 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5589 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5593,9 +5599,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5593,9 +5599,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5593 .{ .src = .{ .to_sse, .mem, .none } },5599 .{ .src = .{ .to_sse, .mem, .none } },
5594 .{ .src = .{ .to_sse, .to_sse, .none } },5600 .{ .src = .{ .to_sse, .to_sse, .none } },
5595 },5601 },
5596 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5602 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5597 .each = .{ .once = &.{5603 .each = .{ .once = &.{
5598 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },5604 .{ ._, .v_sd, .sub, .dst0x, .src0x, .src1q, ._ },
5599 } },5605 } },
5600 }, .{5606 }, .{
5601 .required_features = .{ .sse2, null, null, null },5607 .required_features = .{ .sse2, null, null, null },
...@@ -5608,9 +5614,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5608,9 +5614,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5608 .{ .src = .{ .to_mut_sse, .mem, .none } },5614 .{ .src = .{ .to_mut_sse, .mem, .none } },
5609 .{ .src = .{ .to_mut_sse, .to_sse, .none } },5615 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
5610 },5616 },
5611 .dst_temps = .{.{ .ref = .src0 }},5617 .dst_temps = .{ .{ .ref = .src0 }, .unused },
5612 .each = .{ .once = &.{5618 .each = .{ .once = &.{
5613 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },5619 .{ ._, ._sd, .sub, .dst0x, .src1q, ._, ._ },
5614 } },5620 } },
5615 }, .{5621 }, .{
5616 .required_features = .{ .x87, null, null, null },5622 .required_features = .{ .x87, null, null, null },
...@@ -5620,7 +5626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5620,7 +5626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5620 .any,5626 .any,
5621 },5627 },
5622 .patterns = &.{5628 .patterns = &.{
5623 .{ .src = .{ .mem, .mem, .none } },5629 .{ .src = .{ .to_mem, .to_mem, .none } },
5624 },5630 },
5625 .extra_temps = .{5631 .extra_temps = .{
5626 .{ .type = .f64, .kind = .{ .reg = .st6 } },5632 .{ .type = .f64, .kind = .{ .reg = .st6 } },
...@@ -5633,10 +5639,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5633,10 +5639,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5633 .unused,5639 .unused,
5634 .unused,5640 .unused,
5635 },5641 },
5636 .dst_temps = .{.mem},5642 .dst_temps = .{ .mem, .unused },
5637 .each = .{ .once = &.{5643 .each = .{ .once = &.{
5638 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },5644 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5639 .{ ._, .f_, .div, .src1q, ._, ._, ._ },5645 .{ ._, .f_, .sub, .src1q, ._, ._, ._ },
5640 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },5646 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
5641 } },5647 } },
5642 }, .{5648 }, .{
...@@ -5650,9 +5656,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5650,9 +5656,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5650 .{ .src = .{ .to_sse, .mem, .none } },5656 .{ .src = .{ .to_sse, .mem, .none } },
5651 .{ .src = .{ .to_sse, .to_sse, .none } },5657 .{ .src = .{ .to_sse, .to_sse, .none } },
5652 },5658 },
5653 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5659 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5654 .each = .{ .once = &.{5660 .each = .{ .once = &.{
5655 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },5661 .{ ._, .v_pd, .sub, .dst0x, .src0x, .src1x, ._ },
5656 } },5662 } },
5657 }, .{5663 }, .{
5658 .required_features = .{ .sse2, null, null, null },5664 .required_features = .{ .sse2, null, null, null },
...@@ -5665,9 +5671,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5665,9 +5671,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5665 .{ .src = .{ .to_mut_sse, .mem, .none } },5671 .{ .src = .{ .to_mut_sse, .mem, .none } },
5666 .{ .src = .{ .to_mut_sse, .to_sse, .none } },5672 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
5667 },5673 },
5668 .dst_temps = .{.{ .ref = .src0 }},5674 .dst_temps = .{ .{ .ref = .src0 }, .unused },
5669 .each = .{ .once = &.{5675 .each = .{ .once = &.{
5670 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },5676 .{ ._, ._pd, .sub, .dst0x, .src1x, ._, ._ },
5671 } },5677 } },
5672 }, .{5678 }, .{
5673 .required_features = .{ .avx, null, null, null },5679 .required_features = .{ .avx, null, null, null },
...@@ -5680,9 +5686,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5680,9 +5686,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5680 .{ .src = .{ .to_sse, .mem, .none } },5686 .{ .src = .{ .to_sse, .mem, .none } },
5681 .{ .src = .{ .to_sse, .to_sse, .none } },5687 .{ .src = .{ .to_sse, .to_sse, .none } },
5682 },5688 },
5683 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},5689 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5684 .each = .{ .once = &.{5690 .each = .{ .once = &.{
5685 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },5691 .{ ._, .v_pd, .sub, .dst0y, .src0y, .src1y, ._ },
5686 } },5692 } },
5687 }, .{5693 }, .{
5688 .required_features = .{ .avx, null, null, null },5694 .required_features = .{ .avx, null, null, null },
...@@ -5705,12 +5711,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5705,12 +5711,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5705 .unused,5711 .unused,
5706 .unused,5712 .unused,
5707 },5713 },
5708 .dst_temps = .{.mem},5714 .dst_temps = .{ .mem, .unused },
5709 .clobbers = .{ .eflags = true },5715 .clobbers = .{ .eflags = true },
5710 .each = .{ .once = &.{5716 .each = .{ .once = &.{
5711 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5712 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },5718 .{ .@"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), ._ },
5714 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },5720 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
5715 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },5721 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
5716 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5722 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5736,12 +5742,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5736,12 +5742,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5736 .unused,5742 .unused,
5737 .unused,5743 .unused,
5738 },5744 },
5739 .dst_temps = .{.mem},5745 .dst_temps = .{ .mem, .unused },
5740 .clobbers = .{ .eflags = true },5746 .clobbers = .{ .eflags = true },
5741 .each = .{ .once = &.{5747 .each = .{ .once = &.{
5742 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5748 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5743 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },5749 .{ .@"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), ._, ._ },
5745 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },5751 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5746 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },5752 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5747 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5753 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5767,11 +5773,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5767,11 +5773,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5767 .unused,5773 .unused,
5768 .unused,5774 .unused,
5769 },5775 },
5770 .dst_temps = .{.mem},5776 .dst_temps = .{ .mem, .unused },
5771 .each = .{ .once = &.{5777 .each = .{ .once = &.{
5772 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5778 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5773 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },5779 .{ .@"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), ._, ._, ._ },
5775 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },5781 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
5776 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },5782 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
5777 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5783 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5797,11 +5803,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5797,11 +5803,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5797 .unused,5803 .unused,
5798 .unused,5804 .unused,
5799 },5805 },
5800 .dst_temps = .{.{ .rc = .x87 }},5806 .dst_temps = .{ .{ .rc = .x87 }, .unused },
5801 .each = .{ .once = &.{5807 .each = .{ .once = &.{
5802 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },5808 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5803 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },5809 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
5804 .{ ._, .f_p, .div, ._, ._, ._, ._ },5810 .{ ._, .f_p, .sub, ._, ._, ._, ._ },
5805 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },5811 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
5806 } },5812 } },
5807 }, .{5813 }, .{
...@@ -5825,10 +5831,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5825,10 +5831,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5825 .unused,5831 .unused,
5826 .unused,5832 .unused,
5827 },5833 },
5828 .dst_temps = .{.{ .rc = .x87 }},5834 .dst_temps = .{ .{ .rc = .x87 }, .unused },
5829 .each = .{ .once = &.{5835 .each = .{ .once = &.{
5830 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },5836 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5831 .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },5837 .{ ._, .f_, .subr, .tmp0t, .src1t, ._, ._ },
5832 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },5838 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
5833 } },5839 } },
5834 }, .{5840 }, .{
...@@ -5853,10 +5859,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5853,10 +5859,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5853 .unused,5859 .unused,
5854 .unused,5860 .unused,
5855 },5861 },
5856 .dst_temps = .{.{ .rc = .x87 }},5862 .dst_temps = .{ .{ .rc = .x87 }, .unused },
5857 .each = .{ .once = &.{5863 .each = .{ .once = &.{
5858 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },5864 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5859 .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },5865 .{ ._, .f_, .sub, .tmp0t, .src1t, ._, ._ },
5860 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },5866 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
5861 } },5867 } },
5862 }, .{5868 }, .{
...@@ -5880,12 +5886,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5880,12 +5886,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5880 .unused,5886 .unused,
5881 .unused,5887 .unused,
5882 },5888 },
5883 .dst_temps = .{.mem},5889 .dst_temps = .{ .mem, .unused },
5884 .each = .{ .once = &.{5890 .each = .{ .once = &.{
5885 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5886 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },5892 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5887 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },5893 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5888 .{ ._, .f_p, .div, ._, ._, ._, ._ },5894 .{ ._, .f_p, .sub, ._, ._, ._, ._ },
5889 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },5895 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5890 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },5896 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5891 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },5897 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -5902,7 +5908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5902,7 +5908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5902 },5908 },
5903 .call_frame = .{ .alignment = .@"16" },5909 .call_frame = .{ .alignment = .@"16" },
5904 .extra_temps = .{5910 .extra_temps = .{
5905 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },5911 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
5906 .unused,5912 .unused,
5907 .unused,5913 .unused,
5908 .unused,5914 .unused,
...@@ -5912,7 +5918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5912,7 +5918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5912 .unused,5918 .unused,
5913 .unused,5919 .unused,
5914 },5920 },
5915 .dst_temps = .{.{ .ref = .src0 }},5921 .dst_temps = .{ .{ .ref = .src0 }, .unused },
5916 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5922 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5917 .each = .{ .once = &.{5923 .each = .{ .once = &.{
5918 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },5924 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -5932,14 +5938,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5932,14 +5938,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5932 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5938 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5933 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },5939 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
5934 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },5940 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5935 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },5941 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
5936 .unused,5942 .unused,
5937 .unused,5943 .unused,
5938 .unused,5944 .unused,
5939 .unused,5945 .unused,
5940 .unused,5946 .unused,
5941 },5947 },
5942 .dst_temps = .{.mem},5948 .dst_temps = .{ .mem, .unused },
5943 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5949 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5944 .each = .{ .once = &.{5950 .each = .{ .once = &.{
5945 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5951 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -5965,14 +5971,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5965,14 +5971,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5965 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },5971 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5966 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },5972 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
5967 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },5973 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5968 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },5974 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
5969 .unused,5975 .unused,
5970 .unused,5976 .unused,
5971 .unused,5977 .unused,
5972 .unused,5978 .unused,
5973 .unused,5979 .unused,
5974 },5980 },
5975 .dst_temps = .{.mem},5981 .dst_temps = .{ .mem, .unused },
5976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },5982 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5977 .each = .{ .once = &.{5983 .each = .{ .once = &.{
5978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },5984 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -5998,14 +6004,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5998,14 +6004,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5998 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6004 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5999 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },6005 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
6000 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },6006 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
6001 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },6007 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
6002 .unused,6008 .unused,
6003 .unused,6009 .unused,
6004 .unused,6010 .unused,
6005 .unused,6011 .unused,
6006 .unused,6012 .unused,
6007 },6013 },
6008 .dst_temps = .{.mem},6014 .dst_temps = .{ .mem, .unused },
6009 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6015 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6010 .each = .{ .once = &.{6016 .each = .{ .once = &.{
6011 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6017 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -6027,1071 +6033,3118 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -6027,1071 +6033,3118 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6027 };6033 };
6028 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);6034 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
6029 },6035 },
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: {
6031 const bin_op = air_datas[@intFromEnum(inst)].bin_op;6038 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);
6033 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });6041 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
6034 var res: [1]Temp = undefined;6042 var res: [1]Temp = undefined;
6035 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, switch (@as(bits.RoundMode.Direction, switch (air_tag) {6043 cg.select(&res, &.{ty}, &ops, comptime &.{ .{
6036 else => unreachable,6044 .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any },
6037 .div_trunc => .zero,6045 .patterns = &.{
6038 .div_floor => .down,6046 .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
6039 })) {6047 .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
6040 else => unreachable,6048 .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
6041 inline .zero, .down => |direction| comptime &.{ .{6049 },
6042 .required_features = .{ .f16c, null, null, null },6050 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6043 .src_constraints = .{6051 .clobbers = .{ .eflags = true },
6044 .{ .scalar_float = .{ .of = .word, .is = .word } },6052 .each = .{ .once = &.{
6045 .{ .scalar_float = .{ .of = .word, .is = .word } },6053 .{ ._, .i_, .mul, .src1b, ._, ._, ._ },
6046 .any,6054 } },
6047 },6055 }, .{
6048 .patterns = &.{6056 .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any },
6049 .{ .src = .{ .to_sse, .to_sse, .none } },6057 .patterns = &.{
6050 },6058 .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
6051 .extra_temps = .{6059 .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
6052 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },6060 .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
6053 .unused,6061 },
6054 .unused,6062 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6055 .unused,6063 .clobbers = .{ .eflags = true },
6056 .unused,6064 .each = .{ .once = &.{
6057 .unused,6065 .{ ._, ._, .mul, .src1b, ._, ._, ._ },
6058 .unused,6066 } },
6059 .unused,6067 }, .{
6060 .unused,6068 .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any },
6061 },6069 .patterns = &.{
6062 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6070 .{ .src = .{ .mem, .imm16, .none } },
6063 .each = .{ .once = &.{6071 .{ .src = .{ .imm16, .mem, .none }, .commute = .{ 0, 1 } },
6064 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },6072 .{ .src = .{ .to_gpr, .imm16, .none } },
6065 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },6073 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },
6066 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },6074 },
6067 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },6075 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
6068 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },6076 .clobbers = .{ .eflags = true },
6069 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },6077 .each = .{ .once = &.{
6070 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },6078 .{ ._, .i_, .mul, .dst0w, .src0w, .src1w, ._ },
6071 } },6079 } },
6072 }, .{6080 }, .{
6073 .required_features = .{ .sse, null, null, null },6081 .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any },
6074 .src_constraints = .{6082 .patterns = &.{
6075 .{ .scalar_float = .{ .of = .word, .is = .word } },6083 .{ .src = .{ .to_mut_gpr, .mem, .none } },
6076 .{ .scalar_float = .{ .of = .word, .is = .word } },6084 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
6077 .any,6085 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
6078 },6086 },
6079 .patterns = &.{6087 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6080 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },6088 .clobbers = .{ .eflags = true },
6081 },6089 .each = .{ .once = &.{
6082 .call_frame = .{ .alignment = .@"16" },6090 .{ ._, .i_, .mul, .dst0w, .src1w, ._, ._ },
6083 .extra_temps = .{6091 } },
6084 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },6092 }, .{
6085 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6093 .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any },
6086 else => unreachable,6094 .patterns = &.{
6087 .zero => "__trunch",6095 .{ .src = .{ .mem, .imm32, .none } },
6088 .down => "__floorh",6096 .{ .src = .{ .imm32, .mem, .none }, .commute = .{ 0, 1 } },
6089 } } } },6097 .{ .src = .{ .to_gpr, .imm32, .none } },
6090 .unused,6098 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
6091 .unused,6099 },
6092 .unused,6100 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
6093 .unused,6101 .clobbers = .{ .eflags = true },
6094 .unused,6102 .each = .{ .once = &.{
6095 .unused,6103 .{ ._, .i_, .mul, .dst0d, .src0d, .src1d, ._ },
6096 .unused,6104 } },
6097 },6105 }, .{
6098 .dst_temps = .{.{ .ref = .src0 }},6106 .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any },
6099 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6107 .patterns = &.{
6100 .each = .{ .once = &.{6108 .{ .src = .{ .to_mut_gpr, .mem, .none } },
6101 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },6109 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
6102 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },6110 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
6103 } },6111 },
6104 }, .{6112 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6105 .required_features = .{ .f16c, null, null, null },6113 .clobbers = .{ .eflags = true },
6106 .src_constraints = .{6114 .each = .{ .once = &.{
6107 .{ .scalar_float = .{ .of = .qword, .is = .word } },6115 .{ ._, .i_, .mul, .dst0d, .src1d, ._, ._ },
6108 .{ .scalar_float = .{ .of = .qword, .is = .word } },6116 } },
6109 .any,6117 }, .{
6110 },6118 .required_features = .{ .@"64bit", null, null, null },
6111 .patterns = &.{6119 .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any },
6112 .{ .src = .{ .mem, .mem, .none } },6120 .patterns = &.{
6113 .{ .src = .{ .to_sse, .mem, .none } },6121 .{ .src = .{ .mem, .simm32, .none } },
6114 .{ .src = .{ .mem, .to_sse, .none } },6122 .{ .src = .{ .simm32, .mem, .none }, .commute = .{ 0, 1 } },
6115 .{ .src = .{ .to_sse, .to_sse, .none } },6123 .{ .src = .{ .to_gpr, .simm32, .none } },
6116 },6124 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
6117 .extra_temps = .{6125 },
6118 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },6126 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
6119 .unused,6127 .clobbers = .{ .eflags = true },
6120 .unused,6128 .each = .{ .once = &.{
6121 .unused,6129 .{ ._, .i_, .mul, .dst0q, .src0q, .src1q, ._ },
6122 .unused,6130 } },
6123 .unused,6131 }, .{
6124 .unused,6132 .required_features = .{ .@"64bit", null, null, null },
6125 .unused,6133 .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any },
6126 .unused,6134 .patterns = &.{
6127 },6135 .{ .src = .{ .to_mut_gpr, .mem, .none } },
6128 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6136 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
6129 .each = .{ .once = &.{6137 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
6130 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },6138 },
6131 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },6139 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6132 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },6140 .clobbers = .{ .eflags = true },
6133 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },6141 .each = .{ .once = &.{
6134 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },6142 .{ ._, .i_, .mul, .dst0q, .src1q, ._, ._ },
6135 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6143 } },
6136 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },6144 }, .{
6137 } },6145 .required_features = .{ .@"64bit", null, null, null },
6138 }, .{6146 .src_constraints = .{ .{ .int = .xword }, .{ .int = .xword }, .any },
6139 .required_features = .{ .f16c, null, null, null },6147 .patterns = &.{
6140 .src_constraints = .{6148 .{ .src = .{ .to_mem, .to_mem, .none } },
6141 .{ .scalar_float = .{ .of = .xword, .is = .word } },6149 },
6142 .{ .scalar_float = .{ .of = .xword, .is = .word } },6150 .extra_temps = .{
6143 .any,6151 .{ .type = .u64, .kind = .{ .reg = .rax } },
6144 },6152 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6145 .patterns = &.{6153 .unused,
6146 .{ .src = .{ .mem, .mem, .none } },6154 .unused,
6147 .{ .src = .{ .to_sse, .mem, .none } },6155 .unused,
6148 .{ .src = .{ .mem, .to_sse, .none } },6156 .unused,
6149 .{ .src = .{ .to_sse, .to_sse, .none } },6157 .unused,
6150 },6158 .unused,
6151 .extra_temps = .{6159 .unused,
6152 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },6160 },
6153 .unused,6161 .dst_temps = .{ .mem, .unused },
6154 .unused,6162 .clobbers = .{ .eflags = true },
6155 .unused,6163 .each = .{ .once = &.{
6156 .unused,6164 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
6157 .unused,6165 .{ ._, ._, .mul, .src1q, ._, ._, ._ },
6158 .unused,6166 .{ ._, ._, .mov, .dst0q, .tmp0q, ._, ._ },
6159 .unused,6167 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
6160 .unused,6168 .{ ._, .i_, .mul, .tmp0q, .memd(.src1q, 8), ._, ._ },
6161 },6169 .{ ._, ._, .add, .tmp1q, .tmp0q, ._, ._ },
6162 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6170 .{ ._, ._, .mov, .tmp0q, .src1q, ._, ._ },
6163 .each = .{ .once = &.{6171 .{ ._, .i_, .mul, .tmp0q, .memd(.src0q, 8), ._, ._ },
6164 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },6172 .{ ._, ._, .add, .tmp1q, .tmp0q, ._, ._ },
6165 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },6173 .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp1q, ._, ._ },
6166 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },6174 } },
6167 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },6175 }, .{
6168 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },6176 .required_features = .{ .@"64bit", .bmi2, .adx, null },
6169 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6177 .src_constraints = .{
6170 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },6178 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6171 } },6179 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6172 }, .{6180 .any,
6173 .required_features = .{ .f16c, null, null, null },6181 },
6174 .src_constraints = .{6182 .patterns = &.{
6175 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },6183 .{ .src = .{ .to_mem, .to_mem, .none } },
6176 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },6184 },
6177 .any,6185 .extra_temps = .{
6178 },6186 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6179 .patterns = &.{6187 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6180 .{ .src = .{ .to_mem, .to_mem, .none } },6188 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6181 },6189 .{ .type = .isize, .kind = .{ .reg = .rcx } },
6182 .extra_temps = .{6190 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6183 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6191 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6184 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },6192 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6185 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },6193 .unused,
6186 .unused,6194 .unused,
6187 .unused,6195 },
6188 .unused,6196 .dst_temps = .{ .mem, .unused },
6189 .unused,6197 .clobbers = .{ .eflags = true },
6190 .unused,6198 .each = .{ .once = &.{
6191 .unused,6199 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
6192 },6200 .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ },
6193 .dst_temps = .{.mem},6201 .{ .@"0:", ._, .xor, .tmp2d, .tmp2d, ._, ._ },
6194 .clobbers = .{ .eflags = true },6202 .{ ._, ._, .@"or", .tmp2q, .memi(.src0q, .tmp0), ._, ._ },
6195 .each = .{ .once = &.{6203 .{ ._, ._z, .j, .@"2f", ._, ._, ._ },
6196 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6204 .{ ._, ._, .lea, .tmp3p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ },
6197 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },6205 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6198 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },6206 .{ .@"1:", ._x, .mul, .tmp6q, .tmp5q, .leai(.tmp1q, .tmp3), ._ },
6199 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },6207 .{ ._, ._x, .adc, .tmp5q, .tmp4q, ._, ._ },
6200 .{ ._, .v_, .cvtps2ph, .tmp1x, .tmp1y, .rm(.{}), ._ },6208 .{ ._, ._, .mov, .memiad(.dst0q, .tmp3, .add_size, -8), .tmp5q, ._, ._ },
6201 .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ },6209 .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ },
6202 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6210 .{ ._, ._x, .ado, .tmp6q, .memia(.dst0q, .tmp3, .add_size), ._, ._ },
6203 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },6211 .{ ._, ._, .mov, .tmp4q, .tmp6q, ._, ._ },
6204 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },6212 .{ ._, ._, .lea, .tmp3p, .lead(.tmp3, 8), ._, ._ },
6205 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6213 .{ ._, ._mp, .j, .@"1b", ._, ._, ._ },
6206 } },6214 .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ },
6207 }, .{6215 .{ .@"1:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6208 .required_features = .{ .avx, null, null, null },6216 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
6209 .src_constraints = .{6217 .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
6210 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6218 } },
6211 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6219 }, .{
6212 .any,6220 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
6213 },6221 .src_constraints = .{
6214 .patterns = &.{6222 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6215 .{ .src = .{ .to_mem, .to_mem, .none } },6223 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6216 },6224 .any,
6217 .call_frame = .{ .alignment = .@"16" },6225 },
6218 .extra_temps = .{6226 .patterns = &.{
6219 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6227 .{ .src = .{ .to_mem, .to_mem, .none } },
6220 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },6228 },
6221 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },6229 .extra_temps = .{
6222 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },6230 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6223 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6231 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6224 else => unreachable,6232 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6225 .zero => "__trunch",6233 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6226 .down => "__floorh",6234 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6227 } } } },6235 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6228 .unused,6236 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6229 .unused,6237 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6230 .unused,6238 .unused,
6231 .unused,6239 },
6232 },6240 .dst_temps = .{ .mem, .unused },
6233 .dst_temps = .{.mem},6241 .clobbers = .{ .eflags = true },
6234 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6242 .each = .{ .once = &.{
6235 .each = .{ .once = &.{6243 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6236 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6244 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6237 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },6245 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6238 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },6246 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6239 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },6247 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6240 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },6248 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6241 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },6249 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6242 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },6250 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6243 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },6251 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6244 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6252 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6245 } },6253 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6246 }, .{6254 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6247 .required_features = .{ .sse4_1, null, null, null },6255 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6248 .src_constraints = .{6256 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6249 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6257 .{ .@"2:", ._x, .mul, .tmp7q, .tmp6q, .leasi(.tmp1q, .@"8", .tmp2), ._ },
6250 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6258 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6251 .any,6259 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6252 },6260 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6253 .patterns = &.{6261 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6254 .{ .src = .{ .to_mem, .to_mem, .none } },6262 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6255 },6263 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
6256 .call_frame = .{ .alignment = .@"16" },6264 .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
6257 .extra_temps = .{6265 } },
6258 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6266 }, .{
6259 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },6267 .required_features = .{ .@"64bit", .bmi2, null, null },
6260 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },6268 .src_constraints = .{
6261 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },6269 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6262 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6270 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6263 else => unreachable,6271 .any,
6264 .zero => "__trunch",6272 },
6265 .down => "__floorh",6273 .patterns = &.{
6266 } } } },6274 .{ .src = .{ .to_mem, .to_mem, .none } },
6267 .unused,6275 },
6268 .unused,6276 .extra_temps = .{
6269 .unused,6277 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6270 .unused,6278 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6271 },6279 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6272 .dst_temps = .{.mem},6280 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6273 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6281 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6274 .each = .{ .once = &.{6282 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6275 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6283 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6276 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },6284 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6277 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },6285 .unused,
6278 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },6286 },
6279 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },6287 .dst_temps = .{ .mem, .unused },
6280 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },6288 .clobbers = .{ .eflags = true },
6281 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },6289 .each = .{ .once = &.{
6282 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },6290 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6283 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },6291 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6284 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6292 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6285 } },6293 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6286 }, .{6294 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6287 .required_features = .{ .sse2, null, null, null },6295 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6288 .src_constraints = .{6296 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6289 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6297 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6290 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6298 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6291 .any,6299 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6292 },6300 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6293 .patterns = &.{6301 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6294 .{ .src = .{ .to_mem, .to_mem, .none } },6302 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6295 },6303 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6296 .call_frame = .{ .alignment = .@"16" },6304 .{ .@"2:", ._x, .mul, .tmp7q, .tmp6q, .leasi(.tmp1q, .@"8", .tmp2), ._ },
6297 .extra_temps = .{6305 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6298 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6306 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6299 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },6307 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6300 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },6308 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6301 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },6309 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6302 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6310 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
6303 else => unreachable,6311 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
6304 .zero => "__trunch",6312 } },
6305 .down => "__floorh",6313 }, .{
6306 } } } },6314 .required_features = .{ .@"64bit", .slow_incdec, null, null },
6307 .{ .type = .f16, .kind = .{ .reg = .ax } },6315 .src_constraints = .{
6308 .unused,6316 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6309 .unused,6317 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6310 .unused,6318 .any,
6311 },6319 },
6312 .dst_temps = .{.mem},6320 .patterns = &.{
6313 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6321 .{ .src = .{ .to_mem, .to_mem, .none } },
6314 .each = .{ .once = &.{6322 },
6315 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6323 .extra_temps = .{
6316 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },6324 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6317 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },6325 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6318 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },6326 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6319 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },6327 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6320 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },6328 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6321 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },6329 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6322 .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ },6330 .{ .type = .u64, .kind = .{ .reg = .rax } },
6323 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ },6331 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6324 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },6332 .unused,
6325 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6333 },
6326 } },6334 .dst_temps = .{ .mem, .unused },
6327 }, .{6335 .clobbers = .{ .eflags = true },
6328 .required_features = .{ .sse, null, null, null },6336 .each = .{ .once = &.{
6329 .src_constraints = .{6337 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6330 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6338 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6331 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },6339 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6332 .any,6340 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6333 },6341 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6334 .patterns = &.{6342 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6335 .{ .src = .{ .to_mem, .to_mem, .none } },6343 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6336 },6344 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6337 .call_frame = .{ .alignment = .@"16" },6345 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6338 .extra_temps = .{6346 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6339 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6347 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6340 .{ .type = .f16, .kind = .{ .reg = .ax } },6348 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6341 .{ .type = .f32, .kind = .mem },6349 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6342 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },6350 .{ .@"2:", ._, .mov, .tmp6q, .tmp3q, ._, ._ },
6343 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },6351 .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp2), ._, ._, ._ },
6344 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },6352 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6345 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6353 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6346 else => unreachable,6354 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6347 .zero => "__trunch",6355 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6348 .down => "__floorh",6356 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6349 } } } },6357 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6350 .unused,6358 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
6351 .unused,6359 .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
6352 },6360 } },
6353 .dst_temps = .{.mem},6361 }, .{
6354 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6362 .required_features = .{ .@"64bit", null, null, null },
6355 .each = .{ .once = &.{6363 .src_constraints = .{
6356 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6364 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6357 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },6365 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6358 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },6366 .any,
6359 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },6367 },
6360 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },6368 .patterns = &.{
6361 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },6369 .{ .src = .{ .to_mem, .to_mem, .none } },
6362 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },6370 },
6363 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },6371 .extra_temps = .{
6364 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },6372 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6365 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },6373 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6366 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },6374 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6367 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },6375 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6368 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },6376 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6369 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6377 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6370 } },6378 .{ .type = .u64, .kind = .{ .reg = .rax } },
6371 }, .{6379 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6372 .required_features = .{ .avx, null, null, null },6380 .unused,
6373 .src_constraints = .{6381 },
6374 .{ .scalar_float = .{ .of = .dword, .is = .dword } },6382 .dst_temps = .{ .mem, .unused },
6375 .{ .scalar_float = .{ .of = .dword, .is = .dword } },6383 .clobbers = .{ .eflags = true },
6376 .any,6384 .each = .{ .once = &.{
6377 },6385 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6378 .patterns = &.{6386 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6379 .{ .src = .{ .to_sse, .mem, .none } },6387 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6380 .{ .src = .{ .to_sse, .to_sse, .none } },6388 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6381 },6389 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6382 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6390 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6383 .each = .{ .once = &.{6391 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6384 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },6392 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6385 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },6393 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6386 } },6394 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6387 }, .{6395 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6388 .required_features = .{ .sse4_1, null, null, null },6396 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6389 .src_constraints = .{6397 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6390 .{ .scalar_float = .{ .of = .dword, .is = .dword } },6398 .{ .@"2:", ._, .mov, .tmp6q, .tmp3q, ._, ._ },
6391 .{ .scalar_float = .{ .of = .dword, .is = .dword } },6399 .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp2), ._, ._, ._ },
6392 .any,6400 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6393 },6401 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6394 .patterns = &.{6402 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6395 .{ .src = .{ .to_mut_sse, .mem, .none } },6403 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6396 .{ .src = .{ .to_mut_sse, .to_sse, .none } },6404 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6397 },6405 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6398 .dst_temps = .{.{ .ref = .src0 }},6406 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
6399 .each = .{ .once = &.{6407 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
6400 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },6408 } },
6401 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6409 }, .{
6402 } },6410 .required_features = .{ .f16c, null, null, null },
6403 }, .{6411 .src_constraints = .{
6404 .required_features = .{ .sse, null, null, null },6412 .{ .scalar_float = .{ .of = .word, .is = .word } },
6405 .src_constraints = .{6413 .{ .scalar_float = .{ .of = .word, .is = .word } },
6406 .{ .scalar_float = .{ .of = .dword, .is = .dword } },6414 .any,
6407 .{ .scalar_float = .{ .of = .dword, .is = .dword } },6415 },
6408 .any,6416 .patterns = &.{
6409 },6417 .{ .src = .{ .to_sse, .to_sse, .none } },
6410 .patterns = &.{6418 },
6411 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },6419 .extra_temps = .{
6412 },6420 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6413 .call_frame = .{ .alignment = .@"16" },6421 .unused,
6414 .extra_temps = .{6422 .unused,
6415 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6423 .unused,
6416 else => unreachable,6424 .unused,
6417 .zero => "truncf",6425 .unused,
6418 .down => "floorf",6426 .unused,
6419 } } } },6427 .unused,
6420 .unused,6428 .unused,
6421 .unused,6429 },
6422 .unused,6430 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6423 .unused,6431 .each = .{ .once = &.{
6424 .unused,6432 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6425 .unused,6433 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
6426 .unused,6434 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0d, ._ },
6427 .unused,6435 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6428 },6436 } },
6429 .dst_temps = .{.{ .ref = .src0 }},6437 }, .{
6430 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6438 .required_features = .{ .sse, null, null, null },
6431 .each = .{ .once = &.{6439 .src_constraints = .{
6432 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },6440 .{ .scalar_float = .{ .of = .word, .is = .word } },
6433 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },6441 .{ .scalar_float = .{ .of = .word, .is = .word } },
6434 } },6442 .any,
6435 }, .{6443 },
6436 .required_features = .{ .avx, null, null, null },6444 .patterns = &.{
6437 .src_constraints = .{6445 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
6438 .{ .scalar_float = .{ .of = .xword, .is = .dword } },6446 },
6439 .{ .scalar_float = .{ .of = .xword, .is = .dword } },6447 .call_frame = .{ .alignment = .@"16" },
6440 .any,6448 .extra_temps = .{
6441 },6449 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6442 .patterns = &.{6450 .unused,
6443 .{ .src = .{ .to_sse, .mem, .none } },6451 .unused,
6444 .{ .src = .{ .to_sse, .to_sse, .none } },6452 .unused,
6445 },6453 .unused,
6446 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6454 .unused,
6447 .each = .{ .once = &.{6455 .unused,
6448 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },6456 .unused,
6449 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6457 .unused,
6450 } },6458 },
6451 }, .{6459 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6452 .required_features = .{ .sse4_1, null, null, null },6460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6453 .src_constraints = .{6461 .each = .{ .once = &.{
6454 .{ .scalar_float = .{ .of = .xword, .is = .dword } },6462 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6455 .{ .scalar_float = .{ .of = .xword, .is = .dword } },6463 } },
6456 .any,6464 }, .{
6457 },6465 .required_features = .{ .f16c, null, null, null },
6458 .patterns = &.{6466 .src_constraints = .{
6459 .{ .src = .{ .to_mut_sse, .mem, .none } },6467 .{ .scalar_float = .{ .of = .qword, .is = .word } },
6460 .{ .src = .{ .to_mut_sse, .to_sse, .none } },6468 .{ .scalar_float = .{ .of = .qword, .is = .word } },
6461 },6469 .any,
6462 .dst_temps = .{.{ .ref = .src0 }},6470 },
6463 .each = .{ .once = &.{6471 .patterns = &.{
6464 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },6472 .{ .src = .{ .mem, .mem, .none } },
6465 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6473 .{ .src = .{ .to_sse, .mem, .none } },
6466 } },6474 .{ .src = .{ .mem, .to_sse, .none } },
6467 }, .{6475 .{ .src = .{ .to_sse, .to_sse, .none } },
6468 .required_features = .{ .sse, null, null, null },6476 },
6469 .src_constraints = .{6477 .extra_temps = .{
6470 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },6478 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6471 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },6479 .unused,
6472 .any,6480 .unused,
6473 },6481 .unused,
6474 .patterns = &.{6482 .unused,
6475 .{ .src = .{ .to_mem, .to_mem, .none } },6483 .unused,
6476 },6484 .unused,
6477 .call_frame = .{ .alignment = .@"16" },6485 .unused,
6478 .extra_temps = .{6486 .unused,
6479 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6487 },
6480 .{ .type = .f32, .kind = .{ .reg = .xmm0 } },6488 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6481 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6489 .each = .{ .once = &.{
6482 else => unreachable,6490 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6483 .zero => "truncf",6491 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
6484 .down => "floorf",6492 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
6485 } } } },6493 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6486 .unused,6494 } },
6487 .unused,6495 }, .{
6488 .unused,6496 .required_features = .{ .f16c, null, null, null },
6489 .unused,6497 .src_constraints = .{
6490 .unused,6498 .{ .scalar_float = .{ .of = .xword, .is = .word } },
6491 .unused,6499 .{ .scalar_float = .{ .of = .xword, .is = .word } },
6492 },6500 .any,
6493 .dst_temps = .{.mem},6501 },
6494 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6502 .patterns = &.{
6495 .each = .{ .once = &.{6503 .{ .src = .{ .mem, .mem, .none } },
6496 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6504 .{ .src = .{ .to_sse, .mem, .none } },
6497 .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },6505 .{ .src = .{ .mem, .to_sse, .none } },
6498 .{ ._, ._ss, .div, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },6506 .{ .src = .{ .to_sse, .to_sse, .none } },
6499 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },6507 },
6500 .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },6508 .extra_temps = .{
6501 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },6509 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6502 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6510 .unused,
6503 } },6511 .unused,
6504 }, .{6512 .unused,
6505 .required_features = .{ .avx, null, null, null },6513 .unused,
6506 .src_constraints = .{6514 .unused,
6507 .{ .scalar_float = .{ .of = .yword, .is = .dword } },6515 .unused,
6508 .{ .scalar_float = .{ .of = .yword, .is = .dword } },6516 .unused,
6509 .any,6517 .unused,
6510 },6518 },
6511 .patterns = &.{6519 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6512 .{ .src = .{ .to_sse, .mem, .none } },6520 .each = .{ .once = &.{
6513 .{ .src = .{ .to_sse, .to_sse, .none } },6521 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
6514 },6522 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
6515 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6523 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },
6516 .each = .{ .once = &.{6524 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
6517 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },6525 } },
6518 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6526 }, .{
6519 } },6527 .required_features = .{ .f16c, null, null, null },
6520 }, .{6528 .src_constraints = .{
6521 .required_features = .{ .avx, null, null, null },6529 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
6522 .src_constraints = .{6530 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
6523 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },6531 .any,
6524 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },6532 },
6525 .any,6533 .patterns = &.{
6526 },6534 .{ .src = .{ .to_mem, .to_mem, .none } },
6527 .patterns = &.{6535 },
6528 .{ .src = .{ .to_mem, .to_mem, .none } },6536 .extra_temps = .{
6529 },6537 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6530 .extra_temps = .{6538 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6531 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6539 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6532 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },6540 .unused,
6533 .unused,6541 .unused,
6534 .unused,6542 .unused,
6535 .unused,6543 .unused,
6536 .unused,6544 .unused,
6537 .unused,6545 .unused,
6538 .unused,6546 },
6539 .unused,6547 .dst_temps = .{ .mem, .unused },
6540 },6548 .clobbers = .{ .eflags = true },
6541 .dst_temps = .{.mem},6549 .each = .{ .once = &.{
6542 .clobbers = .{ .eflags = true },6550 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6543 .each = .{ .once = &.{6551 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6552 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6545 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },6553 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .tmp2y, ._ },
6546 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },6554 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
6547 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6555 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6548 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },6556 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6549 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },6557 } },
6550 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6558 }, .{
6551 } },6559 .required_features = .{ .avx, null, null, null },
6552 }, .{6560 .src_constraints = .{
6553 .required_features = .{ .sse4_1, null, null, null },6561 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6554 .src_constraints = .{6562 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6555 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },6563 .any,
6556 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },6564 },
6557 .any,6565 .patterns = &.{
6558 },6566 .{ .src = .{ .to_mem, .to_mem, .none } },
6559 .patterns = &.{6567 },
6560 .{ .src = .{ .to_mem, .to_mem, .none } },6568 .call_frame = .{ .alignment = .@"16" },
6561 },6569 .extra_temps = .{
6562 .extra_temps = .{6570 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6563 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6571 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6564 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },6572 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6565 .unused,6573 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6566 .unused,6574 .unused,
6567 .unused,6575 .unused,
6568 .unused,6576 .unused,
6569 .unused,6577 .unused,
6570 .unused,6578 .unused,
6571 .unused,6579 },
6572 },6580 .dst_temps = .{ .mem, .unused },
6573 .dst_temps = .{.mem},6581 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6574 .clobbers = .{ .eflags = true },6582 .each = .{ .once = &.{
6575 .each = .{ .once = &.{6583 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6576 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6584 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
6577 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },6585 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
6578 .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },6586 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
6579 .{ ._, ._ps, .round, .tmp1x, .tmp1x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6587 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6580 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },6588 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
6581 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },6589 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6582 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6590 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6583 } },6591 } },
6584 }, .{6592 }, .{
6585 .required_features = .{ .avx, null, null, null },6593 .required_features = .{ .sse4_1, null, null, null },
6586 .src_constraints = .{6594 .src_constraints = .{
6587 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6595 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6588 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6596 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6589 .any,6597 .any,
6590 },6598 },
6591 .patterns = &.{6599 .patterns = &.{
6592 .{ .src = .{ .to_sse, .mem, .none } },6600 .{ .src = .{ .to_mem, .to_mem, .none } },
6593 .{ .src = .{ .to_sse, .to_sse, .none } },6601 },
6594 },6602 .call_frame = .{ .alignment = .@"16" },
6595 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6603 .extra_temps = .{
6596 .each = .{ .once = &.{6604 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6597 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },6605 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6598 .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }) },6606 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6599 } },6607 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6600 }, .{6608 .unused,
6601 .required_features = .{ .sse4_1, null, null, null },6609 .unused,
6602 .src_constraints = .{6610 .unused,
6603 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6611 .unused,
6604 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6612 .unused,
6605 .any,6613 },
6606 },6614 .dst_temps = .{ .mem, .unused },
6607 .patterns = &.{6615 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6608 .{ .src = .{ .to_mut_sse, .mem, .none } },6616 .each = .{ .once = &.{
6609 .{ .src = .{ .to_mut_sse, .to_sse, .none } },6617 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6610 },6618 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
6611 .dst_temps = .{.{ .ref = .src0 }},6619 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
6612 .each = .{ .once = &.{6620 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6613 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },6621 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6614 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6622 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6615 } },6623 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
6616 }, .{6624 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6617 .required_features = .{ .sse2, null, null, null },6625 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6618 .src_constraints = .{6626 } },
6619 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6627 }, .{
6620 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6628 .required_features = .{ .sse2, null, null, null },
6621 .any,6629 .src_constraints = .{
6622 },6630 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6623 .patterns = &.{6631 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6624 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },6632 .any,
6625 },6633 },
6626 .call_frame = .{ .alignment = .@"16" },6634 .patterns = &.{
6627 .extra_temps = .{6635 .{ .src = .{ .to_mem, .to_mem, .none } },
6628 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6636 },
6629 else => unreachable,6637 .call_frame = .{ .alignment = .@"16" },
6630 .zero => "trunc",6638 .extra_temps = .{
6631 .down => "floor",6639 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6632 } } } },6640 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6633 .unused,6641 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6634 .unused,6642 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6635 .unused,6643 .{ .type = .f16, .kind = .{ .reg = .ax } },
6636 .unused,6644 .unused,
6637 .unused,6645 .unused,
6638 .unused,6646 .unused,
6639 .unused,6647 .unused,
6640 .unused,6648 },
6641 },6649 .dst_temps = .{ .mem, .unused },
6642 .dst_temps = .{.{ .ref = .src0 }},6650 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6643 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6651 .each = .{ .once = &.{
6644 .each = .{ .once = &.{6652 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6645 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },6653 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
6646 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },6654 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
6647 } },6655 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6648 }, .{6656 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6649 .required_features = .{ .sse, null, null, null },6657 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6650 .src_constraints = .{6658 .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
6651 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6659 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
6652 .{ .scalar_float = .{ .of = .qword, .is = .qword } },6660 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6653 .any,6661 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6654 },6662 } },
6655 .patterns = &.{6663 }, .{
6656 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },6664 .required_features = .{ .sse, null, null, null },
6657 },6665 .src_constraints = .{
6658 .call_frame = .{ .alignment = .@"16" },6666 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6659 .extra_temps = .{6667 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6660 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },6668 .any,
6661 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6669 },
6662 else => unreachable,6670 .patterns = &.{
6663 .zero => "trunc",6671 .{ .src = .{ .to_mem, .to_mem, .none } },
6664 .down => "floor",6672 },
6665 } } } },6673 .call_frame = .{ .alignment = .@"16" },
6666 .unused,6674 .extra_temps = .{
6667 .unused,6675 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6668 .unused,6676 .{ .type = .f16, .kind = .{ .reg = .ax } },
6669 .unused,6677 .{ .type = .f32, .kind = .mem },
6670 .unused,6678 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6671 .unused,6679 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6672 .unused,6680 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6673 },6681 .unused,
6674 .dst_temps = .{.{ .ref = .src0 }},6682 .unused,
6675 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6683 .unused,
6676 .each = .{ .once = &.{6684 },
6677 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },6685 .dst_temps = .{ .mem, .unused },
6678 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },6686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6679 } },6687 .each = .{ .once = &.{
6680 }, .{6688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6681 .required_features = .{ .avx, null, null, null },6689 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
6682 .src_constraints = .{6690 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
6683 .{ .scalar_float = .{ .of = .xword, .is = .qword } },6691 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
6684 .{ .scalar_float = .{ .of = .xword, .is = .qword } },6692 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
6685 .any,6693 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
6686 },6694 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
6687 .patterns = &.{6695 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
6688 .{ .src = .{ .to_sse, .mem, .none } },6696 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
6689 .{ .src = .{ .to_sse, .to_sse, .none } },6697 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
6690 },6698 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
6691 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6699 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6692 .each = .{ .once = &.{6700 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6693 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },6701 } },
6694 .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6702 }, .{
6695 } },6703 .required_features = .{ .avx, null, null, null },
6696 }, .{6704 .src_constraints = .{
6697 .required_features = .{ .sse4_1, null, null, null },6705 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6698 .src_constraints = .{6706 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6699 .{ .scalar_float = .{ .of = .xword, .is = .qword } },6707 .any,
6700 .{ .scalar_float = .{ .of = .xword, .is = .qword } },6708 },
6701 .any,6709 .patterns = &.{
6702 },6710 .{ .src = .{ .to_sse, .mem, .none } },
6703 .patterns = &.{6711 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6704 .{ .src = .{ .to_mut_sse, .mem, .none } },6712 .{ .src = .{ .to_sse, .to_sse, .none } },
6705 .{ .src = .{ .to_mut_sse, .to_sse, .none } },6713 },
6706 },6714 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6707 .dst_temps = .{.{ .ref = .src0 }},6715 .each = .{ .once = &.{
6708 .each = .{ .once = &.{6716 .{ ._, .v_ss, .mul, .dst0x, .src0x, .src1d, ._ },
6709 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },6717 } },
6710 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6718 }, .{
6711 } },6719 .required_features = .{ .sse, null, null, null },
6712 }, .{6720 .src_constraints = .{
6713 .required_features = .{ .avx, null, null, null },6721 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6714 .src_constraints = .{6722 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6715 .{ .scalar_float = .{ .of = .yword, .is = .qword } },6723 .any,
6716 .{ .scalar_float = .{ .of = .yword, .is = .qword } },6724 },
6717 .any,6725 .patterns = &.{
6718 },6726 .{ .src = .{ .to_mut_sse, .mem, .none } },
6719 .patterns = &.{6727 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6720 .{ .src = .{ .to_sse, .mem, .none } },6728 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6721 .{ .src = .{ .to_sse, .to_sse, .none } },6729 },
6722 },6730 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6723 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},6731 .each = .{ .once = &.{
6724 .each = .{ .once = &.{6732 .{ ._, ._ss, .mul, .dst0x, .src1d, ._, ._ },
6725 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },6733 } },
6726 .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6734 }, .{
6727 } },6735 .required_features = .{ .avx, null, null, null },
6728 }, .{6736 .src_constraints = .{
6729 .required_features = .{ .avx, null, null, null },6737 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6730 .src_constraints = .{6738 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6731 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },6739 .any,
6732 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },6740 },
6733 .any,6741 .patterns = &.{
6734 },6742 .{ .src = .{ .to_sse, .mem, .none } },
6735 .patterns = &.{6743 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6736 .{ .src = .{ .to_mem, .to_mem, .none } },6744 .{ .src = .{ .to_sse, .to_sse, .none } },
6737 },6745 },
6738 .extra_temps = .{6746 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6739 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6747 .each = .{ .once = &.{
6740 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },6748 .{ ._, .v_ps, .mul, .dst0x, .src0x, .src1x, ._ },
6741 .unused,6749 } },
6742 .unused,6750 }, .{
6743 .unused,6751 .required_features = .{ .sse, null, null, null },
6744 .unused,6752 .src_constraints = .{
6745 .unused,6753 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6746 .unused,6754 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6747 .unused,6755 .any,
6748 },6756 },
6749 .dst_temps = .{.mem},6757 .patterns = &.{
6750 .clobbers = .{ .eflags = true },6758 .{ .src = .{ .to_mut_sse, .mem, .none } },
6751 .each = .{ .once = &.{6759 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6752 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6760 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6753 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },6761 },
6754 .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },6762 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6755 .{ ._, .v_pd, .round, .tmp1y, .tmp1y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6763 .each = .{ .once = &.{
6756 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },6764 .{ ._, ._ps, .mul, .dst0x, .src1x, ._, ._ },
6757 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },6765 } },
6758 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6766 }, .{
6759 } },6767 .required_features = .{ .avx, null, null, null },
6760 }, .{6768 .src_constraints = .{
6761 .required_features = .{ .sse4_1, null, null, null },6769 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
6762 .src_constraints = .{6770 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
6763 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },6771 .any,
6764 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },6772 },
6765 .any,6773 .patterns = &.{
6766 },6774 .{ .src = .{ .to_sse, .mem, .none } },
6767 .patterns = &.{6775 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6768 .{ .src = .{ .to_mem, .to_mem, .none } },6776 .{ .src = .{ .to_sse, .to_sse, .none } },
6769 },6777 },
6770 .extra_temps = .{6778 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6771 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6779 .each = .{ .once = &.{
6772 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },6780 .{ ._, .v_ps, .mul, .dst0y, .src0y, .src1y, ._ },
6773 .unused,6781 } },
6774 .unused,6782 }, .{
6775 .unused,6783 .required_features = .{ .avx, null, null, null },
6776 .unused,6784 .src_constraints = .{
6777 .unused,6785 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
6778 .unused,6786 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
6779 .unused,6787 .any,
6780 },6788 },
6781 .dst_temps = .{.mem},6789 .patterns = &.{
6782 .clobbers = .{ .eflags = true },6790 .{ .src = .{ .to_mem, .to_mem, .none } },
6783 .each = .{ .once = &.{6791 },
6784 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6792 .extra_temps = .{
6785 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },6793 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6786 .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },6794 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6787 .{ ._, ._pd, .round, .tmp1x, .tmp1x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },6795 .unused,
6788 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },6796 .unused,
6789 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },6797 .unused,
6790 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6798 .unused,
6791 } },6799 .unused,
6792 }, .{6800 .unused,
6793 .required_features = .{ .sse2, null, null, null },6801 .unused,
6794 .src_constraints = .{6802 },
6795 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },6803 .dst_temps = .{ .mem, .unused },
6796 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },6804 .clobbers = .{ .eflags = true },
6797 .any,6805 .each = .{ .once = &.{
6798 },6806 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6799 .patterns = &.{6807 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
6800 .{ .src = .{ .to_mem, .to_mem, .none } },6808 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
6801 },6809 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
6802 .call_frame = .{ .alignment = .@"16" },6810 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
6803 .extra_temps = .{6811 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6804 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6812 } },
6805 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },6813 }, .{
6806 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6814 .required_features = .{ .sse, null, null, null },
6807 else => unreachable,6815 .src_constraints = .{
6808 .zero => "trunc",6816 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
6809 .down => "floor",6817 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
6810 } } } },6818 .any,
6811 .unused,6819 },
6812 .unused,6820 .patterns = &.{
6813 .unused,6821 .{ .src = .{ .to_mem, .to_mem, .none } },
6814 .unused,6822 },
6815 .unused,6823 .extra_temps = .{
6816 .unused,6824 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6817 },6825 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
6818 .dst_temps = .{.mem},6826 .unused,
6819 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6827 .unused,
6820 .each = .{ .once = &.{6828 .unused,
6821 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6829 .unused,
6822 .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },6830 .unused,
6823 .{ ._, ._sd, .div, .tmp1x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },6831 .unused,
6824 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },6832 .unused,
6825 .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },6833 },
6826 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },6834 .dst_temps = .{ .mem, .unused },
6827 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6835 .clobbers = .{ .eflags = true },
6828 } },6836 .each = .{ .once = &.{
6829 }, .{6837 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6830 .required_features = .{ .sse, null, null, null },6838 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6831 .src_constraints = .{6839 .{ ._, ._ps, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6832 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },6840 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6833 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },6841 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6834 .any,6842 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6835 },6843 } },
6836 .patterns = &.{6844 }, .{
6837 .{ .src = .{ .to_mem, .to_mem, .none } },6845 .required_features = .{ .avx, null, null, null },
6838 },6846 .src_constraints = .{
6839 .call_frame = .{ .alignment = .@"16" },6847 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6840 .extra_temps = .{6848 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6841 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6849 .any,
6842 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },6850 },
6843 .{ .type = .f64, .kind = .{ .reg = .xmm1 } },6851 .patterns = &.{
6844 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },6852 .{ .src = .{ .to_sse, .mem, .none } },
6845 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6853 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6846 else => unreachable,6854 .{ .src = .{ .to_sse, .to_sse, .none } },
6847 .zero => "trunc",6855 },
6848 .down => "floor",6856 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6849 } } } },6857 .each = .{ .once = &.{
6850 .unused,6858 .{ ._, .v_sd, .mul, .dst0x, .src0x, .src1q, ._ },
6851 .unused,6859 } },
6852 .unused,6860 }, .{
6853 .unused,6861 .required_features = .{ .sse2, null, null, null },
6854 },6862 .src_constraints = .{
6855 .dst_temps = .{.mem},6863 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6856 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6864 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6857 .each = .{ .once = &.{6865 .any,
6858 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6866 },
6859 .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ },6867 .patterns = &.{
6860 .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ },6868 .{ .src = .{ .to_mut_sse, .mem, .none } },
6861 .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },6869 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6862 .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },6870 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6863 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },6871 },
6864 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },6872 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6865 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },6873 .each = .{ .once = &.{
6866 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },6874 .{ ._, ._sd, .mul, .dst0x, .src1q, ._, ._ },
6867 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6875 } },
6868 } },6876 }, .{
6869 }, .{6877 .required_features = .{ .x87, null, null, null },
6870 .required_features = .{ .x87, null, null, null },6878 .src_constraints = .{
6871 .src_constraints = .{6879 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6872 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },6880 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6873 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },6881 .any,
6874 .any,6882 },
6875 },6883 .patterns = &.{
6876 .patterns = &.{6884 .{ .src = .{ .mem, .mem, .none } },
6877 .{ .src = .{ .to_mem, .to_mem, .none } },6885 },
6878 },6886 .extra_temps = .{
6879 .call_frame = .{ .size = 16, .alignment = .@"16" },6887 .{ .type = .f64, .kind = .{ .reg = .st6 } },
6880 .extra_temps = .{6888 .{ .type = .f64, .kind = .{ .reg = .st7 } },
6881 .{ .type = .f80, .kind = .{ .reg = .st6 } },6889 .unused,
6882 .{ .type = .f80, .kind = .{ .reg = .st7 } },6890 .unused,
6883 .{ .type = .f80, .kind = .{ .frame = .call_frame } },6891 .unused,
6884 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6892 .unused,
6885 else => unreachable,6893 .unused,
6886 .zero => "__truncx",6894 .unused,
6887 .down => "__floorx",6895 .unused,
6888 } } } },6896 },
6889 .unused,6897 .dst_temps = .{ .mem, .unused },
6890 .unused,6898 .each = .{ .once = &.{
6891 .unused,6899 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
6892 .unused,6900 .{ ._, .f_, .mul, .src1q, ._, ._, ._ },
6893 .unused,6901 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
6894 },6902 } },
6895 .dst_temps = .{.{ .reg = .st0 }},6903 }, .{
6896 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6904 .required_features = .{ .avx, null, null, null },
6897 .each = .{ .once = &.{6905 .src_constraints = .{
6898 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },6906 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6899 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },6907 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6900 .{ ._, .f_p, .div, ._, ._, ._, ._ },6908 .any,
6901 .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ },6909 },
6902 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },6910 .patterns = &.{
6903 } },6911 .{ .src = .{ .to_sse, .mem, .none } },
6904 }, .{6912 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6905 .required_features = .{ .x87, null, null, null },6913 .{ .src = .{ .to_sse, .to_sse, .none } },
6906 .src_constraints = .{6914 },
6907 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },6915 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6908 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },6916 .each = .{ .once = &.{
6909 .any,6917 .{ ._, .v_pd, .mul, .dst0x, .src0x, .src1x, ._ },
6910 },6918 } },
6911 .patterns = &.{6919 }, .{
6912 .{ .src = .{ .to_mem, .to_mem, .none } },6920 .required_features = .{ .sse2, null, null, null },
6913 },6921 .src_constraints = .{
6914 .call_frame = .{ .size = 16, .alignment = .@"16" },6922 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6915 .extra_temps = .{6923 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6916 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6924 .any,
6917 .{ .type = .f80, .kind = .{ .reg = .st6 } },6925 },
6918 .{ .type = .f80, .kind = .{ .reg = .st7 } },6926 .patterns = &.{
6919 .{ .type = .f80, .kind = .{ .frame = .call_frame } },6927 .{ .src = .{ .to_mut_sse, .mem, .none } },
6920 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6928 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6921 else => unreachable,6929 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6922 .zero => "__truncx",6930 },
6923 .down => "__floorx",6931 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6924 } } } },6932 .each = .{ .once = &.{
6925 .unused,6933 .{ ._, ._pd, .mul, .dst0x, .src1x, ._, ._ },
6926 .unused,6934 } },
6927 .unused,6935 }, .{
6928 .unused,6936 .required_features = .{ .avx, null, null, null },
6929 },6937 .src_constraints = .{
6930 .dst_temps = .{.mem},6938 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
6931 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6939 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
6932 .each = .{ .once = &.{6940 .any,
6933 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },6941 },
6934 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },6942 .patterns = &.{
6935 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },6943 .{ .src = .{ .to_sse, .mem, .none } },
6936 .{ ._, .f_p, .div, ._, ._, ._, ._ },6944 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6937 .{ ._, .f_p, .st, .mem(.tmp3t), ._, ._, ._ },6945 .{ .src = .{ .to_sse, .to_sse, .none } },
6938 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },6946 },
6939 .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ },6947 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6940 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },6948 .each = .{ .once = &.{
6941 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },6949 .{ ._, .v_pd, .mul, .dst0y, .src0y, .src1y, ._ },
6942 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },6950 } },
6943 } },6951 }, .{
6944 }, .{6952 .required_features = .{ .avx, null, null, null },
6945 .required_features = .{ .sse, null, null, null },6953 .src_constraints = .{
6946 .src_constraints = .{6954 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
6947 .{ .scalar_float = .{ .of = .xword, .is = .xword } },6955 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
6948 .{ .scalar_float = .{ .of = .xword, .is = .xword } },6956 .any,
6949 .any,6957 },
6950 },6958 .patterns = &.{
6951 .patterns = &.{6959 .{ .src = .{ .to_mem, .to_mem, .none } },
6952 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },6960 },
6953 },6961 .extra_temps = .{
6954 .call_frame = .{ .alignment = .@"16" },6962 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6955 .extra_temps = .{6963 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
6956 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },6964 .unused,
6957 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {6965 .unused,
6958 else => unreachable,6966 .unused,
6959 .zero => "truncq",6967 .unused,
6960 .down => "floorq",6968 .unused,
6961 } } } },6969 .unused,
6962 .unused,6970 .unused,
6963 .unused,6971 },
6964 .unused,6972 .dst_temps = .{ .mem, .unused },
6965 .unused,6973 .clobbers = .{ .eflags = true },
6966 .unused,6974 .each = .{ .once = &.{
6967 .unused,6975 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6968 .unused,6976 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
6969 },6977 .{ ._, .v_pd, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
6970 .dst_temps = .{.{ .ref = .src0 }},6978 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
6971 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },6979 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
6972 .each = .{ .once = &.{6980 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6973 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },6981 } },
6974 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },6982 }, .{
6975 } },6983 .required_features = .{ .sse2, null, null, null },
6976 }, .{6984 .src_constraints = .{
6977 .required_features = .{ .avx, null, null, null },6985 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
6978 .src_constraints = .{6986 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
6979 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },6987 .any,
6980 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },6988 },
6981 .any,6989 .patterns = &.{
6982 },6990 .{ .src = .{ .to_mem, .to_mem, .none } },
6983 .patterns = &.{6991 },
6984 .{ .src = .{ .to_mem, .to_mem, .none } },6992 .extra_temps = .{
6985 },6993 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6986 .call_frame = .{ .alignment = .@"16" },6994 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
6987 .extra_temps = .{6995 .unused,
6988 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },6996 .unused,
6989 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },6997 .unused,
6990 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },6998 .unused,
6991 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },6999 .unused,
6992 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {7000 .unused,
6993 else => unreachable,7001 .unused,
6994 .zero => "truncq",7002 },
6995 .down => "floorq",7003 .dst_temps = .{ .mem, .unused },
6996 } } } },7004 .clobbers = .{ .eflags = true },
6997 .unused,7005 .each = .{ .once = &.{
6998 .unused,7006 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6999 .unused,7007 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7000 .unused,7008 .{ ._, ._pd, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7001 },7009 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7002 .dst_temps = .{.mem},7010 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7003 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },7011 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7004 .each = .{ .once = &.{7012 } },
7005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },7013 }, .{
7006 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },7014 .required_features = .{ .x87, null, null, null },
7007 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },7015 .src_constraints = .{
7008 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },7016 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
7009 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },7017 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
7010 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },7018 .any,
7011 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },7019 },
7012 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },7020 .patterns = &.{
7013 } },7021 .{ .src = .{ .to_mem, .to_mem, .none } },
7014 }, .{7022 },
7015 .required_features = .{ .sse2, null, null, null },7023 .extra_temps = .{
7016 .src_constraints = .{7024 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7017 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },7025 .{ .type = .f64, .kind = .{ .reg = .st6 } },
7018 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },7026 .{ .type = .f64, .kind = .{ .reg = .st7 } },
7019 .any,7027 .unused,
7020 },7028 .unused,
7021 .patterns = &.{7029 .unused,
7022 .{ .src = .{ .to_mem, .to_mem, .none } },7030 .unused,
7023 },7031 .unused,
7024 .call_frame = .{ .alignment = .@"16" },7032 .unused,
7025 .extra_temps = .{7033 },
7026 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },7034 .dst_temps = .{ .mem, .unused },
7027 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },7035 .each = .{ .once = &.{
7028 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },7036 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7029 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },7037 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7030 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {7038 .{ ._, .f_, .mul, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7031 else => unreachable,7039 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7032 .zero => "truncq",7040 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
7033 .down => "floorq",7041 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7034 } } } },7042 } },
7035 .unused,7043 }, .{
7036 .unused,7044 .required_features = .{ .x87, null, null, null },
7037 .unused,7045 .src_constraints = .{
7038 .unused,7046 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7039 },7047 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7040 .dst_temps = .{.mem},7048 .any,
7041 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },7049 },
7042 .each = .{ .once = &.{7050 .patterns = &.{
7043 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },7051 .{ .src = .{ .mem, .mem, .none } },
7044 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },7052 },
7045 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },7053 .extra_temps = .{
7046 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },7054 .{ .type = .f80, .kind = .{ .reg = .st6 } },
7047 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },7055 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7048 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },7056 .unused,
7049 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },7057 .unused,
7050 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },7058 .unused,
7051 } },7059 .unused,
7052 }, .{7060 .unused,
7053 .required_features = .{ .sse, null, null, null },7061 .unused,
7054 .src_constraints = .{7062 .unused,
7055 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },7063 },
7056 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },7064 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7057 .any,7065 .each = .{ .once = &.{
7058 },7066 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7059 .patterns = &.{7067 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
7060 .{ .src = .{ .to_mem, .to_mem, .none } },7068 .{ ._, .f_p, .mul, ._, ._, ._, ._ },
7061 },7069 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
7062 .call_frame = .{ .alignment = .@"16" },7070 } },
7063 .extra_temps = .{7071 }, .{
7064 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },7072 .required_features = .{ .x87, null, null, null },
7065 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },7073 .src_constraints = .{
7066 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },7074 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7067 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },7075 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7068 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {7076 .any,
7069 else => unreachable,7077 },
7070 .zero => "truncq",7078 .patterns = &.{
7071 .down => "floorq",7079 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
7072 } } } },7080 .{ .src = .{ .mem, .to_x87, .none } },
7073 .unused,7081 .{ .src = .{ .to_x87, .to_x87, .none } },
7074 .unused,7082 },
7075 .unused,7083 .extra_temps = .{
7076 .unused,7084 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7077 },7085 .unused,
7078 .dst_temps = .{.mem},7086 .unused,
7079 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },7087 .unused,
7080 .each = .{ .once = &.{7088 .unused,
7081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },7089 .unused,
7082 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },7090 .unused,
7083 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },7091 .unused,
7084 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },7092 .unused,
7085 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },7093 },
7086 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },7094 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7087 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },7095 .each = .{ .once = &.{
7088 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },7096 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7089 } },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", ._, ._, ._ },
7090 } },9141 } },
9142 } }) else err: {
9143 res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err;
7091 }) catch |err| switch (err) {9144 }) catch |err| switch (err) {
7092 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{9145 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
7093 @tagName(air_tag),9146 @tagName(air_tag),
7094 cg.typeOf(bin_op.lhs).fmt(pt),9147 ty.fmt(pt),
7095 ops[0].tracking(cg),9148 ops[0].tracking(cg),
7096 ops[1].tracking(cg),9149 ops[1].tracking(cg),
7097 }),9150 }),
...@@ -7134,7 +9187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7134,7 +9187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7134 .unused,9187 .unused,
7135 .unused,9188 .unused,
7136 },9189 },
7137 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9190 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7138 .each = .{ .once = &.{9191 .each = .{ .once = &.{
7139 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },9192 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
7140 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },9193 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -7168,7 +9221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7168,7 +9221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7168 .unused,9221 .unused,
7169 .unused,9222 .unused,
7170 },9223 },
7171 .dst_temps = .{.{ .ref = .src0 }},9224 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7172 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9225 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7173 .each = .{ .once = &.{9226 .each = .{ .once = &.{
7174 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },9227 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -7198,7 +9251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7198,7 +9251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7198 .unused,9251 .unused,
7199 .unused,9252 .unused,
7200 },9253 },
7201 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9254 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7202 .each = .{ .once = &.{9255 .each = .{ .once = &.{
7203 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },9256 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
7204 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },9257 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -7230,7 +9283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7230,7 +9283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7230 .unused,9283 .unused,
7231 .unused,9284 .unused,
7232 },9285 },
7233 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9286 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7234 .each = .{ .once = &.{9287 .each = .{ .once = &.{
7235 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },9288 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
7236 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },9289 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
...@@ -7259,7 +9312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7259,7 +9312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7259 .unused,9312 .unused,
7260 .unused,9313 .unused,
7261 },9314 },
7262 .dst_temps = .{.mem},9315 .dst_temps = .{ .mem, .unused },
7263 .clobbers = .{ .eflags = true },9316 .clobbers = .{ .eflags = true },
7264 .each = .{ .once = &.{9317 .each = .{ .once = &.{
7265 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9318 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7297,7 +9350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7297,7 +9350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7297 .unused,9350 .unused,
7298 .unused,9351 .unused,
7299 },9352 },
7300 .dst_temps = .{.mem},9353 .dst_temps = .{ .mem, .unused },
7301 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9354 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7302 .each = .{ .once = &.{9355 .each = .{ .once = &.{
7303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9356 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7336,7 +9389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7336,7 +9389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7336 .unused,9389 .unused,
7337 .unused,9390 .unused,
7338 },9391 },
7339 .dst_temps = .{.mem},9392 .dst_temps = .{ .mem, .unused },
7340 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9393 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7341 .each = .{ .once = &.{9394 .each = .{ .once = &.{
7342 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9395 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7376,7 +9429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7376,7 +9429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7376 .unused,9429 .unused,
7377 .unused,9430 .unused,
7378 },9431 },
7379 .dst_temps = .{.mem},9432 .dst_temps = .{ .mem, .unused },
7380 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9433 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7381 .each = .{ .once = &.{9434 .each = .{ .once = &.{
7382 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7417,7 +9470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7417,7 +9470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7417 .unused,9470 .unused,
7418 .unused,9471 .unused,
7419 },9472 },
7420 .dst_temps = .{.mem},9473 .dst_temps = .{ .mem, .unused },
7421 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9474 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7422 .each = .{ .once = &.{9475 .each = .{ .once = &.{
7423 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9476 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7446,7 +9499,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7446,7 +9499,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7446 .{ .src = .{ .to_sse, .mem, .none } },9499 .{ .src = .{ .to_sse, .mem, .none } },
7447 .{ .src = .{ .to_sse, .to_sse, .none } },9500 .{ .src = .{ .to_sse, .to_sse, .none } },
7448 },9501 },
7449 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9502 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7450 .each = .{ .once = &.{9503 .each = .{ .once = &.{
7451 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },9504 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
7452 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },9505 .{ ._, .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 {...@@ -7462,7 +9515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7462 .{ .src = .{ .to_mut_sse, .mem, .none } },9515 .{ .src = .{ .to_mut_sse, .mem, .none } },
7463 .{ .src = .{ .to_mut_sse, .to_sse, .none } },9516 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7464 },9517 },
7465 .dst_temps = .{.{ .ref = .src0 }},9518 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7466 .each = .{ .once = &.{9519 .each = .{ .once = &.{
7467 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },9520 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
7468 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9521 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
...@@ -7493,7 +9546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7493,7 +9546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7493 .unused,9546 .unused,
7494 .unused,9547 .unused,
7495 },9548 },
7496 .dst_temps = .{.{ .ref = .src0 }},9549 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9550 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7498 .each = .{ .once = &.{9551 .each = .{ .once = &.{
7499 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },9552 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
...@@ -7510,7 +9563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7510,7 +9563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7510 .{ .src = .{ .to_sse, .mem, .none } },9563 .{ .src = .{ .to_sse, .mem, .none } },
7511 .{ .src = .{ .to_sse, .to_sse, .none } },9564 .{ .src = .{ .to_sse, .to_sse, .none } },
7512 },9565 },
7513 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9566 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7514 .each = .{ .once = &.{9567 .each = .{ .once = &.{
7515 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },9568 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
7516 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9569 .{ ._, .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 {...@@ -7526,7 +9579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7526 .{ .src = .{ .to_mut_sse, .mem, .none } },9579 .{ .src = .{ .to_mut_sse, .mem, .none } },
7527 .{ .src = .{ .to_mut_sse, .to_sse, .none } },9580 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7528 },9581 },
7529 .dst_temps = .{.{ .ref = .src0 }},9582 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7530 .each = .{ .once = &.{9583 .each = .{ .once = &.{
7531 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },9584 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
7532 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9585 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
...@@ -7557,7 +9610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7557,7 +9610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7557 .unused,9610 .unused,
7558 .unused,9611 .unused,
7559 },9612 },
7560 .dst_temps = .{.mem},9613 .dst_temps = .{ .mem, .unused },
7561 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9614 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7562 .each = .{ .once = &.{9615 .each = .{ .once = &.{
7563 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7579,7 +9632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7579,7 +9632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7579 .{ .src = .{ .to_sse, .mem, .none } },9632 .{ .src = .{ .to_sse, .mem, .none } },
7580 .{ .src = .{ .to_sse, .to_sse, .none } },9633 .{ .src = .{ .to_sse, .to_sse, .none } },
7581 },9634 },
7582 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9635 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7583 .each = .{ .once = &.{9636 .each = .{ .once = &.{
7584 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },9637 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
7585 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9638 .{ ._, .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 {...@@ -7605,7 +9658,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7605 .unused,9658 .unused,
7606 .unused,9659 .unused,
7607 },9660 },
7608 .dst_temps = .{.mem},9661 .dst_temps = .{ .mem, .unused },
7609 .clobbers = .{ .eflags = true },9662 .clobbers = .{ .eflags = true },
7610 .each = .{ .once = &.{9663 .each = .{ .once = &.{
7611 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9664 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7637,7 +9690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7637,7 +9690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7637 .unused,9690 .unused,
7638 .unused,9691 .unused,
7639 },9692 },
7640 .dst_temps = .{.mem},9693 .dst_temps = .{ .mem, .unused },
7641 .clobbers = .{ .eflags = true },9694 .clobbers = .{ .eflags = true },
7642 .each = .{ .once = &.{9695 .each = .{ .once = &.{
7643 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7659,7 +9712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7659,7 +9712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7659 .{ .src = .{ .to_sse, .mem, .none } },9712 .{ .src = .{ .to_sse, .mem, .none } },
7660 .{ .src = .{ .to_sse, .to_sse, .none } },9713 .{ .src = .{ .to_sse, .to_sse, .none } },
7661 },9714 },
7662 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9715 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7663 .each = .{ .once = &.{9716 .each = .{ .once = &.{
7664 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },9717 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
7665 .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }) },9718 .{ ._, .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 {...@@ -7675,7 +9728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7675 .{ .src = .{ .to_mut_sse, .mem, .none } },9728 .{ .src = .{ .to_mut_sse, .mem, .none } },
7676 .{ .src = .{ .to_mut_sse, .to_sse, .none } },9729 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7677 },9730 },
7678 .dst_temps = .{.{ .ref = .src0 }},9731 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7679 .each = .{ .once = &.{9732 .each = .{ .once = &.{
7680 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },9733 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
7681 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9734 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
...@@ -7706,7 +9759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7706,7 +9759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7706 .unused,9759 .unused,
7707 .unused,9760 .unused,
7708 },9761 },
7709 .dst_temps = .{.{ .ref = .src0 }},9762 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7710 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9763 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7711 .each = .{ .once = &.{9764 .each = .{ .once = &.{
7712 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },9765 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
...@@ -7738,7 +9791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7738,7 +9791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7738 .unused,9791 .unused,
7739 .unused,9792 .unused,
7740 },9793 },
7741 .dst_temps = .{.{ .ref = .src0 }},9794 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9795 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7743 .each = .{ .once = &.{9796 .each = .{ .once = &.{
7744 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },9797 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -7755,7 +9808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7755,7 +9808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7755 .{ .src = .{ .to_sse, .mem, .none } },9808 .{ .src = .{ .to_sse, .mem, .none } },
7756 .{ .src = .{ .to_sse, .to_sse, .none } },9809 .{ .src = .{ .to_sse, .to_sse, .none } },
7757 },9810 },
7758 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9811 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7759 .each = .{ .once = &.{9812 .each = .{ .once = &.{
7760 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },9813 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
7761 .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9814 .{ ._, .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 {...@@ -7771,7 +9824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7771 .{ .src = .{ .to_mut_sse, .mem, .none } },9824 .{ .src = .{ .to_mut_sse, .mem, .none } },
7772 .{ .src = .{ .to_mut_sse, .to_sse, .none } },9825 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7773 },9826 },
7774 .dst_temps = .{.{ .ref = .src0 }},9827 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7775 .each = .{ .once = &.{9828 .each = .{ .once = &.{
7776 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },9829 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
7777 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9830 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
...@@ -7787,7 +9840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7787,7 +9840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7787 .{ .src = .{ .to_sse, .mem, .none } },9840 .{ .src = .{ .to_sse, .mem, .none } },
7788 .{ .src = .{ .to_sse, .to_sse, .none } },9841 .{ .src = .{ .to_sse, .to_sse, .none } },
7789 },9842 },
7790 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},9843 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7791 .each = .{ .once = &.{9844 .each = .{ .once = &.{
7792 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },9845 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
7793 .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },9846 .{ ._, .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 {...@@ -7813,7 +9866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7813 .unused,9866 .unused,
7814 .unused,9867 .unused,
7815 },9868 },
7816 .dst_temps = .{.mem},9869 .dst_temps = .{ .mem, .unused },
7817 .clobbers = .{ .eflags = true },9870 .clobbers = .{ .eflags = true },
7818 .each = .{ .once = &.{9871 .each = .{ .once = &.{
7819 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9872 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7845,7 +9898,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7845,7 +9898,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7845 .unused,9898 .unused,
7846 .unused,9899 .unused,
7847 },9900 },
7848 .dst_temps = .{.mem},9901 .dst_temps = .{ .mem, .unused },
7849 .clobbers = .{ .eflags = true },9902 .clobbers = .{ .eflags = true },
7850 .each = .{ .once = &.{9903 .each = .{ .once = &.{
7851 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9904 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7882,7 +9935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7882,7 +9935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7882 .unused,9935 .unused,
7883 .unused,9936 .unused,
7884 },9937 },
7885 .dst_temps = .{.mem},9938 .dst_temps = .{ .mem, .unused },
7886 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9939 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7887 .each = .{ .once = &.{9940 .each = .{ .once = &.{
7888 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9941 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7919,7 +9972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7919,7 +9972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7919 .unused,9972 .unused,
7920 .unused,9973 .unused,
7921 },9974 },
7922 .dst_temps = .{.mem},9975 .dst_temps = .{ .mem, .unused },
7923 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },9976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7924 .each = .{ .once = &.{9977 .each = .{ .once = &.{
7925 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },9978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -7959,7 +10012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7959,7 +10012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7959 .unused,10012 .unused,
7960 .unused,10013 .unused,
7961 },10014 },
7962 .dst_temps = .{.{ .reg = .st0 }},10015 .dst_temps = .{ .{ .reg = .st0 }, .unused },
7963 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10016 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7964 .each = .{ .once = &.{10017 .each = .{ .once = &.{
7965 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },10018 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -7994,7 +10047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -7994,7 +10047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7994 .unused,10047 .unused,
7995 .unused,10048 .unused,
7996 },10049 },
7997 .dst_temps = .{.{ .reg = .st0 }},10050 .dst_temps = .{ .{ .reg = .st0 }, .unused },
7998 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10051 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7999 .each = .{ .once = &.{10052 .each = .{ .once = &.{
8000 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },10053 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -8029,7 +10082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8029,7 +10082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8029 .unused,10082 .unused,
8030 .unused,10083 .unused,
8031 },10084 },
8032 .dst_temps = .{.{ .reg = .st0 }},10085 .dst_temps = .{ .{ .reg = .st0 }, .unused },
8033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8034 .each = .{ .once = &.{10087 .each = .{ .once = &.{
8035 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },10088 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -8063,7 +10116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8063,7 +10116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8063 .unused,10116 .unused,
8064 .unused,10117 .unused,
8065 },10118 },
8066 .dst_temps = .{.mem},10119 .dst_temps = .{ .mem, .unused },
8067 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10120 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8068 .each = .{ .once = &.{10121 .each = .{ .once = &.{
8069 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },10122 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8103,7 +10156,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8103,7 +10156,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8103 .unused,10156 .unused,
8104 .unused,10157 .unused,
8105 },10158 },
8106 .dst_temps = .{.{ .ref = .src0 }},10159 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8107 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10160 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8108 .each = .{ .once = &.{10161 .each = .{ .once = &.{
8109 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },10162 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -8135,7 +10188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8135,7 +10188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8135 .unused,10188 .unused,
8136 .unused,10189 .unused,
8137 },10190 },
8138 .dst_temps = .{.mem},10191 .dst_temps = .{ .mem, .unused },
8139 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10192 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8140 .each = .{ .once = &.{10193 .each = .{ .once = &.{
8141 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },10194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8173,7 +10226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8173,7 +10226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8173 .unused,10226 .unused,
8174 .unused,10227 .unused,
8175 },10228 },
8176 .dst_temps = .{.mem},10229 .dst_temps = .{ .mem, .unused },
8177 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10230 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8178 .each = .{ .once = &.{10231 .each = .{ .once = &.{
8179 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },10232 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8185,62 +10238,1726 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8185,62 +10238,1726 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8185 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },10238 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8186 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },10239 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8187 } },10240 } },
8188 }, .{10241 }, .{
8189 .required_features = .{ .sse, null, null, null },10242 .required_features = .{ .sse, null, null, null },
8190 .src_constraints = .{10243 .src_constraints = .{
8191 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },10244 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8192 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },10245 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8193 .any,10246 .any,
8194 },10247 },
8195 .patterns = &.{10248 .patterns = &.{
8196 .{ .src = .{ .to_mem, .to_mem, .none } },10249 .{ .src = .{ .to_mem, .to_mem, .none } },
8197 },10250 },
8198 .call_frame = .{ .alignment = .@"16" },10251 .call_frame = .{ .alignment = .@"16" },
8199 .extra_temps = .{10252 .extra_temps = .{
8200 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },10253 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8201 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },10254 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
8202 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },10255 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
8203 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },10256 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
8204 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {10257 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
8205 else => unreachable,10258 else => unreachable,
8206 .zero => "truncq",10259 .zero => "truncq",
8207 .down => "floorq",10260 .down => "floorq",
8208 } } } },10261 } } } },
8209 .unused,10262 .unused,
8210 .unused,10263 .unused,
8211 .unused,10264 .unused,
8212 .unused,10265 .unused,
8213 },10266 },
8214 .dst_temps = .{.mem},10267 .dst_temps = .{ .mem, .unused },
8215 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },10268 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8216 .each = .{ .once = &.{10269 .each = .{ .once = &.{
8217 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },10270 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8218 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },10271 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8219 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },10272 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8220 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },10273 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8221 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },10274 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8222 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },10275 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8223 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },10276 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8224 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },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,
8225 } },11429 } },
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", ._, ._, ._ },
8226 } },11601 } },
8227 }) catch |err| switch (err) {11602 }, .{
8228 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{11603 .src_constraints = .{
8229 @tagName(air_tag),11604 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
8230 cg.typeOf(bin_op.lhs).fmt(pt),11605 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
8231 ops[0].tracking(cg),11606 .any,
8232 ops[1].tracking(cg),11607 },
8233 }),11608 .patterns = &.{
8234 else => |e| return e,11609 .{ .src = .{ .to_mem, .to_mem, .none } },
8235 };11610 },
8236 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);11611 .extra_temps = .{
8237 },11612 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8238 .rem, .rem_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .rem) else fallback: {11613 .{ .type = .u8, .kind = .{ .reg = .ah } },
8239 const bin_op = air_datas[@intFromEnum(inst)].bin_op;11614 .unused,
8240 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, .rem);11615 .unused,
8241 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });11616 .unused,
8242 var res: [1]Temp = undefined;11617 .unused,
8243 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{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 }, .{
8244 .required_features = .{ .sse, null, null, null },11961 .required_features = .{ .sse, null, null, null },
8245 .src_constraints = .{11962 .src_constraints = .{
8246 .{ .scalar_float = .{ .of = .word, .is = .word } },11963 .{ .scalar_float = .{ .of = .word, .is = .word } },
...@@ -8262,7 +11979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8262,7 +11979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8262 .unused,11979 .unused,
8263 .unused,11980 .unused,
8264 },11981 },
8265 .dst_temps = .{.{ .ref = .src0 }},11982 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8266 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },11983 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8267 .each = .{ .once = &.{11984 .each = .{ .once = &.{
8268 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },11985 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -8289,7 +12006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8289,7 +12006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8289 .unused,12006 .unused,
8290 .unused,12007 .unused,
8291 },12008 },
8292 .dst_temps = .{.mem},12009 .dst_temps = .{ .mem, .unused },
8293 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12010 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8294 .each = .{ .once = &.{12011 .each = .{ .once = &.{
8295 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12012 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8323,7 +12040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8323,7 +12040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8323 .unused,12040 .unused,
8324 .unused,12041 .unused,
8325 },12042 },
8326 .dst_temps = .{.mem},12043 .dst_temps = .{ .mem, .unused },
8327 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12044 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8328 .each = .{ .once = &.{12045 .each = .{ .once = &.{
8329 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12046 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8358,7 +12075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8358,7 +12075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8358 .unused,12075 .unused,
8359 .unused,12076 .unused,
8360 },12077 },
8361 .dst_temps = .{.mem},12078 .dst_temps = .{ .mem, .unused },
8362 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12079 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8363 .each = .{ .once = &.{12080 .each = .{ .once = &.{
8364 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8394,7 +12111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8394,7 +12111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8394 .unused,12111 .unused,
8395 .unused,12112 .unused,
8396 },12113 },
8397 .dst_temps = .{.mem},12114 .dst_temps = .{ .mem, .unused },
8398 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12115 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8399 .each = .{ .once = &.{12116 .each = .{ .once = &.{
8400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8433,7 +12150,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8433,7 +12150,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8433 .unused,12150 .unused,
8434 .unused,12151 .unused,
8435 },12152 },
8436 .dst_temps = .{.{ .ref = .src0 }},12153 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12154 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8438 .each = .{ .once = &.{12155 .each = .{ .once = &.{
8439 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },12156 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -8460,7 +12177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8460,7 +12177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8460 .unused,12177 .unused,
8461 .unused,12178 .unused,
8462 },12179 },
8463 .dst_temps = .{.mem},12180 .dst_temps = .{ .mem, .unused },
8464 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12181 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8465 .each = .{ .once = &.{12182 .each = .{ .once = &.{
8466 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8493,7 +12210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8493,7 +12210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8493 .unused,12210 .unused,
8494 .unused,12211 .unused,
8495 },12212 },
8496 .dst_temps = .{.mem},12213 .dst_temps = .{ .mem, .unused },
8497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12214 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8498 .each = .{ .once = &.{12215 .each = .{ .once = &.{
8499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12216 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8526,7 +12243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8526,7 +12243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8526 .unused,12243 .unused,
8527 .unused,12244 .unused,
8528 },12245 },
8529 .dst_temps = .{.{ .ref = .src0 }},12246 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8530 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8531 .each = .{ .once = &.{12248 .each = .{ .once = &.{
8532 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },12249 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -8553,7 +12270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8553,7 +12270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8553 .unused,12270 .unused,
8554 .unused,12271 .unused,
8555 },12272 },
8556 .dst_temps = .{.mem},12273 .dst_temps = .{ .mem, .unused },
8557 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12274 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8558 .each = .{ .once = &.{12275 .each = .{ .once = &.{
8559 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12276 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8586,7 +12303,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8586,7 +12303,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8586 .unused,12303 .unused,
8587 .unused,12304 .unused,
8588 },12305 },
8589 .dst_temps = .{.mem},12306 .dst_temps = .{ .mem, .unused },
8590 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12307 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8591 .each = .{ .once = &.{12308 .each = .{ .once = &.{
8592 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12309 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8619,7 +12336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8619,7 +12336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8619 .unused,12336 .unused,
8620 .unused,12337 .unused,
8621 },12338 },
8622 .dst_temps = .{.mem},12339 .dst_temps = .{ .mem, .unused },
8623 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12340 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8624 .each = .{ .once = &.{12341 .each = .{ .once = &.{
8625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12342 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8654,7 +12371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8654,7 +12371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8654 .unused,12371 .unused,
8655 .unused,12372 .unused,
8656 },12373 },
8657 .dst_temps = .{.{ .reg = .st0 }},12374 .dst_temps = .{ .{ .reg = .st0 }, .unused },
8658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12375 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8659 .each = .{ .once = &.{12376 .each = .{ .once = &.{
8660 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },12377 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -8685,7 +12402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8685,7 +12402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8685 .unused,12402 .unused,
8686 .unused,12403 .unused,
8687 },12404 },
8688 .dst_temps = .{.{ .reg = .st0 }},12405 .dst_temps = .{ .{ .reg = .st0 }, .unused },
8689 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12406 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8690 .each = .{ .once = &.{12407 .each = .{ .once = &.{
8691 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },12408 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -8716,7 +12433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8716,7 +12433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8716 .unused,12433 .unused,
8717 .unused,12434 .unused,
8718 },12435 },
8719 .dst_temps = .{.{ .reg = .st0 }},12436 .dst_temps = .{ .{ .reg = .st0 }, .unused },
8720 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8721 .each = .{ .once = &.{12438 .each = .{ .once = &.{
8722 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },12439 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -8747,7 +12464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8747,7 +12464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8747 .unused,12464 .unused,
8748 .unused,12465 .unused,
8749 },12466 },
8750 .dst_temps = .{.mem},12467 .dst_temps = .{ .mem, .unused },
8751 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12468 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8752 .each = .{ .once = &.{12469 .each = .{ .once = &.{
8753 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12470 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8783,7 +12500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8783,7 +12500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8783 .unused,12500 .unused,
8784 .unused,12501 .unused,
8785 },12502 },
8786 .dst_temps = .{.mem},12503 .dst_temps = .{ .mem, .unused },
8787 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12504 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8788 .each = .{ .once = &.{12505 .each = .{ .once = &.{
8789 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8819,7 +12536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8819,7 +12536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8819 .unused,12536 .unused,
8820 .unused,12537 .unused,
8821 },12538 },
8822 .dst_temps = .{.mem},12539 .dst_temps = .{ .mem, .unused },
8823 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12540 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8824 .each = .{ .once = &.{12541 .each = .{ .once = &.{
8825 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12542 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8855,7 +12572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8855,7 +12572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8855 .unused,12572 .unused,
8856 .unused,12573 .unused,
8857 },12574 },
8858 .dst_temps = .{.{ .ref = .src0 }},12575 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8859 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8860 .each = .{ .once = &.{12577 .each = .{ .once = &.{
8861 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },12578 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -8882,7 +12599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8882,7 +12599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8882 .unused,12599 .unused,
8883 .unused,12600 .unused,
8884 },12601 },
8885 .dst_temps = .{.mem},12602 .dst_temps = .{ .mem, .unused },
8886 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12603 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8887 .each = .{ .once = &.{12604 .each = .{ .once = &.{
8888 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12605 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8915,7 +12632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8915,7 +12632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8915 .unused,12632 .unused,
8916 .unused,12633 .unused,
8917 },12634 },
8918 .dst_temps = .{.mem},12635 .dst_temps = .{ .mem, .unused },
8919 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12636 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8920 .each = .{ .once = &.{12637 .each = .{ .once = &.{
8921 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12638 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8948,7 +12665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8948,7 +12665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8948 .unused,12665 .unused,
8949 .unused,12666 .unused,
8950 },12667 },
8951 .dst_temps = .{.mem},12668 .dst_temps = .{ .mem, .unused },
8952 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12669 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8953 .each = .{ .once = &.{12670 .each = .{ .once = &.{
8954 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },12671 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -8997,7 +12714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8997,7 +12714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8997 .unused,12714 .unused,
8998 .unused,12715 .unused,
8999 },12716 },
9000 .dst_temps = .{.{ .ref = .src0 }},12717 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9001 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12718 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9002 .each = .{ .once = &.{12719 .each = .{ .once = &.{
9003 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },12720 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9036,7 +12753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9036,7 +12753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9036 .unused,12753 .unused,
9037 .unused,12754 .unused,
9038 },12755 },
9039 .dst_temps = .{.{ .ref = .src0 }},12756 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9040 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12757 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9041 .each = .{ .once = &.{12758 .each = .{ .once = &.{
9042 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },12759 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9075,7 +12792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9075,7 +12792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9075 .unused,12792 .unused,
9076 .unused,12793 .unused,
9077 },12794 },
9078 .dst_temps = .{.{ .ref = .src0 }},12795 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9079 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12796 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9080 .each = .{ .once = &.{12797 .each = .{ .once = &.{
9081 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },12798 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9111,7 +12828,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9111,7 +12828,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9111 .unused,12828 .unused,
9112 .unused,12829 .unused,
9113 },12830 },
9114 .dst_temps = .{.{ .ref = .src0 }},12831 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9115 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12832 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9116 .each = .{ .once = &.{12833 .each = .{ .once = &.{
9117 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },12834 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9147,7 +12864,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9147,7 +12864,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9147 .unused,12864 .unused,
9148 .unused,12865 .unused,
9149 },12866 },
9150 .dst_temps = .{.{ .ref = .src0 }},12867 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9151 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12868 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9152 .each = .{ .once = &.{12869 .each = .{ .once = &.{
9153 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },12870 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9183,7 +12900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9183,7 +12900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9183 .unused,12900 .unused,
9184 .unused,12901 .unused,
9185 },12902 },
9186 .dst_temps = .{.{ .ref = .src0 }},12903 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9187 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12904 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9188 .each = .{ .once = &.{12905 .each = .{ .once = &.{
9189 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },12906 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9219,7 +12936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9219,7 +12936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9219 .unused,12936 .unused,
9220 .unused,12937 .unused,
9221 },12938 },
9222 .dst_temps = .{.{ .ref = .src0 }},12939 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9223 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12940 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9224 .each = .{ .once = &.{12941 .each = .{ .once = &.{
9225 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },12942 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },
...@@ -9255,7 +12972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9255,7 +12972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9255 .unused,12972 .unused,
9256 .unused,12973 .unused,
9257 },12974 },
9258 .dst_temps = .{.{ .ref = .src0 }},12975 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9259 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },12976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9260 .each = .{ .once = &.{12977 .each = .{ .once = &.{
9261 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },12978 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },
...@@ -9291,7 +13008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9291,7 +13008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9291 .unused,13008 .unused,
9292 .unused,13009 .unused,
9293 },13010 },
9294 .dst_temps = .{.mem},13011 .dst_temps = .{ .mem, .unused },
9295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13012 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9296 .each = .{ .once = &.{13013 .each = .{ .once = &.{
9297 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13014 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9337,7 +13054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9337,7 +13054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9337 .unused,13054 .unused,
9338 .unused,13055 .unused,
9339 },13056 },
9340 .dst_temps = .{.mem},13057 .dst_temps = .{ .mem, .unused },
9341 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13058 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9342 .each = .{ .once = &.{13059 .each = .{ .once = &.{
9343 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13060 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9383,7 +13100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9383,7 +13100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9383 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13100 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9384 .unused,13101 .unused,
9385 },13102 },
9386 .dst_temps = .{.mem},13103 .dst_temps = .{ .mem, .unused },
9387 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13104 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9388 .each = .{ .once = &.{13105 .each = .{ .once = &.{
9389 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13106 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9426,7 +13143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9426,7 +13143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9426 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13143 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9427 .unused,13144 .unused,
9428 },13145 },
9429 .dst_temps = .{.mem},13146 .dst_temps = .{ .mem, .unused },
9430 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13147 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9431 .each = .{ .once = &.{13148 .each = .{ .once = &.{
9432 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13149 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9469,7 +13186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9469,7 +13186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9469 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13186 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9470 .unused,13187 .unused,
9471 },13188 },
9472 .dst_temps = .{.mem},13189 .dst_temps = .{ .mem, .unused },
9473 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13190 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9474 .each = .{ .once = &.{13191 .each = .{ .once = &.{
9475 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13192 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9512,7 +13229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9512,7 +13229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9512 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13229 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9513 .unused,13230 .unused,
9514 },13231 },
9515 .dst_temps = .{.mem},13232 .dst_temps = .{ .mem, .unused },
9516 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13233 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9517 .each = .{ .once = &.{13234 .each = .{ .once = &.{
9518 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13235 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9555,7 +13272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9555,7 +13272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9555 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13272 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9556 .unused,13273 .unused,
9557 },13274 },
9558 .dst_temps = .{.mem},13275 .dst_temps = .{ .mem, .unused },
9559 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13276 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9560 .each = .{ .once = &.{13277 .each = .{ .once = &.{
9561 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13278 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9599,7 +13316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9599,7 +13316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9599 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13316 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9600 .unused,13317 .unused,
9601 },13318 },
9602 .dst_temps = .{.mem},13319 .dst_temps = .{ .mem, .unused },
9603 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9604 .each = .{ .once = &.{13321 .each = .{ .once = &.{
9605 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13322 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9643,7 +13360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9643,7 +13360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9643 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13360 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9644 .unused,13361 .unused,
9645 },13362 },
9646 .dst_temps = .{.mem},13363 .dst_temps = .{ .mem, .unused },
9647 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9648 .each = .{ .once = &.{13365 .each = .{ .once = &.{
9649 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13366 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9690,7 +13407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9690,7 +13407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9690 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },13407 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
9691 .unused,13408 .unused,
9692 },13409 },
9693 .dst_temps = .{.mem},13410 .dst_temps = .{ .mem, .unused },
9694 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13411 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9695 .each = .{ .once = &.{13412 .each = .{ .once = &.{
9696 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },13413 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
...@@ -9737,7 +13454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9737,7 +13454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9737 .unused,13454 .unused,
9738 .unused,13455 .unused,
9739 },13456 },
9740 .dst_temps = .{.{ .ref = .src0 }},13457 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9741 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13458 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9742 .each = .{ .once = &.{13459 .each = .{ .once = &.{
9743 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },13460 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9773,7 +13490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9773,7 +13490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9773 .unused,13490 .unused,
9774 .unused,13491 .unused,
9775 },13492 },
9776 .dst_temps = .{.{ .ref = .src0 }},13493 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9777 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13494 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9778 .each = .{ .once = &.{13495 .each = .{ .once = &.{
9779 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },13496 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },
...@@ -9809,7 +13526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9809,7 +13526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9809 .unused,13526 .unused,
9810 .unused,13527 .unused,
9811 },13528 },
9812 .dst_temps = .{.{ .ref = .src0 }},13529 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9813 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13530 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9814 .each = .{ .once = &.{13531 .each = .{ .once = &.{
9815 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },13532 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },
...@@ -9844,7 +13561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9844,7 +13561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9844 .unused,13561 .unused,
9845 .unused,13562 .unused,
9846 },13563 },
9847 .dst_temps = .{.mem},13564 .dst_temps = .{ .mem, .unused },
9848 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13565 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9849 .each = .{ .once = &.{13566 .each = .{ .once = &.{
9850 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },13567 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -9886,7 +13603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9886,7 +13603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9886 .unused,13603 .unused,
9887 .unused,13604 .unused,
9888 },13605 },
9889 .dst_temps = .{.mem},13606 .dst_temps = .{ .mem, .unused },
9890 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13607 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9891 .each = .{ .once = &.{13608 .each = .{ .once = &.{
9892 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },13609 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -9928,7 +13645,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9928,7 +13645,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9928 .unused,13645 .unused,
9929 .unused,13646 .unused,
9930 },13647 },
9931 .dst_temps = .{.mem},13648 .dst_temps = .{ .mem, .unused },
9932 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13649 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9933 .each = .{ .once = &.{13650 .each = .{ .once = &.{
9934 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },13651 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -9968,7 +13685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9968,7 +13685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9968 .unused,13685 .unused,
9969 .unused,13686 .unused,
9970 },13687 },
9971 .dst_temps = .{.{ .ref = .src0 }},13688 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9972 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13689 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9973 .each = .{ .once = &.{13690 .each = .{ .once = &.{
9974 .{ ._, .v_q, .mov, .tmp0q, .src1x, ._, ._ },13691 .{ ._, .v_q, .mov, .tmp0q, .src1x, ._, ._ },
...@@ -10005,7 +13722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10005,7 +13722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10005 .unused,13722 .unused,
10006 .unused,13723 .unused,
10007 },13724 },
10008 .dst_temps = .{.{ .ref = .src0 }},13725 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10009 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13726 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10010 .each = .{ .once = &.{13727 .each = .{ .once = &.{
10011 .{ ._, ._q, .mov, .tmp0q, .src1x, ._, ._ },13728 .{ ._, ._q, .mov, .tmp0q, .src1x, ._, ._ },
...@@ -10042,7 +13759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10042,7 +13759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10042 .unused,13759 .unused,
10043 .unused,13760 .unused,
10044 },13761 },
10045 .dst_temps = .{.{ .ref = .src0 }},13762 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10046 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13763 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10047 .each = .{ .once = &.{13764 .each = .{ .once = &.{
10048 .{ ._, ._ps, .movl, .mem(.tmp0q), .src1x, ._, ._ },13765 .{ ._, ._ps, .movl, .mem(.tmp0q), .src1x, ._, ._ },
...@@ -10082,7 +13799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10082,7 +13799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10082 .{ .type = .f64, .kind = .{ .reg = .rax } },13799 .{ .type = .f64, .kind = .{ .reg = .rax } },
10083 .unused,13800 .unused,
10084 },13801 },
10085 .dst_temps = .{.mem},13802 .dst_temps = .{ .mem, .unused },
10086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13803 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10087 .each = .{ .once = &.{13804 .each = .{ .once = &.{
10088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },13805 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10125,7 +13842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10125,7 +13842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10125 .{ .type = .f64, .kind = .{ .reg = .rax } },13842 .{ .type = .f64, .kind = .{ .reg = .rax } },
10126 .unused,13843 .unused,
10127 },13844 },
10128 .dst_temps = .{.mem},13845 .dst_temps = .{ .mem, .unused },
10129 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13846 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10130 .each = .{ .once = &.{13847 .each = .{ .once = &.{
10131 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },13848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10168,7 +13885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10168,7 +13885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10168 .{ .type = .f64, .kind = .{ .reg = .st6 } },13885 .{ .type = .f64, .kind = .{ .reg = .st6 } },
10169 .{ .type = .f64, .kind = .{ .reg = .st7 } },13886 .{ .type = .f64, .kind = .{ .reg = .st7 } },
10170 },13887 },
10171 .dst_temps = .{.mem},13888 .dst_temps = .{ .mem, .unused },
10172 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13889 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10173 .each = .{ .once = &.{13890 .each = .{ .once = &.{
10174 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },13891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10215,7 +13932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10215,7 +13932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10215 .unused,13932 .unused,
10216 .unused,13933 .unused,
10217 },13934 },
10218 .dst_temps = .{.{ .reg = .st0 }},13935 .dst_temps = .{ .{ .reg = .st0 }, .unused },
10219 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10220 .each = .{ .once = &.{13937 .each = .{ .once = &.{
10221 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },13938 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -10256,7 +13973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10256,7 +13973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10256 .unused,13973 .unused,
10257 .unused,13974 .unused,
10258 },13975 },
10259 .dst_temps = .{.{ .reg = .st0 }},13976 .dst_temps = .{ .{ .reg = .st0 }, .unused },
10260 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },13977 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10261 .each = .{ .once = &.{13978 .each = .{ .once = &.{
10262 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },13979 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -10297,7 +14014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10297,7 +14014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10297 .unused,14014 .unused,
10298 .unused,14015 .unused,
10299 },14016 },
10300 .dst_temps = .{.{ .reg = .st0 }},14017 .dst_temps = .{ .{ .reg = .st0 }, .unused },
10301 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14018 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10302 .each = .{ .once = &.{14019 .each = .{ .once = &.{
10303 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },14020 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -10338,7 +14055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10338,7 +14055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10338 .unused,14055 .unused,
10339 .unused,14056 .unused,
10340 },14057 },
10341 .dst_temps = .{.{ .reg = .st0 }},14058 .dst_temps = .{ .{ .reg = .st0 }, .unused },
10342 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14059 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10343 .each = .{ .once = &.{14060 .each = .{ .once = &.{
10344 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },14061 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -10379,7 +14096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10379,7 +14096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10379 .unused,14096 .unused,
10380 .unused,14097 .unused,
10381 },14098 },
10382 .dst_temps = .{.{ .reg = .st0 }},14099 .dst_temps = .{ .{ .reg = .st0 }, .unused },
10383 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14100 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10384 .each = .{ .once = &.{14101 .each = .{ .once = &.{
10385 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },14102 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -10420,7 +14137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10420,7 +14137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10420 .unused,14137 .unused,
10421 .unused,14138 .unused,
10422 },14139 },
10423 .dst_temps = .{.{ .reg = .st0 }},14140 .dst_temps = .{ .{ .reg = .st0 }, .unused },
10424 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14141 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10425 .each = .{ .once = &.{14142 .each = .{ .once = &.{
10426 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },14143 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -10461,7 +14178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10461,7 +14178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10461 .unused,14178 .unused,
10462 .unused,14179 .unused,
10463 },14180 },
10464 .dst_temps = .{.mem},14181 .dst_temps = .{ .mem, .unused },
10465 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14182 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10466 .each = .{ .once = &.{14183 .each = .{ .once = &.{
10467 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14184 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10507,7 +14224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10507,7 +14224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10507 .unused,14224 .unused,
10508 .unused,14225 .unused,
10509 },14226 },
10510 .dst_temps = .{.mem},14227 .dst_temps = .{ .mem, .unused },
10511 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14228 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10512 .each = .{ .once = &.{14229 .each = .{ .once = &.{
10513 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14230 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10553,7 +14270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10553,7 +14270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10553 .unused,14270 .unused,
10554 .unused,14271 .unused,
10555 },14272 },
10556 .dst_temps = .{.mem},14273 .dst_temps = .{ .mem, .unused },
10557 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14274 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10558 .each = .{ .once = &.{14275 .each = .{ .once = &.{
10559 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14276 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10599,7 +14316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10599,7 +14316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10599 .unused,14316 .unused,
10600 .unused,14317 .unused,
10601 },14318 },
10602 .dst_temps = .{.mem},14319 .dst_temps = .{ .mem, .unused },
10603 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10604 .each = .{ .once = &.{14321 .each = .{ .once = &.{
10605 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10645,7 +14362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10645,7 +14362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10645 .unused,14362 .unused,
10646 .unused,14363 .unused,
10647 },14364 },
10648 .dst_temps = .{.mem},14365 .dst_temps = .{ .mem, .unused },
10649 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14366 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10650 .each = .{ .once = &.{14367 .each = .{ .once = &.{
10651 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14368 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10691,7 +14408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10691,7 +14408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10691 .unused,14408 .unused,
10692 .unused,14409 .unused,
10693 },14410 },
10694 .dst_temps = .{.mem},14411 .dst_temps = .{ .mem, .unused },
10695 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14412 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10696 .each = .{ .once = &.{14413 .each = .{ .once = &.{
10697 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14414 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10737,7 +14454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10737,7 +14454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10737 .unused,14454 .unused,
10738 .unused,14455 .unused,
10739 },14456 },
10740 .dst_temps = .{.{ .ref = .src0 }},14457 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10741 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14458 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10742 .each = .{ .once = &.{14459 .each = .{ .once = &.{
10743 .{ ._, .v_dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },14460 .{ ._, .v_dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },
...@@ -10776,7 +14493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10776,7 +14493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10776 .unused,14493 .unused,
10777 .unused,14494 .unused,
10778 },14495 },
10779 .dst_temps = .{.{ .ref = .src0 }},14496 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10780 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10781 .each = .{ .once = &.{14498 .each = .{ .once = &.{
10782 .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },14499 .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },
...@@ -10815,7 +14532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10815,7 +14532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10815 .unused,14532 .unused,
10816 .unused,14533 .unused,
10817 },14534 },
10818 .dst_temps = .{.{ .ref = .src0 }},14535 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10819 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14536 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10820 .each = .{ .once = &.{14537 .each = .{ .once = &.{
10821 .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },14538 .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },
...@@ -10855,7 +14572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10855,7 +14572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10855 .unused,14572 .unused,
10856 .unused,14573 .unused,
10857 },14574 },
10858 .dst_temps = .{.{ .ref = .src0 }},14575 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10859 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10860 .each = .{ .once = &.{14577 .each = .{ .once = &.{
10861 .{ ._, ._ps, .mova, .mem(.tmp0x), .src1x, ._, ._ },14578 .{ ._, ._ps, .mova, .mem(.tmp0x), .src1x, ._, ._ },
...@@ -10893,7 +14610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10893,7 +14610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10893 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },14610 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
10894 .unused,14611 .unused,
10895 },14612 },
10896 .dst_temps = .{.mem},14613 .dst_temps = .{ .mem, .unused },
10897 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14614 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10898 .each = .{ .once = &.{14615 .each = .{ .once = &.{
10899 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10937,7 +14654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10937,7 +14654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10937 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },14654 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
10938 .unused,14655 .unused,
10939 },14656 },
10940 .dst_temps = .{.mem},14657 .dst_temps = .{ .mem, .unused },
10941 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10942 .each = .{ .once = &.{14659 .each = .{ .once = &.{
10943 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -10981,7 +14698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10981,7 +14698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10981 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },14698 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
10982 .unused,14699 .unused,
10983 },14700 },
10984 .dst_temps = .{.mem},14701 .dst_temps = .{ .mem, .unused },
10985 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14702 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10986 .each = .{ .once = &.{14703 .each = .{ .once = &.{
10987 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14704 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -11026,7 +14743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11026,7 +14743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11026 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },14743 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
11027 .unused,14744 .unused,
11028 },14745 },
11029 .dst_temps = .{.mem},14746 .dst_temps = .{ .mem, .unused },
11030 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },14747 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11031 .each = .{ .once = &.{14748 .each = .{ .once = &.{
11032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },14749 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -11064,88 +14781,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11064,88 +14781,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11064 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });14781 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
11065 try ops[0].toSlicePtr(cg);14782 try ops[0].toSlicePtr(cg);
11066 var res: [1]Temp = undefined;14783 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 &.{ .{
11068 .patterns = &.{14785 .patterns = &.{
11069 .{ .src = .{ .to_gpr, .simm32, .none } },14786 .{ .src = .{ .to_gpr, .simm32, .none } },
11070 },14787 },
11071 .dst_temps = .{.{ .rc = .general_purpose }},14788 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11072 .each = .{ .once = &.{14789 .each = .{ .once = &.{
11073 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .add_src0_elem_size_times_src1), ._, ._ },14790 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .add_src0_elem_size_mul_src1), ._, ._ },
11074 } },14791 } },
11075 }, .{14792 }, .{
11076 .dst_constraints = .{.{ .elem_size_is = 1 }},14793 .dst_constraints = .{ .{ .elem_size_is = 1 }, .any },
11077 .patterns = &.{14794 .patterns = &.{
11078 .{ .src = .{ .to_gpr, .to_gpr, .none } },14795 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11079 },14796 },
11080 .dst_temps = .{.{ .rc = .general_purpose }},14797 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11081 .each = .{ .once = &.{14798 .each = .{ .once = &.{
11082 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },14799 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
11083 } },14800 } },
11084 }, .{14801 }, .{
11085 .dst_constraints = .{.{ .elem_size_is = 2 }},14802 .dst_constraints = .{ .{ .elem_size_is = 2 }, .any },
11086 .patterns = &.{14803 .patterns = &.{
11087 .{ .src = .{ .to_gpr, .to_gpr, .none } },14804 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11088 },14805 },
11089 .dst_temps = .{.{ .rc = .general_purpose }},14806 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11090 .each = .{ .once = &.{14807 .each = .{ .once = &.{
11091 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },14808 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },
11092 } },14809 } },
11093 }, .{14810 }, .{
11094 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},14811 .dst_constraints = .{ .{ .elem_size_is = 2 + 1 }, .any },
11095 .patterns = &.{14812 .patterns = &.{
11096 .{ .src = .{ .to_gpr, .to_gpr, .none } },14813 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11097 },14814 },
11098 .dst_temps = .{.{ .rc = .general_purpose }},14815 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11099 .each = .{ .once = &.{14816 .each = .{ .once = &.{
11100 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },14817 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },
11101 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },14818 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
11102 } },14819 } },
11103 }, .{14820 }, .{
11104 .dst_constraints = .{.{ .elem_size_is = 4 }},14821 .dst_constraints = .{ .{ .elem_size_is = 4 }, .any },
11105 .patterns = &.{14822 .patterns = &.{
11106 .{ .src = .{ .to_gpr, .to_gpr, .none } },14823 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11107 },14824 },
11108 .dst_temps = .{.{ .rc = .general_purpose }},14825 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11109 .each = .{ .once = &.{14826 .each = .{ .once = &.{
11110 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },14827 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },
11111 } },14828 } },
11112 }, .{14829 }, .{
11113 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},14830 .dst_constraints = .{ .{ .elem_size_is = 4 + 1 }, .any },
11114 .patterns = &.{14831 .patterns = &.{
11115 .{ .src = .{ .to_gpr, .to_gpr, .none } },14832 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11116 },14833 },
11117 .dst_temps = .{.{ .ref = .src1 }},14834 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11118 .each = .{ .once = &.{14835 .each = .{ .once = &.{
11119 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },14836 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },
11120 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },14837 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
11121 } },14838 } },
11122 }, .{14839 }, .{
11123 .required_features = .{ .@"64bit", null, null, null },14840 .required_features = .{ .@"64bit", null, null, null },
11124 .dst_constraints = .{.{ .elem_size_is = 8 }},14841 .dst_constraints = .{ .{ .elem_size_is = 8 }, .any },
11125 .patterns = &.{14842 .patterns = &.{
11126 .{ .src = .{ .to_gpr, .to_gpr, .none } },14843 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11127 },14844 },
11128 .dst_temps = .{.{ .rc = .general_purpose }},14845 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11129 .each = .{ .once = &.{14846 .each = .{ .once = &.{
11130 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ },14847 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ },
11131 } },14848 } },
11132 }, .{14849 }, .{
11133 .required_features = .{ .@"64bit", null, null, null },14850 .required_features = .{ .@"64bit", null, null, null },
11134 .dst_constraints = .{.{ .elem_size_is = 8 + 1 }},14851 .dst_constraints = .{ .{ .elem_size_is = 8 + 1 }, .any },
11135 .patterns = &.{14852 .patterns = &.{
11136 .{ .src = .{ .to_gpr, .to_gpr, .none } },14853 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11137 },14854 },
11138 .dst_temps = .{.{ .ref = .src1 }},14855 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11139 .each = .{ .once = &.{14856 .each = .{ .once = &.{
11140 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },14857 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },
11141 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },14858 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
11142 } },14859 } },
11143 }, .{14860 }, .{
11144 .dst_constraints = .{.po2_elem_size},14861 .dst_constraints = .{ .po2_elem_size, .any },
11145 .patterns = &.{14862 .patterns = &.{
11146 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },14863 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
11147 },14864 },
11148 .dst_temps = .{.{ .ref = .src1 }},14865 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11149 .clobbers = .{ .eflags = true },14866 .clobbers = .{ .eflags = true },
11150 .each = .{ .once = &.{14867 .each = .{ .once = &.{
11151 .{ ._, ._l, .sh, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },14868 .{ ._, ._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 {...@@ -11155,7 +14872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11155 .patterns = &.{14872 .patterns = &.{
11156 .{ .src = .{ .to_gpr, .to_gpr, .none } },14873 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11157 },14874 },
11158 .dst_temps = .{.{ .rc = .general_purpose }},14875 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11159 .clobbers = .{ .eflags = true },14876 .clobbers = .{ .eflags = true },
11160 .each = .{ .once = &.{14877 .each = .{ .once = &.{
11161 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .add_src0_elem_size), ._ },14878 .{ ._, .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 {...@@ -11169,9 +14886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11169 ops[1].tracking(cg),14886 ops[1].tracking(cg),
11170 }),14887 }),
11171 else => |e| return e,14888 else => |e| return e,
11172 } else { // hack around Sema OPV bugs14889 } else res[0] = ops[0];
11173 res[0] = ops[0];
11174 }
11175 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);14890 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
11176 },14891 },
11177 .ptr_sub => |air_tag| if (use_old) try cg.airPtrArithmetic(inst, air_tag) else {14892 .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 {...@@ -11180,42 +14895,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11180 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });14895 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
11181 try ops[0].toSlicePtr(cg);14896 try ops[0].toSlicePtr(cg);
11182 var res: [1]Temp = undefined;14897 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 &.{ .{
11184 .patterns = &.{14899 .patterns = &.{
11185 .{ .src = .{ .to_gpr, .simm32, .none } },14900 .{ .src = .{ .to_gpr, .simm32, .none } },
11186 },14901 },
11187 .dst_temps = .{.{ .rc = .general_purpose }},14902 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11188 .each = .{ .once = &.{14903 .each = .{ .once = &.{
11189 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .sub_src0_elem_size_times_src1), ._, ._ },14904 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .sub_src0_elem_size_mul_src1), ._, ._ },
11190 } },14905 } },
11191 }, .{14906 }, .{
11192 .dst_constraints = .{.{ .elem_size_is = 1 }},14907 .dst_constraints = .{ .{ .elem_size_is = 1 }, .any },
11193 .patterns = &.{14908 .patterns = &.{
11194 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },14909 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
11195 },14910 },
11196 .dst_temps = .{.{ .ref = .src1 }},14911 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11197 .clobbers = .{ .eflags = true },14912 .clobbers = .{ .eflags = true },
11198 .each = .{ .once = &.{14913 .each = .{ .once = &.{
11199 .{ ._, ._, .neg, .src1p, ._, ._, ._ },14914 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
11200 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },14915 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
11201 } },14916 } },
11202 }, .{14917 }, .{
11203 .dst_constraints = .{.{ .elem_size_is = 2 }},14918 .dst_constraints = .{ .{ .elem_size_is = 2 }, .any },
11204 .patterns = &.{14919 .patterns = &.{
11205 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },14920 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
11206 },14921 },
11207 .dst_temps = .{.{ .ref = .src1 }},14922 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11208 .clobbers = .{ .eflags = true },14923 .clobbers = .{ .eflags = true },
11209 .each = .{ .once = &.{14924 .each = .{ .once = &.{
11210 .{ ._, ._, .neg, .src1p, ._, ._, ._ },14925 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
11211 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },14926 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },
11212 } },14927 } },
11213 }, .{14928 }, .{
11214 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},14929 .dst_constraints = .{ .{ .elem_size_is = 2 + 1 }, .any },
11215 .patterns = &.{14930 .patterns = &.{
11216 .{ .src = .{ .to_gpr, .to_gpr, .none } },14931 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11217 },14932 },
11218 .dst_temps = .{.{ .rc = .general_purpose }},14933 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11219 .clobbers = .{ .eflags = true },14934 .clobbers = .{ .eflags = true },
11220 .each = .{ .once = &.{14935 .each = .{ .once = &.{
11221 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },14936 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },
...@@ -11223,22 +14938,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11223,22 +14938,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11223 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },14938 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
11224 } },14939 } },
11225 }, .{14940 }, .{
11226 .dst_constraints = .{.{ .elem_size_is = 4 }},14941 .dst_constraints = .{ .{ .elem_size_is = 4 }, .any },
11227 .patterns = &.{14942 .patterns = &.{
11228 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },14943 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
11229 },14944 },
11230 .dst_temps = .{.{ .ref = .src1 }},14945 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11231 .clobbers = .{ .eflags = true },14946 .clobbers = .{ .eflags = true },
11232 .each = .{ .once = &.{14947 .each = .{ .once = &.{
11233 .{ ._, ._, .neg, .src1p, ._, ._, ._ },14948 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
11234 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },14949 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },
11235 } },14950 } },
11236 }, .{14951 }, .{
11237 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},14952 .dst_constraints = .{ .{ .elem_size_is = 4 + 1 }, .any },
11238 .patterns = &.{14953 .patterns = &.{
11239 .{ .src = .{ .to_gpr, .to_gpr, .none } },14954 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11240 },14955 },
11241 .dst_temps = .{.{ .rc = .general_purpose }},14956 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11242 .clobbers = .{ .eflags = true },14957 .clobbers = .{ .eflags = true },
11243 .each = .{ .once = &.{14958 .each = .{ .once = &.{
11244 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },14959 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },
...@@ -11247,11 +14962,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11247,11 +14962,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11247 } },14962 } },
11248 }, .{14963 }, .{
11249 .required_features = .{ .@"64bit", null, null, null },14964 .required_features = .{ .@"64bit", null, null, null },
11250 .dst_constraints = .{.{ .elem_size_is = 8 }},14965 .dst_constraints = .{ .{ .elem_size_is = 8 }, .any },
11251 .patterns = &.{14966 .patterns = &.{
11252 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },14967 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
11253 },14968 },
11254 .dst_temps = .{.{ .ref = .src1 }},14969 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11255 .clobbers = .{ .eflags = true },14970 .clobbers = .{ .eflags = true },
11256 .each = .{ .once = &.{14971 .each = .{ .once = &.{
11257 .{ ._, ._, .neg, .src1p, ._, ._, ._ },14972 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
...@@ -11259,11 +14974,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11259,11 +14974,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11259 } },14974 } },
11260 }, .{14975 }, .{
11261 .required_features = .{ .@"64bit", null, null, null },14976 .required_features = .{ .@"64bit", null, null, null },
11262 .dst_constraints = .{.{ .elem_size_is = 8 + 1 }},14977 .dst_constraints = .{ .{ .elem_size_is = 8 + 1 }, .any },
11263 .patterns = &.{14978 .patterns = &.{
11264 .{ .src = .{ .to_gpr, .to_gpr, .none } },14979 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11265 },14980 },
11266 .dst_temps = .{.{ .rc = .general_purpose }},14981 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11267 .clobbers = .{ .eflags = true },14982 .clobbers = .{ .eflags = true },
11268 .each = .{ .once = &.{14983 .each = .{ .once = &.{
11269 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },14984 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },
...@@ -11271,11 +14986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11271,11 +14986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11271 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },14986 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
11272 } },14987 } },
11273 }, .{14988 }, .{
11274 .dst_constraints = .{.po2_elem_size},14989 .dst_constraints = .{ .po2_elem_size, .any },
11275 .patterns = &.{14990 .patterns = &.{
11276 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },14991 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
11277 },14992 },
11278 .dst_temps = .{.{ .ref = .src1 }},14993 .dst_temps = .{ .{ .ref = .src1 }, .unused },
11279 .clobbers = .{ .eflags = true },14994 .clobbers = .{ .eflags = true },
11280 .each = .{ .once = &.{14995 .each = .{ .once = &.{
11281 .{ ._, ._l, .sa, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },14996 .{ ._, ._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 {...@@ -11286,7 +15001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11286 .patterns = &.{15001 .patterns = &.{
11287 .{ .src = .{ .to_gpr, .to_gpr, .none } },15002 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11288 },15003 },
11289 .dst_temps = .{.{ .rc = .general_purpose }},15004 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
11290 .clobbers = .{ .eflags = true },15005 .clobbers = .{ .eflags = true },
11291 .each = .{ .once = &.{15006 .each = .{ .once = &.{
11292 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .sub_src0_elem_size), ._ },15007 .{ ._, .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 {...@@ -11300,10 +15015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11300 ops[1].tracking(cg),15015 ops[1].tracking(cg),
11301 }),15016 }),
11302 else => |e| return e,15017 else => |e| return e,
11303 } else {15018 } else res[0] = ops[0];
11304 // hack around Sema OPV bugs
11305 res[0] = ops[0];
11306 }
11307 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);15019 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
11308 },15020 },
11309 .max => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else {15021 .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 {...@@ -11316,7 +15028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11316 .patterns = &.{15028 .patterns = &.{
11317 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15029 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11318 },15030 },
11319 .dst_temps = .{.{ .ref = .src0 }},15031 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11320 .clobbers = .{ .eflags = true },15032 .clobbers = .{ .eflags = true },
11321 .each = .{ .once = &.{15033 .each = .{ .once = &.{
11322 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },15034 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -11329,7 +15041,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11329,7 +15041,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11329 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15041 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11330 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15042 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11331 },15043 },
11332 .dst_temps = .{.{ .ref = .src0 }},15044 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11333 .clobbers = .{ .eflags = true },15045 .clobbers = .{ .eflags = true },
11334 .each = .{ .once = &.{15046 .each = .{ .once = &.{
11335 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },15047 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -11342,7 +15054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11342,7 +15054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11342 .patterns = &.{15054 .patterns = &.{
11343 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15055 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11344 },15056 },
11345 .dst_temps = .{.{ .ref = .src0 }},15057 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11346 .clobbers = .{ .eflags = true },15058 .clobbers = .{ .eflags = true },
11347 .each = .{ .once = &.{15059 .each = .{ .once = &.{
11348 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },15060 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -11355,7 +15067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11355,7 +15067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11355 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15067 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11356 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15068 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11357 },15069 },
11358 .dst_temps = .{.{ .ref = .src0 }},15070 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11359 .clobbers = .{ .eflags = true },15071 .clobbers = .{ .eflags = true },
11360 .each = .{ .once = &.{15072 .each = .{ .once = &.{
11361 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },15073 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -11370,7 +15082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11370,7 +15082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11370 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15082 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11371 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15083 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11372 },15084 },
11373 .dst_temps = .{.{ .ref = .src0 }},15085 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11374 .clobbers = .{ .eflags = true },15086 .clobbers = .{ .eflags = true },
11375 .each = .{ .once = &.{15087 .each = .{ .once = &.{
11376 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },15088 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -11383,7 +15095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11383,7 +15095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11383 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15095 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11384 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15096 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11385 },15097 },
11386 .dst_temps = .{.{ .ref = .src0 }},15098 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11387 .clobbers = .{ .eflags = true },15099 .clobbers = .{ .eflags = true },
11388 .each = .{ .once = &.{15100 .each = .{ .once = &.{
11389 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },15101 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -11398,7 +15110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11398,7 +15110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11398 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15110 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11399 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15111 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11400 },15112 },
11401 .dst_temps = .{.{ .ref = .src0 }},15113 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11402 .clobbers = .{ .eflags = true },15114 .clobbers = .{ .eflags = true },
11403 .each = .{ .once = &.{15115 .each = .{ .once = &.{
11404 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },15116 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -11411,7 +15123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11411,7 +15123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11411 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15123 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11412 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15124 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11413 },15125 },
11414 .dst_temps = .{.{ .ref = .src0 }},15126 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11415 .clobbers = .{ .eflags = true },15127 .clobbers = .{ .eflags = true },
11416 .each = .{ .once = &.{15128 .each = .{ .once = &.{
11417 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },15129 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -11426,7 +15138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11426,7 +15138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11426 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15138 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11427 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15139 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11428 },15140 },
11429 .dst_temps = .{.{ .ref = .src0 }},15141 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11430 .clobbers = .{ .eflags = true },15142 .clobbers = .{ .eflags = true },
11431 .each = .{ .once = &.{15143 .each = .{ .once = &.{
11432 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },15144 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -11439,7 +15151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11439,7 +15151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11439 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15151 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11440 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15152 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11441 },15153 },
11442 .dst_temps = .{.{ .ref = .src0 }},15154 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11443 .clobbers = .{ .eflags = true },15155 .clobbers = .{ .eflags = true },
11444 .each = .{ .once = &.{15156 .each = .{ .once = &.{
11445 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },15157 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -11454,7 +15166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11454,7 +15166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11454 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15166 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11455 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15167 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11456 },15168 },
11457 .dst_temps = .{.{ .ref = .src0 }},15169 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11458 .clobbers = .{ .eflags = true },15170 .clobbers = .{ .eflags = true },
11459 .each = .{ .once = &.{15171 .each = .{ .once = &.{
11460 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },15172 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -11467,7 +15179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11467,7 +15179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11467 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15179 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11468 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15180 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11469 },15181 },
11470 .dst_temps = .{.{ .ref = .src0 }},15182 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11471 .clobbers = .{ .eflags = true },15183 .clobbers = .{ .eflags = true },
11472 .each = .{ .once = &.{15184 .each = .{ .once = &.{
11473 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },15185 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -11482,7 +15194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11482,7 +15194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11482 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15194 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11483 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15195 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11484 },15196 },
11485 .dst_temps = .{.{ .ref = .src0 }},15197 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11486 .clobbers = .{ .eflags = true },15198 .clobbers = .{ .eflags = true },
11487 .each = .{ .once = &.{15199 .each = .{ .once = &.{
11488 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },15200 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -11496,7 +15208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11496,7 +15208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11496 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15208 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11497 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15209 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11498 },15210 },
11499 .dst_temps = .{.{ .ref = .src0 }},15211 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11500 .clobbers = .{ .eflags = true },15212 .clobbers = .{ .eflags = true },
11501 .each = .{ .once = &.{15213 .each = .{ .once = &.{
11502 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },15214 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -11511,7 +15223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11511,7 +15223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11511 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15223 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11512 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15224 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11513 },15225 },
11514 .dst_temps = .{.{ .ref = .src0 }},15226 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11515 .clobbers = .{ .eflags = true },15227 .clobbers = .{ .eflags = true },
11516 .each = .{ .once = &.{15228 .each = .{ .once = &.{
11517 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },15229 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -11525,7 +15237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11525,7 +15237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11525 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },15237 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
11526 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },15238 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
11527 },15239 },
11528 .dst_temps = .{.{ .ref = .src0 }},15240 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11529 .clobbers = .{ .eflags = true },15241 .clobbers = .{ .eflags = true },
11530 .each = .{ .once = &.{15242 .each = .{ .once = &.{
11531 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },15243 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -11549,7 +15261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11549,7 +15261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11549 .unused,15261 .unused,
11550 .unused,15262 .unused,
11551 },15263 },
11552 .dst_temps = .{.mem},15264 .dst_temps = .{ .mem, .unused },
11553 .clobbers = .{ .eflags = true },15265 .clobbers = .{ .eflags = true },
11554 .each = .{ .once = &.{15266 .each = .{ .once = &.{
11555 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },15267 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
...@@ -11584,7 +15296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11584,7 +15296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11584 .unused,15296 .unused,
11585 .unused,15297 .unused,
11586 },15298 },
11587 .dst_temps = .{.mem},15299 .dst_temps = .{ .mem, .unused },
11588 .clobbers = .{ .eflags = true },15300 .clobbers = .{ .eflags = true },
11589 .each = .{ .once = &.{15301 .each = .{ .once = &.{
11590 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },15302 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
...@@ -11619,7 +15331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11619,7 +15331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11619 .unused,15331 .unused,
11620 .unused,15332 .unused,
11621 },15333 },
11622 .dst_temps = .{.mem},15334 .dst_temps = .{ .mem, .unused },
11623 .clobbers = .{ .eflags = true },15335 .clobbers = .{ .eflags = true },
11624 .each = .{ .once = &.{15336 .each = .{ .once = &.{
11625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },15337 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
...@@ -11652,7 +15364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11652,7 +15364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11652 .unused,15364 .unused,
11653 .unused,15365 .unused,
11654 },15366 },
11655 .dst_temps = .{.mem},15367 .dst_temps = .{ .mem, .unused },
11656 .clobbers = .{ .eflags = true },15368 .clobbers = .{ .eflags = true },
11657 .each = .{ .once = &.{15369 .each = .{ .once = &.{
11658 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },15370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
...@@ -11680,7 +15392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11680,7 +15392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11680 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },15392 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
11681 .{ .src = .{ .to_sse, .to_sse, .none } },15393 .{ .src = .{ .to_sse, .to_sse, .none } },
11682 },15394 },
11683 .dst_temps = .{.{ .rc = .sse }},15395 .dst_temps = .{ .{ .rc = .sse }, .unused },
11684 .each = .{ .once = &.{15396 .each = .{ .once = &.{
11685 .{ ._, .vp_b, .maxs, .dst0x, .src0x, .src1x, ._ },15397 .{ ._, .vp_b, .maxs, .dst0x, .src0x, .src1x, ._ },
11686 } },15398 } },
...@@ -11696,7 +15408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11696,7 +15408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11696 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },15408 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
11697 .{ .src = .{ .to_mut_sse, .to_sse, .none } },15409 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
11698 },15410 },
11699 .dst_temps = .{.{ .ref = .src0 }},15411 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11700 .each = .{ .once = &.{15412 .each = .{ .once = &.{
11701 .{ ._, .p_b, .maxs, .dst0x, .src1x, ._, ._ },15413 .{ ._, .p_b, .maxs, .dst0x, .src1x, ._, ._ },
11702 } },15414 } },
...@@ -11712,7 +15424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11712,7 +15424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11712 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },15424 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
11713 .{ .src = .{ .to_mut_sse, .to_sse, .none } },15425 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
11714 },15426 },
11715 .dst_temps = .{.{ .rc = .sse }},15427 .dst_temps = .{ .{ .rc = .sse }, .unused },
11716 .each = .{ .once = &.{15428 .each = .{ .once = &.{
11717 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },15429 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },
11718 .{ ._, .p_b, .cmpgt, .dst0x, .src1x, ._, ._ },15430 .{ ._, .p_b, .cmpgt, .dst0x, .src1x, ._, ._ },
...@@ -11732,7 +15444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11732,7 +15444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11732 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },15444 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
11733 .{ .src = .{ .to_sse, .to_sse, .none } },15445 .{ .src = .{ .to_sse, .to_sse, .none } },
11734 },15446 },
11735 .dst_temps = .{.{ .rc = .sse }},15447 .dst_temps = .{ .{ .rc = .sse }, .unused },
11736 .each = .{ .once = &.{15448 .each = .{ .once = &.{
11737 .{ ._, .vp_b, .maxs, .dst0y, .src0y, .src1y, ._ },15449 .{ ._, .vp_b, .maxs, .dst0y, .src0y, .src1y, ._ },
11738 } },15450 } },
...@@ -11757,7 +15469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11757,7 +15469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11757 .unused,15469 .unused,
11758 .unused,15470 .unused,
11759 },15471 },
11760 .dst_temps = .{.mem},15472 .dst_temps = .{ .mem, .unused },
11761 .clobbers = .{ .eflags = true },15473 .clobbers = .{ .eflags = true },
11762 .each = .{ .once = &.{15474 .each = .{ .once = &.{
11763 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15475 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11788,7 +15500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11788,7 +15500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11788 .unused,15500 .unused,
11789 .unused,15501 .unused,
11790 },15502 },
11791 .dst_temps = .{.mem},15503 .dst_temps = .{ .mem, .unused },
11792 .clobbers = .{ .eflags = true },15504 .clobbers = .{ .eflags = true },
11793 .each = .{ .once = &.{15505 .each = .{ .once = &.{
11794 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11819,7 +15531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11819,7 +15531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11819 .unused,15531 .unused,
11820 .unused,15532 .unused,
11821 },15533 },
11822 .dst_temps = .{.mem},15534 .dst_temps = .{ .mem, .unused },
11823 .clobbers = .{ .eflags = true },15535 .clobbers = .{ .eflags = true },
11824 .each = .{ .once = &.{15536 .each = .{ .once = &.{
11825 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15537 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11850,7 +15562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11850,7 +15562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11850 .unused,15562 .unused,
11851 .unused,15563 .unused,
11852 },15564 },
11853 .dst_temps = .{.mem},15565 .dst_temps = .{ .mem, .unused },
11854 .clobbers = .{ .eflags = true },15566 .clobbers = .{ .eflags = true },
11855 .each = .{ .once = &.{15567 .each = .{ .once = &.{
11856 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15568 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11885,7 +15597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11885,7 +15597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11885 .unused,15597 .unused,
11886 .unused,15598 .unused,
11887 },15599 },
11888 .dst_temps = .{.mem},15600 .dst_temps = .{ .mem, .unused },
11889 .clobbers = .{ .eflags = true },15601 .clobbers = .{ .eflags = true },
11890 .each = .{ .once = &.{15602 .each = .{ .once = &.{
11891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15603 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11918,7 +15630,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11918,7 +15630,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11918 .unused,15630 .unused,
11919 .unused,15631 .unused,
11920 },15632 },
11921 .dst_temps = .{.mem},15633 .dst_temps = .{ .mem, .unused },
11922 .clobbers = .{ .eflags = true },15634 .clobbers = .{ .eflags = true },
11923 .each = .{ .once = &.{15635 .each = .{ .once = &.{
11924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15636 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11951,7 +15663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11951,7 +15663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11951 .unused,15663 .unused,
11952 .unused,15664 .unused,
11953 },15665 },
11954 .dst_temps = .{.mem},15666 .dst_temps = .{ .mem, .unused },
11955 .clobbers = .{ .eflags = true },15667 .clobbers = .{ .eflags = true },
11956 .each = .{ .once = &.{15668 .each = .{ .once = &.{
11957 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15669 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -11983,7 +15695,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11983,7 +15695,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11983 .unused,15695 .unused,
11984 .unused,15696 .unused,
11985 },15697 },
11986 .dst_temps = .{.mem},15698 .dst_temps = .{ .mem, .unused },
11987 .clobbers = .{ .eflags = true },15699 .clobbers = .{ .eflags = true },
11988 .each = .{ .once = &.{15700 .each = .{ .once = &.{
11989 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15701 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12007,7 +15719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12007,7 +15719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12007 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },15719 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
12008 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },15720 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
12009 },15721 },
12010 .dst_temps = .{.{ .ref = .src0 }},15722 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12011 .each = .{ .once = &.{15723 .each = .{ .once = &.{
12012 .{ ._, .p_b, .maxu, .dst0q, .src1q, ._, ._ },15724 .{ ._, .p_b, .maxu, .dst0q, .src1q, ._, ._ },
12013 } },15725 } },
...@@ -12023,7 +15735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12023,7 +15735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12023 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },15735 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12024 .{ .src = .{ .to_sse, .to_sse, .none } },15736 .{ .src = .{ .to_sse, .to_sse, .none } },
12025 },15737 },
12026 .dst_temps = .{.{ .rc = .sse }},15738 .dst_temps = .{ .{ .rc = .sse }, .unused },
12027 .each = .{ .once = &.{15739 .each = .{ .once = &.{
12028 .{ ._, .vp_b, .maxu, .dst0x, .src0x, .src1x, ._ },15740 .{ ._, .vp_b, .maxu, .dst0x, .src0x, .src1x, ._ },
12029 } },15741 } },
...@@ -12039,7 +15751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12039,7 +15751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12039 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },15751 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
12040 .{ .src = .{ .to_mut_sse, .to_sse, .none } },15752 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
12041 },15753 },
12042 .dst_temps = .{.{ .ref = .src0 }},15754 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12043 .each = .{ .once = &.{15755 .each = .{ .once = &.{
12044 .{ ._, .p_b, .maxu, .dst0x, .src1x, ._, ._ },15756 .{ ._, .p_b, .maxu, .dst0x, .src1x, ._, ._ },
12045 } },15757 } },
...@@ -12055,7 +15767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12055,7 +15767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12055 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },15767 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12056 .{ .src = .{ .to_sse, .to_sse, .none } },15768 .{ .src = .{ .to_sse, .to_sse, .none } },
12057 },15769 },
12058 .dst_temps = .{.{ .rc = .sse }},15770 .dst_temps = .{ .{ .rc = .sse }, .unused },
12059 .each = .{ .once = &.{15771 .each = .{ .once = &.{
12060 .{ ._, .vp_b, .maxu, .dst0y, .src0y, .src1y, ._ },15772 .{ ._, .vp_b, .maxu, .dst0y, .src0y, .src1y, ._ },
12061 } },15773 } },
...@@ -12080,7 +15792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12080,7 +15792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12080 .unused,15792 .unused,
12081 .unused,15793 .unused,
12082 },15794 },
12083 .dst_temps = .{.mem},15795 .dst_temps = .{ .mem, .unused },
12084 .clobbers = .{ .eflags = true },15796 .clobbers = .{ .eflags = true },
12085 .each = .{ .once = &.{15797 .each = .{ .once = &.{
12086 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15798 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12111,7 +15823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12111,7 +15823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12111 .unused,15823 .unused,
12112 .unused,15824 .unused,
12113 },15825 },
12114 .dst_temps = .{.mem},15826 .dst_temps = .{ .mem, .unused },
12115 .clobbers = .{ .eflags = true },15827 .clobbers = .{ .eflags = true },
12116 .each = .{ .once = &.{15828 .each = .{ .once = &.{
12117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15829 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12142,7 +15854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12142,7 +15854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12142 .unused,15854 .unused,
12143 .unused,15855 .unused,
12144 },15856 },
12145 .dst_temps = .{.mem},15857 .dst_temps = .{ .mem, .unused },
12146 .clobbers = .{ .eflags = true },15858 .clobbers = .{ .eflags = true },
12147 .each = .{ .once = &.{15859 .each = .{ .once = &.{
12148 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12173,7 +15885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12173,7 +15885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12173 .unused,15885 .unused,
12174 .unused,15886 .unused,
12175 },15887 },
12176 .dst_temps = .{.mem},15888 .dst_temps = .{ .mem, .unused },
12177 .clobbers = .{ .eflags = true },15889 .clobbers = .{ .eflags = true },
12178 .each = .{ .once = &.{15890 .each = .{ .once = &.{
12179 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12206,7 +15918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12206,7 +15918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12206 .unused,15918 .unused,
12207 .unused,15919 .unused,
12208 },15920 },
12209 .dst_temps = .{.mem},15921 .dst_temps = .{ .mem, .unused },
12210 .clobbers = .{ .eflags = true },15922 .clobbers = .{ .eflags = true },
12211 .each = .{ .once = &.{15923 .each = .{ .once = &.{
12212 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12239,7 +15951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12239,7 +15951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12239 .unused,15951 .unused,
12240 .unused,15952 .unused,
12241 },15953 },
12242 .dst_temps = .{.mem},15954 .dst_temps = .{ .mem, .unused },
12243 .clobbers = .{ .eflags = true },15955 .clobbers = .{ .eflags = true },
12244 .each = .{ .once = &.{15956 .each = .{ .once = &.{
12245 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15957 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12271,7 +15983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12271,7 +15983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12271 .unused,15983 .unused,
12272 .unused,15984 .unused,
12273 },15985 },
12274 .dst_temps = .{.mem},15986 .dst_temps = .{ .mem, .unused },
12275 .clobbers = .{ .eflags = true },15987 .clobbers = .{ .eflags = true },
12276 .each = .{ .once = &.{15988 .each = .{ .once = &.{
12277 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },15989 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12295,7 +16007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12295,7 +16007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12295 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },16007 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
12296 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },16008 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
12297 },16009 },
12298 .dst_temps = .{.{ .ref = .src0 }},16010 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12299 .each = .{ .once = &.{16011 .each = .{ .once = &.{
12300 .{ ._, .p_w, .maxs, .dst0q, .src1q, ._, ._ },16012 .{ ._, .p_w, .maxs, .dst0q, .src1q, ._, ._ },
12301 } },16013 } },
...@@ -12311,7 +16023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12311,7 +16023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12311 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16023 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12312 .{ .src = .{ .to_sse, .to_sse, .none } },16024 .{ .src = .{ .to_sse, .to_sse, .none } },
12313 },16025 },
12314 .dst_temps = .{.{ .rc = .sse }},16026 .dst_temps = .{ .{ .rc = .sse }, .unused },
12315 .each = .{ .once = &.{16027 .each = .{ .once = &.{
12316 .{ ._, .vp_w, .maxs, .dst0x, .src0x, .src1x, ._ },16028 .{ ._, .vp_w, .maxs, .dst0x, .src0x, .src1x, ._ },
12317 } },16029 } },
...@@ -12327,7 +16039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12327,7 +16039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12327 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },16039 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
12328 .{ .src = .{ .to_mut_sse, .to_sse, .none } },16040 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
12329 },16041 },
12330 .dst_temps = .{.{ .ref = .src0 }},16042 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12331 .each = .{ .once = &.{16043 .each = .{ .once = &.{
12332 .{ ._, .p_w, .maxs, .dst0x, .src1x, ._, ._ },16044 .{ ._, .p_w, .maxs, .dst0x, .src1x, ._, ._ },
12333 } },16045 } },
...@@ -12343,7 +16055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12343,7 +16055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12343 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16055 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12344 .{ .src = .{ .to_sse, .to_sse, .none } },16056 .{ .src = .{ .to_sse, .to_sse, .none } },
12345 },16057 },
12346 .dst_temps = .{.{ .rc = .sse }},16058 .dst_temps = .{ .{ .rc = .sse }, .unused },
12347 .each = .{ .once = &.{16059 .each = .{ .once = &.{
12348 .{ ._, .vp_w, .maxs, .dst0y, .src0y, .src1y, ._ },16060 .{ ._, .vp_w, .maxs, .dst0y, .src0y, .src1y, ._ },
12349 } },16061 } },
...@@ -12368,7 +16080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12368,7 +16080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12368 .unused,16080 .unused,
12369 .unused,16081 .unused,
12370 },16082 },
12371 .dst_temps = .{.mem},16083 .dst_temps = .{ .mem, .unused },
12372 .clobbers = .{ .eflags = true },16084 .clobbers = .{ .eflags = true },
12373 .each = .{ .once = &.{16085 .each = .{ .once = &.{
12374 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16086 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12399,7 +16111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12399,7 +16111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12399 .unused,16111 .unused,
12400 .unused,16112 .unused,
12401 },16113 },
12402 .dst_temps = .{.mem},16114 .dst_temps = .{ .mem, .unused },
12403 .clobbers = .{ .eflags = true },16115 .clobbers = .{ .eflags = true },
12404 .each = .{ .once = &.{16116 .each = .{ .once = &.{
12405 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12430,7 +16142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12430,7 +16142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12430 .unused,16142 .unused,
12431 .unused,16143 .unused,
12432 },16144 },
12433 .dst_temps = .{.mem},16145 .dst_temps = .{ .mem, .unused },
12434 .clobbers = .{ .eflags = true },16146 .clobbers = .{ .eflags = true },
12435 .each = .{ .once = &.{16147 .each = .{ .once = &.{
12436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16148 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12461,7 +16173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12461,7 +16173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12461 .unused,16173 .unused,
12462 .unused,16174 .unused,
12463 },16175 },
12464 .dst_temps = .{.mem},16176 .dst_temps = .{ .mem, .unused },
12465 .clobbers = .{ .eflags = true },16177 .clobbers = .{ .eflags = true },
12466 .each = .{ .once = &.{16178 .each = .{ .once = &.{
12467 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16179 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12492,7 +16204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12492,7 +16204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12492 .unused,16204 .unused,
12493 .unused,16205 .unused,
12494 },16206 },
12495 .dst_temps = .{.mem},16207 .dst_temps = .{ .mem, .unused },
12496 .clobbers = .{ .eflags = true },16208 .clobbers = .{ .eflags = true },
12497 .each = .{ .once = &.{16209 .each = .{ .once = &.{
12498 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12516,7 +16228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12516,7 +16228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12516 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16228 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12517 .{ .src = .{ .to_sse, .to_sse, .none } },16229 .{ .src = .{ .to_sse, .to_sse, .none } },
12518 },16230 },
12519 .dst_temps = .{.{ .rc = .sse }},16231 .dst_temps = .{ .{ .rc = .sse }, .unused },
12520 .each = .{ .once = &.{16232 .each = .{ .once = &.{
12521 .{ ._, .vp_w, .maxu, .dst0x, .src0x, .src1x, ._ },16233 .{ ._, .vp_w, .maxu, .dst0x, .src0x, .src1x, ._ },
12522 } },16234 } },
...@@ -12532,7 +16244,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12532,7 +16244,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12532 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },16244 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
12533 .{ .src = .{ .to_mut_sse, .to_sse, .none } },16245 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
12534 },16246 },
12535 .dst_temps = .{.{ .ref = .src0 }},16247 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12536 .each = .{ .once = &.{16248 .each = .{ .once = &.{
12537 .{ ._, .p_w, .maxu, .dst0x, .src1x, ._, ._ },16249 .{ ._, .p_w, .maxu, .dst0x, .src1x, ._, ._ },
12538 } },16250 } },
...@@ -12548,7 +16260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12548,7 +16260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12548 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },16260 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
12549 .{ .src = .{ .to_mut_sse, .to_sse, .none } },16261 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
12550 },16262 },
12551 .dst_temps = .{.{ .ref = .src0 }},16263 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12552 .each = .{ .once = &.{16264 .each = .{ .once = &.{
12553 .{ ._, .p_w, .subus, .dst0x, .src1x, ._, ._ },16265 .{ ._, .p_w, .subus, .dst0x, .src1x, ._, ._ },
12554 .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ },16266 .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ },
...@@ -12565,7 +16277,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12565,7 +16277,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12565 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16277 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12566 .{ .src = .{ .to_sse, .to_sse, .none } },16278 .{ .src = .{ .to_sse, .to_sse, .none } },
12567 },16279 },
12568 .dst_temps = .{.{ .rc = .sse }},16280 .dst_temps = .{ .{ .rc = .sse }, .unused },
12569 .each = .{ .once = &.{16281 .each = .{ .once = &.{
12570 .{ ._, .vp_w, .maxu, .dst0y, .src0y, .src1y, ._ },16282 .{ ._, .vp_w, .maxu, .dst0y, .src0y, .src1y, ._ },
12571 } },16283 } },
...@@ -12590,7 +16302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12590,7 +16302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12590 .unused,16302 .unused,
12591 .unused,16303 .unused,
12592 },16304 },
12593 .dst_temps = .{.mem},16305 .dst_temps = .{ .mem, .unused },
12594 .clobbers = .{ .eflags = true },16306 .clobbers = .{ .eflags = true },
12595 .each = .{ .once = &.{16307 .each = .{ .once = &.{
12596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16308 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12621,7 +16333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12621,7 +16333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12621 .unused,16333 .unused,
12622 .unused,16334 .unused,
12623 },16335 },
12624 .dst_temps = .{.mem},16336 .dst_temps = .{ .mem, .unused },
12625 .clobbers = .{ .eflags = true },16337 .clobbers = .{ .eflags = true },
12626 .each = .{ .once = &.{16338 .each = .{ .once = &.{
12627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12652,7 +16364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12652,7 +16364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12652 .unused,16364 .unused,
12653 .unused,16365 .unused,
12654 },16366 },
12655 .dst_temps = .{.mem},16367 .dst_temps = .{ .mem, .unused },
12656 .clobbers = .{ .eflags = true },16368 .clobbers = .{ .eflags = true },
12657 .each = .{ .once = &.{16369 .each = .{ .once = &.{
12658 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12683,7 +16395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12683,7 +16395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12683 .unused,16395 .unused,
12684 .unused,16396 .unused,
12685 },16397 },
12686 .dst_temps = .{.mem},16398 .dst_temps = .{ .mem, .unused },
12687 .clobbers = .{ .eflags = true },16399 .clobbers = .{ .eflags = true },
12688 .each = .{ .once = &.{16400 .each = .{ .once = &.{
12689 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16401 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12715,7 +16427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12715,7 +16427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12715 .unused,16427 .unused,
12716 .unused,16428 .unused,
12717 },16429 },
12718 .dst_temps = .{.mem},16430 .dst_temps = .{ .mem, .unused },
12719 .clobbers = .{ .eflags = true },16431 .clobbers = .{ .eflags = true },
12720 .each = .{ .once = &.{16432 .each = .{ .once = &.{
12721 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16433 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12746,7 +16458,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12746,7 +16458,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12746 .unused,16458 .unused,
12747 .unused,16459 .unused,
12748 },16460 },
12749 .dst_temps = .{.mem},16461 .dst_temps = .{ .mem, .unused },
12750 .clobbers = .{ .eflags = true },16462 .clobbers = .{ .eflags = true },
12751 .each = .{ .once = &.{16463 .each = .{ .once = &.{
12752 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16464 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12770,7 +16482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12770,7 +16482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12770 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16482 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12771 .{ .src = .{ .to_sse, .to_sse, .none } },16483 .{ .src = .{ .to_sse, .to_sse, .none } },
12772 },16484 },
12773 .dst_temps = .{.{ .rc = .sse }},16485 .dst_temps = .{ .{ .rc = .sse }, .unused },
12774 .each = .{ .once = &.{16486 .each = .{ .once = &.{
12775 .{ ._, .vp_d, .maxs, .dst0x, .src0x, .src1x, ._ },16487 .{ ._, .vp_d, .maxs, .dst0x, .src0x, .src1x, ._ },
12776 } },16488 } },
...@@ -12786,7 +16498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12786,7 +16498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12786 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },16498 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
12787 .{ .src = .{ .to_mut_sse, .to_sse, .none } },16499 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
12788 },16500 },
12789 .dst_temps = .{.{ .ref = .src0 }},16501 .dst_temps = .{ .{ .ref = .src0 }, .unused },
12790 .each = .{ .once = &.{16502 .each = .{ .once = &.{
12791 .{ ._, .p_d, .maxs, .dst0x, .src1x, ._, ._ },16503 .{ ._, .p_d, .maxs, .dst0x, .src1x, ._, ._ },
12792 } },16504 } },
...@@ -12802,7 +16514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12802,7 +16514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12802 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },16514 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
12803 .{ .src = .{ .to_mut_sse, .to_sse, .none } },16515 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
12804 },16516 },
12805 .dst_temps = .{.{ .rc = .sse }},16517 .dst_temps = .{ .{ .rc = .sse }, .unused },
12806 .each = .{ .once = &.{16518 .each = .{ .once = &.{
12807 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },16519 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },
12808 .{ ._, .p_d, .cmpgt, .dst0x, .src1x, ._, ._ },16520 .{ ._, .p_d, .cmpgt, .dst0x, .src1x, ._, ._ },
...@@ -12822,7 +16534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12822,7 +16534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12822 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16534 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
12823 .{ .src = .{ .to_sse, .to_sse, .none } },16535 .{ .src = .{ .to_sse, .to_sse, .none } },
12824 },16536 },
12825 .dst_temps = .{.{ .rc = .sse }},16537 .dst_temps = .{ .{ .rc = .sse }, .unused },
12826 .each = .{ .once = &.{16538 .each = .{ .once = &.{
12827 .{ ._, .vp_d, .maxs, .dst0y, .src0y, .src1y, ._ },16539 .{ ._, .vp_d, .maxs, .dst0y, .src0y, .src1y, ._ },
12828 } },16540 } },
...@@ -12847,7 +16559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12847,7 +16559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12847 .unused,16559 .unused,
12848 .unused,16560 .unused,
12849 },16561 },
12850 .dst_temps = .{.mem},16562 .dst_temps = .{ .mem, .unused },
12851 .clobbers = .{ .eflags = true },16563 .clobbers = .{ .eflags = true },
12852 .each = .{ .once = &.{16564 .each = .{ .once = &.{
12853 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16565 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12878,7 +16590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12878,7 +16590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12878 .unused,16590 .unused,
12879 .unused,16591 .unused,
12880 },16592 },
12881 .dst_temps = .{.mem},16593 .dst_temps = .{ .mem, .unused },
12882 .clobbers = .{ .eflags = true },16594 .clobbers = .{ .eflags = true },
12883 .each = .{ .once = &.{16595 .each = .{ .once = &.{
12884 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12909,7 +16621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12909,7 +16621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12909 .unused,16621 .unused,
12910 .unused,16622 .unused,
12911 },16623 },
12912 .dst_temps = .{.mem},16624 .dst_temps = .{ .mem, .unused },
12913 .clobbers = .{ .eflags = true },16625 .clobbers = .{ .eflags = true },
12914 .each = .{ .once = &.{16626 .each = .{ .once = &.{
12915 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12940,7 +16652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12940,7 +16652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12940 .unused,16652 .unused,
12941 .unused,16653 .unused,
12942 },16654 },
12943 .dst_temps = .{.mem},16655 .dst_temps = .{ .mem, .unused },
12944 .clobbers = .{ .eflags = true },16656 .clobbers = .{ .eflags = true },
12945 .each = .{ .once = &.{16657 .each = .{ .once = &.{
12946 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16658 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -12975,7 +16687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12975,7 +16687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12975 .unused,16687 .unused,
12976 .unused,16688 .unused,
12977 },16689 },
12978 .dst_temps = .{.mem},16690 .dst_temps = .{ .mem, .unused },
12979 .clobbers = .{ .eflags = true },16691 .clobbers = .{ .eflags = true },
12980 .each = .{ .once = &.{16692 .each = .{ .once = &.{
12981 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13006,7 +16718,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13006,7 +16718,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13006 .unused,16718 .unused,
13007 .unused,16719 .unused,
13008 },16720 },
13009 .dst_temps = .{.mem},16721 .dst_temps = .{ .mem, .unused },
13010 .clobbers = .{ .eflags = true },16722 .clobbers = .{ .eflags = true },
13011 .each = .{ .once = &.{16723 .each = .{ .once = &.{
13012 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16724 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13030,7 +16742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13030,7 +16742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13030 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16742 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
13031 .{ .src = .{ .to_sse, .to_sse, .none } },16743 .{ .src = .{ .to_sse, .to_sse, .none } },
13032 },16744 },
13033 .dst_temps = .{.{ .rc = .sse }},16745 .dst_temps = .{ .{ .rc = .sse }, .unused },
13034 .each = .{ .once = &.{16746 .each = .{ .once = &.{
13035 .{ ._, .vp_d, .maxu, .dst0x, .src0x, .src1x, ._ },16747 .{ ._, .vp_d, .maxu, .dst0x, .src0x, .src1x, ._ },
13036 } },16748 } },
...@@ -13046,7 +16758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13046,7 +16758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13046 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },16758 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
13047 .{ .src = .{ .to_mut_sse, .to_sse, .none } },16759 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
13048 },16760 },
13049 .dst_temps = .{.{ .ref = .src0 }},16761 .dst_temps = .{ .{ .ref = .src0 }, .unused },
13050 .each = .{ .once = &.{16762 .each = .{ .once = &.{
13051 .{ ._, .p_d, .maxu, .dst0x, .src1x, ._, ._ },16763 .{ ._, .p_d, .maxu, .dst0x, .src1x, ._, ._ },
13052 } },16764 } },
...@@ -13073,7 +16785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13073,7 +16785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13073 .unused,16785 .unused,
13074 .unused,16786 .unused,
13075 },16787 },
13076 .dst_temps = .{.{ .rc = .sse }},16788 .dst_temps = .{ .{ .rc = .sse }, .unused },
13077 .each = .{ .once = &.{16789 .each = .{ .once = &.{
13078 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },16790 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
13079 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },16791 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -13097,7 +16809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13097,7 +16809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13097 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },16809 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
13098 .{ .src = .{ .to_sse, .to_sse, .none } },16810 .{ .src = .{ .to_sse, .to_sse, .none } },
13099 },16811 },
13100 .dst_temps = .{.{ .rc = .sse }},16812 .dst_temps = .{ .{ .rc = .sse }, .unused },
13101 .each = .{ .once = &.{16813 .each = .{ .once = &.{
13102 .{ ._, .vp_d, .maxu, .dst0y, .src0y, .src1y, ._ },16814 .{ ._, .vp_d, .maxu, .dst0y, .src0y, .src1y, ._ },
13103 } },16815 } },
...@@ -13122,7 +16834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13122,7 +16834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13122 .unused,16834 .unused,
13123 .unused,16835 .unused,
13124 },16836 },
13125 .dst_temps = .{.mem},16837 .dst_temps = .{ .mem, .unused },
13126 .clobbers = .{ .eflags = true },16838 .clobbers = .{ .eflags = true },
13127 .each = .{ .once = &.{16839 .each = .{ .once = &.{
13128 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16840 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13153,7 +16865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13153,7 +16865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13153 .unused,16865 .unused,
13154 .unused,16866 .unused,
13155 },16867 },
13156 .dst_temps = .{.mem},16868 .dst_temps = .{ .mem, .unused },
13157 .clobbers = .{ .eflags = true },16869 .clobbers = .{ .eflags = true },
13158 .each = .{ .once = &.{16870 .each = .{ .once = &.{
13159 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16871 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13184,7 +16896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13184,7 +16896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13184 .unused,16896 .unused,
13185 .unused,16897 .unused,
13186 },16898 },
13187 .dst_temps = .{.mem},16899 .dst_temps = .{ .mem, .unused },
13188 .clobbers = .{ .eflags = true },16900 .clobbers = .{ .eflags = true },
13189 .each = .{ .once = &.{16901 .each = .{ .once = &.{
13190 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16902 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13215,7 +16927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13215,7 +16927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13215 .unused,16927 .unused,
13216 .unused,16928 .unused,
13217 },16929 },
13218 .dst_temps = .{.mem},16930 .dst_temps = .{ .mem, .unused },
13219 .clobbers = .{ .eflags = true },16931 .clobbers = .{ .eflags = true },
13220 .each = .{ .once = &.{16932 .each = .{ .once = &.{
13221 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },16933 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -13256,7 +16968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13256,7 +16968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13256 .unused,16968 .unused,
13257 .unused,16969 .unused,
13258 },16970 },
13259 .dst_temps = .{.mem},16971 .dst_temps = .{ .mem, .unused },
13260 .clobbers = .{ .eflags = true },16972 .clobbers = .{ .eflags = true },
13261 .each = .{ .once = &.{16973 .each = .{ .once = &.{
13262 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },16974 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13287,7 +16999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13287,7 +16999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13287 .unused,16999 .unused,
13288 .unused,17000 .unused,
13289 },17001 },
13290 .dst_temps = .{.mem},17002 .dst_temps = .{ .mem, .unused },
13291 .clobbers = .{ .eflags = true },17003 .clobbers = .{ .eflags = true },
13292 .each = .{ .once = &.{17004 .each = .{ .once = &.{
13293 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13309,7 +17021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13309,7 +17021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13309 .patterns = &.{17021 .patterns = &.{
13310 .{ .src = .{ .to_sse, .to_sse, .none } },17022 .{ .src = .{ .to_sse, .to_sse, .none } },
13311 },17023 },
13312 .dst_temps = .{.{ .rc = .sse }},17024 .dst_temps = .{ .{ .rc = .sse }, .unused },
13313 .each = .{ .once = &.{17025 .each = .{ .once = &.{
13314 .{ ._, .vp_q, .cmpgt, .dst0x, .src1x, .src0x, ._ },17026 .{ ._, .vp_q, .cmpgt, .dst0x, .src1x, .src0x, ._ },
13315 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x },17027 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x },
...@@ -13337,7 +17049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13337,7 +17049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13337 .unused,17049 .unused,
13338 .unused,17050 .unused,
13339 },17051 },
13340 .dst_temps = .{.{ .ref = .src0 }},17052 .dst_temps = .{ .{ .ref = .src0 }, .unused },
13341 .each = .{ .once = &.{17053 .each = .{ .once = &.{
13342 .{ ._, ._dqa, .mov, .tmp0x, .src1x, ._, ._ },17054 .{ ._, ._dqa, .mov, .tmp0x, .src1x, ._, ._ },
13343 .{ ._, .p_q, .cmpgt, .tmp0x, .src0x, ._, ._ },17055 .{ ._, .p_q, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -13353,7 +17065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13353,7 +17065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13353 .patterns = &.{17065 .patterns = &.{
13354 .{ .src = .{ .to_sse, .to_sse, .none } },17066 .{ .src = .{ .to_sse, .to_sse, .none } },
13355 },17067 },
13356 .dst_temps = .{.{ .rc = .sse }},17068 .dst_temps = .{ .{ .rc = .sse }, .unused },
13357 .each = .{ .once = &.{17069 .each = .{ .once = &.{
13358 .{ ._, .vp_q, .cmpgt, .dst0y, .src1y, .src0y, ._ },17070 .{ ._, .vp_q, .cmpgt, .dst0y, .src1y, .src0y, ._ },
13359 .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y },17071 .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y },
...@@ -13379,7 +17091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13379,7 +17091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13379 .unused,17091 .unused,
13380 .unused,17092 .unused,
13381 },17093 },
13382 .dst_temps = .{.mem},17094 .dst_temps = .{ .mem, .unused },
13383 .clobbers = .{ .eflags = true },17095 .clobbers = .{ .eflags = true },
13384 .each = .{ .once = &.{17096 .each = .{ .once = &.{
13385 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17097 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13412,7 +17124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13412,7 +17124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13412 .unused,17124 .unused,
13413 .unused,17125 .unused,
13414 },17126 },
13415 .dst_temps = .{.mem},17127 .dst_temps = .{ .mem, .unused },
13416 .clobbers = .{ .eflags = true },17128 .clobbers = .{ .eflags = true },
13417 .each = .{ .once = &.{17129 .each = .{ .once = &.{
13418 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17130 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13445,7 +17157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13445,7 +17157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13445 .unused,17157 .unused,
13446 .unused,17158 .unused,
13447 },17159 },
13448 .dst_temps = .{.mem},17160 .dst_temps = .{ .mem, .unused },
13449 .clobbers = .{ .eflags = true },17161 .clobbers = .{ .eflags = true },
13450 .each = .{ .once = &.{17162 .each = .{ .once = &.{
13451 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17163 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13479,7 +17191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13479,7 +17191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13479 .unused,17191 .unused,
13480 .unused,17192 .unused,
13481 },17193 },
13482 .dst_temps = .{.mem},17194 .dst_temps = .{ .mem, .unused },
13483 .clobbers = .{ .eflags = true },17195 .clobbers = .{ .eflags = true },
13484 .each = .{ .once = &.{17196 .each = .{ .once = &.{
13485 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17197 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13511,7 +17223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13511,7 +17223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13511 .unused,17223 .unused,
13512 .unused,17224 .unused,
13513 },17225 },
13514 .dst_temps = .{.mem},17226 .dst_temps = .{ .mem, .unused },
13515 .clobbers = .{ .eflags = true },17227 .clobbers = .{ .eflags = true },
13516 .each = .{ .once = &.{17228 .each = .{ .once = &.{
13517 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17229 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13546,7 +17258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13546,7 +17258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13546 .unused,17258 .unused,
13547 .unused,17259 .unused,
13548 },17260 },
13549 .dst_temps = .{.{ .rc = .sse }},17261 .dst_temps = .{ .{ .rc = .sse }, .unused },
13550 .each = .{ .once = &.{17262 .each = .{ .once = &.{
13551 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },17263 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
13552 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },17264 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
...@@ -13578,7 +17290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13578,7 +17290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13578 .unused,17290 .unused,
13579 .unused,17291 .unused,
13580 },17292 },
13581 .dst_temps = .{.{ .ref = .src0 }},17293 .dst_temps = .{ .{ .ref = .src0 }, .unused },
13582 .each = .{ .once = &.{17294 .each = .{ .once = &.{
13583 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },17295 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
13584 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },17296 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
...@@ -13611,7 +17323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13611,7 +17323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13611 .unused,17323 .unused,
13612 .unused,17324 .unused,
13613 },17325 },
13614 .dst_temps = .{.{ .rc = .sse }},17326 .dst_temps = .{ .{ .rc = .sse }, .unused },
13615 .each = .{ .once = &.{17327 .each = .{ .once = &.{
13616 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },17328 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
13617 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },17329 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
...@@ -13641,7 +17353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13641,7 +17353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13641 .unused,17353 .unused,
13642 .unused,17354 .unused,
13643 },17355 },
13644 .dst_temps = .{.mem},17356 .dst_temps = .{ .mem, .unused },
13645 .clobbers = .{ .eflags = true },17357 .clobbers = .{ .eflags = true },
13646 .each = .{ .once = &.{17358 .each = .{ .once = &.{
13647 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },17359 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -13678,7 +17390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13678,7 +17390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13678 .unused,17390 .unused,
13679 .unused,17391 .unused,
13680 },17392 },
13681 .dst_temps = .{.mem},17393 .dst_temps = .{ .mem, .unused },
13682 .clobbers = .{ .eflags = true },17394 .clobbers = .{ .eflags = true },
13683 .each = .{ .once = &.{17395 .each = .{ .once = &.{
13684 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },17396 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -13715,7 +17427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13715,7 +17427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13715 .unused,17427 .unused,
13716 .unused,17428 .unused,
13717 },17429 },
13718 .dst_temps = .{.mem},17430 .dst_temps = .{ .mem, .unused },
13719 .clobbers = .{ .eflags = true },17431 .clobbers = .{ .eflags = true },
13720 .each = .{ .once = &.{17432 .each = .{ .once = &.{
13721 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },17433 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -13754,7 +17466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13754,7 +17466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13754 .unused,17466 .unused,
13755 .unused,17467 .unused,
13756 },17468 },
13757 .dst_temps = .{.mem},17469 .dst_temps = .{ .mem, .unused },
13758 .clobbers = .{ .eflags = true },17470 .clobbers = .{ .eflags = true },
13759 .each = .{ .once = &.{17471 .each = .{ .once = &.{
13760 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17472 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13786,7 +17498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13786,7 +17498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13786 .unused,17498 .unused,
13787 .unused,17499 .unused,
13788 },17500 },
13789 .dst_temps = .{.mem},17501 .dst_temps = .{ .mem, .unused },
13790 .clobbers = .{ .eflags = true },17502 .clobbers = .{ .eflags = true },
13791 .each = .{ .once = &.{17503 .each = .{ .once = &.{
13792 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17504 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13815,7 +17527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13815,7 +17527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13815 .unused,17527 .unused,
13816 .unused,17528 .unused,
13817 },17529 },
13818 .dst_temps = .{.mem},17530 .dst_temps = .{ .mem, .unused },
13819 .clobbers = .{ .eflags = true },17531 .clobbers = .{ .eflags = true },
13820 .each = .{ .once = &.{17532 .each = .{ .once = &.{
13821 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17533 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13854,7 +17566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13854,7 +17566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13854 .unused,17566 .unused,
13855 .unused,17567 .unused,
13856 },17568 },
13857 .dst_temps = .{.mem},17569 .dst_temps = .{ .mem, .unused },
13858 .clobbers = .{ .eflags = true },17570 .clobbers = .{ .eflags = true },
13859 .each = .{ .once = &.{17571 .each = .{ .once = &.{
13860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17572 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13893,7 +17605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13893,7 +17605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13893 .unused,17605 .unused,
13894 .unused,17606 .unused,
13895 },17607 },
13896 .dst_temps = .{.mem},17608 .dst_temps = .{ .mem, .unused },
13897 .clobbers = .{ .eflags = true },17609 .clobbers = .{ .eflags = true },
13898 .each = .{ .once = &.{17610 .each = .{ .once = &.{
13899 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17611 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13930,7 +17642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13930,7 +17642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13930 .unused,17642 .unused,
13931 .unused,17643 .unused,
13932 },17644 },
13933 .dst_temps = .{.mem},17645 .dst_temps = .{ .mem, .unused },
13934 .clobbers = .{ .eflags = true },17646 .clobbers = .{ .eflags = true },
13935 .each = .{ .once = &.{17647 .each = .{ .once = &.{
13936 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17648 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -13971,7 +17683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13971,7 +17683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13971 .unused,17683 .unused,
13972 .unused,17684 .unused,
13973 },17685 },
13974 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},17686 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
13975 .each = .{ .once = &.{17687 .each = .{ .once = &.{
13976 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },17688 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
13977 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },17689 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -14002,7 +17714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14002,7 +17714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14002 .unused,17714 .unused,
14003 .unused,17715 .unused,
14004 },17716 },
14005 .dst_temps = .{.{ .ref = .src0 }},17717 .dst_temps = .{ .{ .ref = .src0 }, .unused },
14006 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },17718 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14007 .each = .{ .once = &.{17719 .each = .{ .once = &.{
14008 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },17720 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -14031,7 +17743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14031,7 +17743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14031 .unused,17743 .unused,
14032 .unused,17744 .unused,
14033 },17745 },
14034 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},17746 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14035 .each = .{ .once = &.{17747 .each = .{ .once = &.{
14036 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },17748 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
14037 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },17749 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -14064,7 +17776,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14064,7 +17776,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14064 .unused,17776 .unused,
14065 .unused,17777 .unused,
14066 },17778 },
14067 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},17779 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14068 .each = .{ .once = &.{17780 .each = .{ .once = &.{
14069 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },17781 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
14070 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },17782 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
...@@ -14094,7 +17806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14094,7 +17806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14094 .unused,17806 .unused,
14095 .unused,17807 .unused,
14096 },17808 },
14097 .dst_temps = .{.mem},17809 .dst_temps = .{ .mem, .unused },
14098 .clobbers = .{ .eflags = true },17810 .clobbers = .{ .eflags = true },
14099 .each = .{ .once = &.{17811 .each = .{ .once = &.{
14100 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17812 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14129,7 +17841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14129,7 +17841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14129 .unused,17841 .unused,
14130 .unused,17842 .unused,
14131 },17843 },
14132 .dst_temps = .{.mem},17844 .dst_temps = .{ .mem, .unused },
14133 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },17845 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14134 .each = .{ .once = &.{17846 .each = .{ .once = &.{
14135 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17847 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14163,7 +17875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14163,7 +17875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14163 .unused,17875 .unused,
14164 .unused,17876 .unused,
14165 },17877 },
14166 .dst_temps = .{.mem},17878 .dst_temps = .{ .mem, .unused },
14167 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },17879 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14168 .each = .{ .once = &.{17880 .each = .{ .once = &.{
14169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17881 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14198,7 +17910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14198,7 +17910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14198 .unused,17910 .unused,
14199 .unused,17911 .unused,
14200 },17912 },
14201 .dst_temps = .{.mem},17913 .dst_temps = .{ .mem, .unused },
14202 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },17914 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14203 .each = .{ .once = &.{17915 .each = .{ .once = &.{
14204 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17916 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14234,7 +17946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14234,7 +17946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14234 .unused,17946 .unused,
14235 .unused,17947 .unused,
14236 },17948 },
14237 .dst_temps = .{.mem},17949 .dst_temps = .{ .mem, .unused },
14238 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },17950 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14239 .each = .{ .once = &.{17951 .each = .{ .once = &.{
14240 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },17952 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14272,7 +17984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14272,7 +17984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14272 .unused,17984 .unused,
14273 .unused,17985 .unused,
14274 },17986 },
14275 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},17987 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14276 .each = .{ .once = &.{17988 .each = .{ .once = &.{
14277 .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) },17989 .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) },
14278 .{ ._, .v_ss, .max, .dst0x, .src1x, .src0d, ._ },17990 .{ ._, .v_ss, .max, .dst0x, .src1x, .src0d, ._ },
...@@ -14288,7 +18000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14288,7 +18000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14288 .patterns = &.{18000 .patterns = &.{
14289 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },18001 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
14290 },18002 },
14291 .dst_temps = .{.{ .rc = .sse }},18003 .dst_temps = .{ .{ .rc = .sse }, .unused },
14292 .each = .{ .once = &.{18004 .each = .{ .once = &.{
14293 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },18005 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
14294 .{ ._, ._ss, .max, .dst0x, .src0d, ._, ._ },18006 .{ ._, ._ss, .max, .dst0x, .src0d, ._, ._ },
...@@ -14316,7 +18028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14316,7 +18028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14316 .unused,18028 .unused,
14317 .unused,18029 .unused,
14318 },18030 },
14319 .dst_temps = .{.{ .ref = .src0 }},18031 .dst_temps = .{ .{ .ref = .src0 }, .unused },
14320 .each = .{ .once = &.{18032 .each = .{ .once = &.{
14321 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },18033 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
14322 .{ ._, ._ss, .max, .tmp0x, .src0d, ._, ._ },18034 .{ ._, ._ss, .max, .tmp0x, .src0d, ._, ._ },
...@@ -14346,7 +18058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14346,7 +18058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14346 .unused,18058 .unused,
14347 .unused,18059 .unused,
14348 },18060 },
14349 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},18061 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14350 .each = .{ .once = &.{18062 .each = .{ .once = &.{
14351 .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },18063 .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
14352 .{ ._, .v_ps, .max, .dst0x, .src1x, .src0x, ._ },18064 .{ ._, .v_ps, .max, .dst0x, .src1x, .src0x, ._ },
...@@ -14364,7 +18076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14364,7 +18076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14364 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },18076 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
14365 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },18077 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
14366 },18078 },
14367 .dst_temps = .{.{ .rc = .sse }},18079 .dst_temps = .{ .{ .rc = .sse }, .unused },
14368 .each = .{ .once = &.{18080 .each = .{ .once = &.{
14369 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },18081 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
14370 .{ ._, ._ps, .max, .dst0x, .src0x, ._, ._ },18082 .{ ._, ._ps, .max, .dst0x, .src0x, ._, ._ },
...@@ -14394,7 +18106,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14394,7 +18106,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14394 .unused,18106 .unused,
14395 .unused,18107 .unused,
14396 },18108 },
14397 .dst_temps = .{.{ .ref = .src0 }},18109 .dst_temps = .{ .{ .ref = .src0 }, .unused },
14398 .each = .{ .once = &.{18110 .each = .{ .once = &.{
14399 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },18111 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
14400 .{ ._, ._ps, .max, .tmp0x, .src0x, ._, ._ },18112 .{ ._, ._ps, .max, .tmp0x, .src0x, ._, ._ },
...@@ -14424,7 +18136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14424,7 +18136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14424 .unused,18136 .unused,
14425 .unused,18137 .unused,
14426 },18138 },
14427 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},18139 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14428 .each = .{ .once = &.{18140 .each = .{ .once = &.{
14429 .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },18141 .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
14430 .{ ._, .v_ps, .max, .dst0y, .src1y, .src0y, ._ },18142 .{ ._, .v_ps, .max, .dst0y, .src1y, .src0y, ._ },
...@@ -14451,7 +18163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14451,7 +18163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14451 .unused,18163 .unused,
14452 .unused,18164 .unused,
14453 },18165 },
14454 .dst_temps = .{.mem},18166 .dst_temps = .{ .mem, .unused },
14455 .clobbers = .{ .eflags = true },18167 .clobbers = .{ .eflags = true },
14456 .each = .{ .once = &.{18168 .each = .{ .once = &.{
14457 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14485,7 +18197,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14485,7 +18197,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14485 .unused,18197 .unused,
14486 .unused,18198 .unused,
14487 },18199 },
14488 .dst_temps = .{.mem},18200 .dst_temps = .{ .mem, .unused },
14489 .clobbers = .{ .eflags = true },18201 .clobbers = .{ .eflags = true },
14490 .each = .{ .once = &.{18202 .each = .{ .once = &.{
14491 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18203 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14520,7 +18232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14520,7 +18232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14520 .unused,18232 .unused,
14521 .unused,18233 .unused,
14522 },18234 },
14523 .dst_temps = .{.mem},18235 .dst_temps = .{ .mem, .unused },
14524 .clobbers = .{ .eflags = true },18236 .clobbers = .{ .eflags = true },
14525 .each = .{ .once = &.{18237 .each = .{ .once = &.{
14526 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18238 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14557,7 +18269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14557,7 +18269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14557 .unused,18269 .unused,
14558 .unused,18270 .unused,
14559 },18271 },
14560 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},18272 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14561 .each = .{ .once = &.{18273 .each = .{ .once = &.{
14562 .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) },18274 .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) },
14563 .{ ._, .v_sd, .max, .dst0x, .src1x, .src0q, ._ },18275 .{ ._, .v_sd, .max, .dst0x, .src1x, .src0q, ._ },
...@@ -14573,7 +18285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14573,7 +18285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14573 .patterns = &.{18285 .patterns = &.{
14574 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },18286 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
14575 },18287 },
14576 .dst_temps = .{.{ .rc = .sse }},18288 .dst_temps = .{ .{ .rc = .sse }, .unused },
14577 .each = .{ .once = &.{18289 .each = .{ .once = &.{
14578 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },18290 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
14579 .{ ._, ._sd, .max, .dst0x, .src0q, ._, ._ },18291 .{ ._, ._sd, .max, .dst0x, .src0q, ._, ._ },
...@@ -14601,7 +18313,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14601,7 +18313,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14601 .unused,18313 .unused,
14602 .unused,18314 .unused,
14603 },18315 },
14604 .dst_temps = .{.{ .ref = .src0 }},18316 .dst_temps = .{ .{ .ref = .src0 }, .unused },
14605 .each = .{ .once = &.{18317 .each = .{ .once = &.{
14606 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },18318 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
14607 .{ ._, ._sd, .max, .tmp0x, .src0q, ._, ._ },18319 .{ ._, ._sd, .max, .tmp0x, .src0q, ._, ._ },
...@@ -14632,7 +18344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14632,7 +18344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14632 .unused,18344 .unused,
14633 .unused,18345 .unused,
14634 },18346 },
14635 .dst_temps = .{.{ .ref = .src0 }},18347 .dst_temps = .{ .{ .ref = .src0 }, .unused },
14636 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },18348 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14637 .each = .{ .once = &.{18349 .each = .{ .once = &.{
14638 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },18350 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -14658,7 +18370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14658,7 +18370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14658 .unused,18370 .unused,
14659 .unused,18371 .unused,
14660 },18372 },
14661 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},18373 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14662 .each = .{ .once = &.{18374 .each = .{ .once = &.{
14663 .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },18375 .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
14664 .{ ._, .v_pd, .max, .dst0x, .src1x, .src0x, ._ },18376 .{ ._, .v_pd, .max, .dst0x, .src1x, .src0x, ._ },
...@@ -14676,7 +18388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14676,7 +18388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14676 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },18388 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
14677 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },18389 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
14678 },18390 },
14679 .dst_temps = .{.{ .rc = .sse }},18391 .dst_temps = .{ .{ .rc = .sse }, .unused },
14680 .each = .{ .once = &.{18392 .each = .{ .once = &.{
14681 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },18393 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
14682 .{ ._, ._pd, .max, .dst0x, .src0x, ._, ._ },18394 .{ ._, ._pd, .max, .dst0x, .src0x, ._, ._ },
...@@ -14706,7 +18418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14706,7 +18418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14706 .unused,18418 .unused,
14707 .unused,18419 .unused,
14708 },18420 },
14709 .dst_temps = .{.{ .ref = .src0 }},18421 .dst_temps = .{ .{ .ref = .src0 }, .unused },
14710 .each = .{ .once = &.{18422 .each = .{ .once = &.{
14711 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },18423 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
14712 .{ ._, ._pd, .max, .tmp0x, .src0x, ._, ._ },18424 .{ ._, ._pd, .max, .tmp0x, .src0x, ._, ._ },
...@@ -14736,7 +18448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14736,7 +18448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14736 .unused,18448 .unused,
14737 .unused,18449 .unused,
14738 },18450 },
14739 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},18451 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
14740 .each = .{ .once = &.{18452 .each = .{ .once = &.{
14741 .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },18453 .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
14742 .{ ._, .v_pd, .max, .dst0y, .src1y, .src0y, ._ },18454 .{ ._, .v_pd, .max, .dst0y, .src1y, .src0y, ._ },
...@@ -14763,7 +18475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14763,7 +18475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14763 .unused,18475 .unused,
14764 .unused,18476 .unused,
14765 },18477 },
14766 .dst_temps = .{.mem},18478 .dst_temps = .{ .mem, .unused },
14767 .clobbers = .{ .eflags = true },18479 .clobbers = .{ .eflags = true },
14768 .each = .{ .once = &.{18480 .each = .{ .once = &.{
14769 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18481 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14797,7 +18509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14797,7 +18509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14797 .unused,18509 .unused,
14798 .unused,18510 .unused,
14799 },18511 },
14800 .dst_temps = .{.mem},18512 .dst_temps = .{ .mem, .unused },
14801 .clobbers = .{ .eflags = true },18513 .clobbers = .{ .eflags = true },
14802 .each = .{ .once = &.{18514 .each = .{ .once = &.{
14803 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18515 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14832,7 +18544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14832,7 +18544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14832 .unused,18544 .unused,
14833 .unused,18545 .unused,
14834 },18546 },
14835 .dst_temps = .{.mem},18547 .dst_temps = .{ .mem, .unused },
14836 .clobbers = .{ .eflags = true },18548 .clobbers = .{ .eflags = true },
14837 .each = .{ .once = &.{18549 .each = .{ .once = &.{
14838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18550 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14870,7 +18582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14870,7 +18582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14870 .unused,18582 .unused,
14871 .unused,18583 .unused,
14872 },18584 },
14873 .dst_temps = .{.mem},18585 .dst_temps = .{ .mem, .unused },
14874 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },18586 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
14875 .each = .{ .once = &.{18587 .each = .{ .once = &.{
14876 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18588 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -14906,7 +18618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14906,7 +18618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14906 .unused,18618 .unused,
14907 .unused,18619 .unused,
14908 },18620 },
14909 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},18621 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
14910 .clobbers = .{ .eflags = true },18622 .clobbers = .{ .eflags = true },
14911 .each = .{ .once = &.{18623 .each = .{ .once = &.{
14912 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },18624 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -14941,7 +18653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14941,7 +18653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14941 .unused,18653 .unused,
14942 .unused,18654 .unused,
14943 },18655 },
14944 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},18656 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
14945 .clobbers = .{ .eflags = true },18657 .clobbers = .{ .eflags = true },
14946 .each = .{ .once = &.{18658 .each = .{ .once = &.{
14947 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },18659 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -14982,7 +18694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14982,7 +18694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14982 .unused,18694 .unused,
14983 .unused,18695 .unused,
14984 },18696 },
14985 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},18697 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
14986 .clobbers = .{ .eflags = true },18698 .clobbers = .{ .eflags = true },
14987 .each = .{ .once = &.{18699 .each = .{ .once = &.{
14988 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },18700 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -15021,7 +18733,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15021,7 +18733,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15021 .unused,18733 .unused,
15022 .unused,18734 .unused,
15023 },18735 },
15024 .dst_temps = .{.mem},18736 .dst_temps = .{ .mem, .unused },
15025 .clobbers = .{ .eflags = true },18737 .clobbers = .{ .eflags = true },
15026 .each = .{ .once = &.{18738 .each = .{ .once = &.{
15027 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18739 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15059,7 +18771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15059,7 +18771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15059 .unused,18771 .unused,
15060 .unused,18772 .unused,
15061 },18773 },
15062 .dst_temps = .{.mem},18774 .dst_temps = .{ .mem, .unused },
15063 .clobbers = .{ .eflags = true },18775 .clobbers = .{ .eflags = true },
15064 .each = .{ .once = &.{18776 .each = .{ .once = &.{
15065 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18777 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15103,7 +18815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15103,7 +18815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15103 .unused,18815 .unused,
15104 .unused,18816 .unused,
15105 },18817 },
15106 .dst_temps = .{.mem},18818 .dst_temps = .{ .mem, .unused },
15107 .clobbers = .{ .eflags = true },18819 .clobbers = .{ .eflags = true },
15108 .each = .{ .once = &.{18820 .each = .{ .once = &.{
15109 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18821 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15148,7 +18860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15148,7 +18860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15148 .unused,18860 .unused,
15149 .unused,18861 .unused,
15150 },18862 },
15151 .dst_temps = .{.{ .ref = .src0 }},18863 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15152 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },18864 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
15153 .each = .{ .once = &.{18865 .each = .{ .once = &.{
15154 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },18866 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -15175,7 +18887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15175,7 +18887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15175 .unused,18887 .unused,
15176 .unused,18888 .unused,
15177 },18889 },
15178 .dst_temps = .{.mem},18890 .dst_temps = .{ .mem, .unused },
15179 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },18891 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
15180 .each = .{ .once = &.{18892 .each = .{ .once = &.{
15181 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18893 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15208,7 +18920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15208,7 +18920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15208 .unused,18920 .unused,
15209 .unused,18921 .unused,
15210 },18922 },
15211 .dst_temps = .{.mem},18923 .dst_temps = .{ .mem, .unused },
15212 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },18924 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
15213 .each = .{ .once = &.{18925 .each = .{ .once = &.{
15214 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18926 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15241,7 +18953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15241,7 +18953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15241 .unused,18953 .unused,
15242 .unused,18954 .unused,
15243 },18955 },
15244 .dst_temps = .{.mem},18956 .dst_temps = .{ .mem, .unused },
15245 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },18957 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
15246 .each = .{ .once = &.{18958 .each = .{ .once = &.{
15247 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },18959 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15273,7 +18985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15273,7 +18985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15273 .patterns = &.{18985 .patterns = &.{
15274 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },18986 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15275 },18987 },
15276 .dst_temps = .{.{ .ref = .src0 }},18988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15277 .clobbers = .{ .eflags = true },18989 .clobbers = .{ .eflags = true },
15278 .each = .{ .once = &.{18990 .each = .{ .once = &.{
15279 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },18991 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -15286,7 +18998,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15286,7 +18998,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15286 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },18998 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15287 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },18999 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15288 },19000 },
15289 .dst_temps = .{.{ .ref = .src0 }},19001 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15290 .clobbers = .{ .eflags = true },19002 .clobbers = .{ .eflags = true },
15291 .each = .{ .once = &.{19003 .each = .{ .once = &.{
15292 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },19004 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -15299,7 +19011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15299,7 +19011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15299 .patterns = &.{19011 .patterns = &.{
15300 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19012 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15301 },19013 },
15302 .dst_temps = .{.{ .ref = .src0 }},19014 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15303 .clobbers = .{ .eflags = true },19015 .clobbers = .{ .eflags = true },
15304 .each = .{ .once = &.{19016 .each = .{ .once = &.{
15305 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },19017 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -15312,7 +19024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15312,7 +19024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15312 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19024 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15313 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19025 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15314 },19026 },
15315 .dst_temps = .{.{ .ref = .src0 }},19027 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15316 .clobbers = .{ .eflags = true },19028 .clobbers = .{ .eflags = true },
15317 .each = .{ .once = &.{19029 .each = .{ .once = &.{
15318 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },19030 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -15327,7 +19039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15327,7 +19039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15327 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19039 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15328 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19040 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15329 },19041 },
15330 .dst_temps = .{.{ .ref = .src0 }},19042 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15331 .clobbers = .{ .eflags = true },19043 .clobbers = .{ .eflags = true },
15332 .each = .{ .once = &.{19044 .each = .{ .once = &.{
15333 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },19045 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -15340,7 +19052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15340,7 +19052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15340 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19052 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15341 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19053 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15342 },19054 },
15343 .dst_temps = .{.{ .ref = .src0 }},19055 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15344 .clobbers = .{ .eflags = true },19056 .clobbers = .{ .eflags = true },
15345 .each = .{ .once = &.{19057 .each = .{ .once = &.{
15346 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },19058 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -15355,7 +19067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15355,7 +19067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15355 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19067 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15356 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19068 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15357 },19069 },
15358 .dst_temps = .{.{ .ref = .src0 }},19070 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15359 .clobbers = .{ .eflags = true },19071 .clobbers = .{ .eflags = true },
15360 .each = .{ .once = &.{19072 .each = .{ .once = &.{
15361 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },19073 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -15368,7 +19080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15368,7 +19080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15368 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19080 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15369 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19081 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15370 },19082 },
15371 .dst_temps = .{.{ .ref = .src0 }},19083 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15372 .clobbers = .{ .eflags = true },19084 .clobbers = .{ .eflags = true },
15373 .each = .{ .once = &.{19085 .each = .{ .once = &.{
15374 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },19086 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -15383,7 +19095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15383,7 +19095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15383 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19095 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15384 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19096 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15385 },19097 },
15386 .dst_temps = .{.{ .ref = .src0 }},19098 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15387 .clobbers = .{ .eflags = true },19099 .clobbers = .{ .eflags = true },
15388 .each = .{ .once = &.{19100 .each = .{ .once = &.{
15389 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },19101 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -15396,7 +19108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15396,7 +19108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15396 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19108 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15397 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19109 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15398 },19110 },
15399 .dst_temps = .{.{ .ref = .src0 }},19111 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15400 .clobbers = .{ .eflags = true },19112 .clobbers = .{ .eflags = true },
15401 .each = .{ .once = &.{19113 .each = .{ .once = &.{
15402 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },19114 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -15411,7 +19123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15411,7 +19123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15411 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19123 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15412 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19124 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15413 },19125 },
15414 .dst_temps = .{.{ .ref = .src0 }},19126 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15415 .clobbers = .{ .eflags = true },19127 .clobbers = .{ .eflags = true },
15416 .each = .{ .once = &.{19128 .each = .{ .once = &.{
15417 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },19129 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -15424,7 +19136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15424,7 +19136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15424 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19136 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15425 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19137 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15426 },19138 },
15427 .dst_temps = .{.{ .ref = .src0 }},19139 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15428 .clobbers = .{ .eflags = true },19140 .clobbers = .{ .eflags = true },
15429 .each = .{ .once = &.{19141 .each = .{ .once = &.{
15430 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },19142 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -15439,7 +19151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15439,7 +19151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15439 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19151 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15440 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19152 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15441 },19153 },
15442 .dst_temps = .{.{ .ref = .src0 }},19154 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15443 .clobbers = .{ .eflags = true },19155 .clobbers = .{ .eflags = true },
15444 .each = .{ .once = &.{19156 .each = .{ .once = &.{
15445 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },19157 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -15453,7 +19165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15453,7 +19165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15453 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19165 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15454 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19166 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15455 },19167 },
15456 .dst_temps = .{.{ .ref = .src0 }},19168 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15457 .clobbers = .{ .eflags = true },19169 .clobbers = .{ .eflags = true },
15458 .each = .{ .once = &.{19170 .each = .{ .once = &.{
15459 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },19171 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -15468,7 +19180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15468,7 +19180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15468 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19180 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15469 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19181 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15470 },19182 },
15471 .dst_temps = .{.{ .ref = .src0 }},19183 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15472 .clobbers = .{ .eflags = true },19184 .clobbers = .{ .eflags = true },
15473 .each = .{ .once = &.{19185 .each = .{ .once = &.{
15474 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },19186 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -15482,7 +19194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15482,7 +19194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15482 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },19194 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
15483 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },19195 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
15484 },19196 },
15485 .dst_temps = .{.{ .ref = .src0 }},19197 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15486 .clobbers = .{ .eflags = true },19198 .clobbers = .{ .eflags = true },
15487 .each = .{ .once = &.{19199 .each = .{ .once = &.{
15488 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },19200 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -15506,7 +19218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15506,7 +19218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15506 .unused,19218 .unused,
15507 .unused,19219 .unused,
15508 },19220 },
15509 .dst_temps = .{.mem},19221 .dst_temps = .{ .mem, .unused },
15510 .clobbers = .{ .eflags = true },19222 .clobbers = .{ .eflags = true },
15511 .each = .{ .once = &.{19223 .each = .{ .once = &.{
15512 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },19224 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
...@@ -15541,7 +19253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15541,7 +19253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15541 .unused,19253 .unused,
15542 .unused,19254 .unused,
15543 },19255 },
15544 .dst_temps = .{.mem},19256 .dst_temps = .{ .mem, .unused },
15545 .clobbers = .{ .eflags = true },19257 .clobbers = .{ .eflags = true },
15546 .each = .{ .once = &.{19258 .each = .{ .once = &.{
15547 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },19259 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
...@@ -15576,7 +19288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15576,7 +19288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15576 .unused,19288 .unused,
15577 .unused,19289 .unused,
15578 },19290 },
15579 .dst_temps = .{.mem},19291 .dst_temps = .{ .mem, .unused },
15580 .clobbers = .{ .eflags = true },19292 .clobbers = .{ .eflags = true },
15581 .each = .{ .once = &.{19293 .each = .{ .once = &.{
15582 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },19294 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
...@@ -15609,7 +19321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15609,7 +19321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15609 .unused,19321 .unused,
15610 .unused,19322 .unused,
15611 },19323 },
15612 .dst_temps = .{.mem},19324 .dst_temps = .{ .mem, .unused },
15613 .clobbers = .{ .eflags = true },19325 .clobbers = .{ .eflags = true },
15614 .each = .{ .once = &.{19326 .each = .{ .once = &.{
15615 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },19327 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
...@@ -15637,7 +19349,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15637,7 +19349,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15637 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },19349 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
15638 .{ .src = .{ .to_sse, .to_sse, .none } },19350 .{ .src = .{ .to_sse, .to_sse, .none } },
15639 },19351 },
15640 .dst_temps = .{.{ .rc = .sse }},19352 .dst_temps = .{ .{ .rc = .sse }, .unused },
15641 .each = .{ .once = &.{19353 .each = .{ .once = &.{
15642 .{ ._, .vp_b, .mins, .dst0x, .src0x, .src1x, ._ },19354 .{ ._, .vp_b, .mins, .dst0x, .src0x, .src1x, ._ },
15643 } },19355 } },
...@@ -15653,7 +19365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15653,7 +19365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15653 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },19365 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
15654 .{ .src = .{ .to_mut_sse, .to_sse, .none } },19366 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
15655 },19367 },
15656 .dst_temps = .{.{ .ref = .src0 }},19368 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15657 .each = .{ .once = &.{19369 .each = .{ .once = &.{
15658 .{ ._, .p_b, .mins, .dst0x, .src1x, ._, ._ },19370 .{ ._, .p_b, .mins, .dst0x, .src1x, ._, ._ },
15659 } },19371 } },
...@@ -15669,7 +19381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15669,7 +19381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15669 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },19381 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
15670 .{ .src = .{ .to_mut_sse, .to_sse, .none } },19382 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
15671 },19383 },
15672 .dst_temps = .{.{ .rc = .sse }},19384 .dst_temps = .{ .{ .rc = .sse }, .unused },
15673 .each = .{ .once = &.{19385 .each = .{ .once = &.{
15674 .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ },19386 .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ },
15675 .{ ._, .p_b, .cmpgt, .dst0x, .src0x, ._, ._ },19387 .{ ._, .p_b, .cmpgt, .dst0x, .src0x, ._, ._ },
...@@ -15689,7 +19401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15689,7 +19401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15689 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },19401 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
15690 .{ .src = .{ .to_sse, .to_sse, .none } },19402 .{ .src = .{ .to_sse, .to_sse, .none } },
15691 },19403 },
15692 .dst_temps = .{.{ .rc = .sse }},19404 .dst_temps = .{ .{ .rc = .sse }, .unused },
15693 .each = .{ .once = &.{19405 .each = .{ .once = &.{
15694 .{ ._, .vp_b, .mins, .dst0y, .src0y, .src1y, ._ },19406 .{ ._, .vp_b, .mins, .dst0y, .src0y, .src1y, ._ },
15695 } },19407 } },
...@@ -15714,7 +19426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15714,7 +19426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15714 .unused,19426 .unused,
15715 .unused,19427 .unused,
15716 },19428 },
15717 .dst_temps = .{.mem},19429 .dst_temps = .{ .mem, .unused },
15718 .clobbers = .{ .eflags = true },19430 .clobbers = .{ .eflags = true },
15719 .each = .{ .once = &.{19431 .each = .{ .once = &.{
15720 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19432 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15745,7 +19457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15745,7 +19457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15745 .unused,19457 .unused,
15746 .unused,19458 .unused,
15747 },19459 },
15748 .dst_temps = .{.mem},19460 .dst_temps = .{ .mem, .unused },
15749 .clobbers = .{ .eflags = true },19461 .clobbers = .{ .eflags = true },
15750 .each = .{ .once = &.{19462 .each = .{ .once = &.{
15751 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15776,7 +19488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15776,7 +19488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15776 .unused,19488 .unused,
15777 .unused,19489 .unused,
15778 },19490 },
15779 .dst_temps = .{.mem},19491 .dst_temps = .{ .mem, .unused },
15780 .clobbers = .{ .eflags = true },19492 .clobbers = .{ .eflags = true },
15781 .each = .{ .once = &.{19493 .each = .{ .once = &.{
15782 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19494 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15807,7 +19519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15807,7 +19519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15807 .unused,19519 .unused,
15808 .unused,19520 .unused,
15809 },19521 },
15810 .dst_temps = .{.mem},19522 .dst_temps = .{ .mem, .unused },
15811 .clobbers = .{ .eflags = true },19523 .clobbers = .{ .eflags = true },
15812 .each = .{ .once = &.{19524 .each = .{ .once = &.{
15813 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19525 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15842,7 +19554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15842,7 +19554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15842 .unused,19554 .unused,
15843 .unused,19555 .unused,
15844 },19556 },
15845 .dst_temps = .{.mem},19557 .dst_temps = .{ .mem, .unused },
15846 .clobbers = .{ .eflags = true },19558 .clobbers = .{ .eflags = true },
15847 .each = .{ .once = &.{19559 .each = .{ .once = &.{
15848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19560 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15875,7 +19587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15875,7 +19587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15875 .unused,19587 .unused,
15876 .unused,19588 .unused,
15877 },19589 },
15878 .dst_temps = .{.mem},19590 .dst_temps = .{ .mem, .unused },
15879 .clobbers = .{ .eflags = true },19591 .clobbers = .{ .eflags = true },
15880 .each = .{ .once = &.{19592 .each = .{ .once = &.{
15881 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19593 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15908,7 +19620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15908,7 +19620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15908 .unused,19620 .unused,
15909 .unused,19621 .unused,
15910 },19622 },
15911 .dst_temps = .{.mem},19623 .dst_temps = .{ .mem, .unused },
15912 .clobbers = .{ .eflags = true },19624 .clobbers = .{ .eflags = true },
15913 .each = .{ .once = &.{19625 .each = .{ .once = &.{
15914 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19626 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15940,7 +19652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15940,7 +19652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15940 .unused,19652 .unused,
15941 .unused,19653 .unused,
15942 },19654 },
15943 .dst_temps = .{.mem},19655 .dst_temps = .{ .mem, .unused },
15944 .clobbers = .{ .eflags = true },19656 .clobbers = .{ .eflags = true },
15945 .each = .{ .once = &.{19657 .each = .{ .once = &.{
15946 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19658 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -15964,7 +19676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15964,7 +19676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15964 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },19676 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
15965 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },19677 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
15966 },19678 },
15967 .dst_temps = .{.{ .ref = .src0 }},19679 .dst_temps = .{ .{ .ref = .src0 }, .unused },
15968 .each = .{ .once = &.{19680 .each = .{ .once = &.{
15969 .{ ._, .p_b, .minu, .dst0q, .src1q, ._, ._ },19681 .{ ._, .p_b, .minu, .dst0q, .src1q, ._, ._ },
15970 } },19682 } },
...@@ -15980,7 +19692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15980,7 +19692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15980 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },19692 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
15981 .{ .src = .{ .to_sse, .to_sse, .none } },19693 .{ .src = .{ .to_sse, .to_sse, .none } },
15982 },19694 },
15983 .dst_temps = .{.{ .rc = .sse }},19695 .dst_temps = .{ .{ .rc = .sse }, .unused },
15984 .each = .{ .once = &.{19696 .each = .{ .once = &.{
15985 .{ ._, .vp_b, .minu, .dst0x, .src0x, .src1x, ._ },19697 .{ ._, .vp_b, .minu, .dst0x, .src0x, .src1x, ._ },
15986 } },19698 } },
...@@ -15996,7 +19708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15996,7 +19708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15996 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },19708 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
15997 .{ .src = .{ .to_mut_sse, .to_sse, .none } },19709 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
15998 },19710 },
15999 .dst_temps = .{.{ .ref = .src0 }},19711 .dst_temps = .{ .{ .ref = .src0 }, .unused },
16000 .each = .{ .once = &.{19712 .each = .{ .once = &.{
16001 .{ ._, .p_b, .minu, .dst0x, .src1x, ._, ._ },19713 .{ ._, .p_b, .minu, .dst0x, .src1x, ._, ._ },
16002 } },19714 } },
...@@ -16012,7 +19724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16012,7 +19724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16012 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },19724 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16013 .{ .src = .{ .to_sse, .to_sse, .none } },19725 .{ .src = .{ .to_sse, .to_sse, .none } },
16014 },19726 },
16015 .dst_temps = .{.{ .rc = .sse }},19727 .dst_temps = .{ .{ .rc = .sse }, .unused },
16016 .each = .{ .once = &.{19728 .each = .{ .once = &.{
16017 .{ ._, .vp_b, .minu, .dst0y, .src0y, .src1y, ._ },19729 .{ ._, .vp_b, .minu, .dst0y, .src0y, .src1y, ._ },
16018 } },19730 } },
...@@ -16037,7 +19749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16037,7 +19749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16037 .unused,19749 .unused,
16038 .unused,19750 .unused,
16039 },19751 },
16040 .dst_temps = .{.mem},19752 .dst_temps = .{ .mem, .unused },
16041 .clobbers = .{ .eflags = true },19753 .clobbers = .{ .eflags = true },
16042 .each = .{ .once = &.{19754 .each = .{ .once = &.{
16043 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19755 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16068,7 +19780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16068,7 +19780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16068 .unused,19780 .unused,
16069 .unused,19781 .unused,
16070 },19782 },
16071 .dst_temps = .{.mem},19783 .dst_temps = .{ .mem, .unused },
16072 .clobbers = .{ .eflags = true },19784 .clobbers = .{ .eflags = true },
16073 .each = .{ .once = &.{19785 .each = .{ .once = &.{
16074 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19786 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16099,7 +19811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16099,7 +19811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16099 .unused,19811 .unused,
16100 .unused,19812 .unused,
16101 },19813 },
16102 .dst_temps = .{.mem},19814 .dst_temps = .{ .mem, .unused },
16103 .clobbers = .{ .eflags = true },19815 .clobbers = .{ .eflags = true },
16104 .each = .{ .once = &.{19816 .each = .{ .once = &.{
16105 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19817 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16130,7 +19842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16130,7 +19842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16130 .unused,19842 .unused,
16131 .unused,19843 .unused,
16132 },19844 },
16133 .dst_temps = .{.mem},19845 .dst_temps = .{ .mem, .unused },
16134 .clobbers = .{ .eflags = true },19846 .clobbers = .{ .eflags = true },
16135 .each = .{ .once = &.{19847 .each = .{ .once = &.{
16136 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16163,7 +19875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16163,7 +19875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16163 .unused,19875 .unused,
16164 .unused,19876 .unused,
16165 },19877 },
16166 .dst_temps = .{.mem},19878 .dst_temps = .{ .mem, .unused },
16167 .clobbers = .{ .eflags = true },19879 .clobbers = .{ .eflags = true },
16168 .each = .{ .once = &.{19880 .each = .{ .once = &.{
16169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19881 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16196,7 +19908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16196,7 +19908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16196 .unused,19908 .unused,
16197 .unused,19909 .unused,
16198 },19910 },
16199 .dst_temps = .{.mem},19911 .dst_temps = .{ .mem, .unused },
16200 .clobbers = .{ .eflags = true },19912 .clobbers = .{ .eflags = true },
16201 .each = .{ .once = &.{19913 .each = .{ .once = &.{
16202 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19914 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16228,7 +19940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16228,7 +19940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16228 .unused,19940 .unused,
16229 .unused,19941 .unused,
16230 },19942 },
16231 .dst_temps = .{.mem},19943 .dst_temps = .{ .mem, .unused },
16232 .clobbers = .{ .eflags = true },19944 .clobbers = .{ .eflags = true },
16233 .each = .{ .once = &.{19945 .each = .{ .once = &.{
16234 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },19946 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16252,7 +19964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16252,7 +19964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16252 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },19964 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
16253 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },19965 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
16254 },19966 },
16255 .dst_temps = .{.{ .ref = .src0 }},19967 .dst_temps = .{ .{ .ref = .src0 }, .unused },
16256 .each = .{ .once = &.{19968 .each = .{ .once = &.{
16257 .{ ._, .p_w, .mins, .dst0q, .src1q, ._, ._ },19969 .{ ._, .p_w, .mins, .dst0q, .src1q, ._, ._ },
16258 } },19970 } },
...@@ -16268,7 +19980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16268,7 +19980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16268 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },19980 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16269 .{ .src = .{ .to_sse, .to_sse, .none } },19981 .{ .src = .{ .to_sse, .to_sse, .none } },
16270 },19982 },
16271 .dst_temps = .{.{ .rc = .sse }},19983 .dst_temps = .{ .{ .rc = .sse }, .unused },
16272 .each = .{ .once = &.{19984 .each = .{ .once = &.{
16273 .{ ._, .vp_w, .mins, .dst0x, .src0x, .src1x, ._ },19985 .{ ._, .vp_w, .mins, .dst0x, .src0x, .src1x, ._ },
16274 } },19986 } },
...@@ -16284,7 +19996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16284,7 +19996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16284 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },19996 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
16285 .{ .src = .{ .to_mut_sse, .to_sse, .none } },19997 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
16286 },19998 },
16287 .dst_temps = .{.{ .ref = .src0 }},19999 .dst_temps = .{ .{ .ref = .src0 }, .unused },
16288 .each = .{ .once = &.{20000 .each = .{ .once = &.{
16289 .{ ._, .p_w, .mins, .dst0x, .src1x, ._, ._ },20001 .{ ._, .p_w, .mins, .dst0x, .src1x, ._, ._ },
16290 } },20002 } },
...@@ -16300,7 +20012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16300,7 +20012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16300 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20012 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16301 .{ .src = .{ .to_sse, .to_sse, .none } },20013 .{ .src = .{ .to_sse, .to_sse, .none } },
16302 },20014 },
16303 .dst_temps = .{.{ .rc = .sse }},20015 .dst_temps = .{ .{ .rc = .sse }, .unused },
16304 .each = .{ .once = &.{20016 .each = .{ .once = &.{
16305 .{ ._, .vp_w, .mins, .dst0y, .src0y, .src1y, ._ },20017 .{ ._, .vp_w, .mins, .dst0y, .src0y, .src1y, ._ },
16306 } },20018 } },
...@@ -16325,7 +20037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16325,7 +20037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16325 .unused,20037 .unused,
16326 .unused,20038 .unused,
16327 },20039 },
16328 .dst_temps = .{.mem},20040 .dst_temps = .{ .mem, .unused },
16329 .clobbers = .{ .eflags = true },20041 .clobbers = .{ .eflags = true },
16330 .each = .{ .once = &.{20042 .each = .{ .once = &.{
16331 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20043 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16356,7 +20068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16356,7 +20068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16356 .unused,20068 .unused,
16357 .unused,20069 .unused,
16358 },20070 },
16359 .dst_temps = .{.mem},20071 .dst_temps = .{ .mem, .unused },
16360 .clobbers = .{ .eflags = true },20072 .clobbers = .{ .eflags = true },
16361 .each = .{ .once = &.{20073 .each = .{ .once = &.{
16362 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20074 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16387,7 +20099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16387,7 +20099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16387 .unused,20099 .unused,
16388 .unused,20100 .unused,
16389 },20101 },
16390 .dst_temps = .{.mem},20102 .dst_temps = .{ .mem, .unused },
16391 .clobbers = .{ .eflags = true },20103 .clobbers = .{ .eflags = true },
16392 .each = .{ .once = &.{20104 .each = .{ .once = &.{
16393 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20105 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16418,7 +20130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16418,7 +20130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16418 .unused,20130 .unused,
16419 .unused,20131 .unused,
16420 },20132 },
16421 .dst_temps = .{.mem},20133 .dst_temps = .{ .mem, .unused },
16422 .clobbers = .{ .eflags = true },20134 .clobbers = .{ .eflags = true },
16423 .each = .{ .once = &.{20135 .each = .{ .once = &.{
16424 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20136 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16449,7 +20161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16449,7 +20161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16449 .unused,20161 .unused,
16450 .unused,20162 .unused,
16451 },20163 },
16452 .dst_temps = .{.mem},20164 .dst_temps = .{ .mem, .unused },
16453 .clobbers = .{ .eflags = true },20165 .clobbers = .{ .eflags = true },
16454 .each = .{ .once = &.{20166 .each = .{ .once = &.{
16455 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20167 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16473,7 +20185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16473,7 +20185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16473 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20185 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16474 .{ .src = .{ .to_sse, .to_sse, .none } },20186 .{ .src = .{ .to_sse, .to_sse, .none } },
16475 },20187 },
16476 .dst_temps = .{.{ .rc = .sse }},20188 .dst_temps = .{ .{ .rc = .sse }, .unused },
16477 .each = .{ .once = &.{20189 .each = .{ .once = &.{
16478 .{ ._, .vp_w, .minu, .dst0x, .src0x, .src1x, ._ },20190 .{ ._, .vp_w, .minu, .dst0x, .src0x, .src1x, ._ },
16479 } },20191 } },
...@@ -16489,7 +20201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16489,7 +20201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16489 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },20201 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
16490 .{ .src = .{ .to_mut_sse, .to_sse, .none } },20202 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
16491 },20203 },
16492 .dst_temps = .{.{ .ref = .src0 }},20204 .dst_temps = .{ .{ .ref = .src0 }, .unused },
16493 .each = .{ .once = &.{20205 .each = .{ .once = &.{
16494 .{ ._, .p_w, .minu, .dst0x, .src1x, ._, ._ },20206 .{ ._, .p_w, .minu, .dst0x, .src1x, ._, ._ },
16495 } },20207 } },
...@@ -16505,7 +20217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16505,7 +20217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16505 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },20217 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
16506 .{ .src = .{ .to_mut_sse, .to_sse, .none } },20218 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
16507 },20219 },
16508 .dst_temps = .{.{ .rc = .sse }},20220 .dst_temps = .{ .{ .rc = .sse }, .unused },
16509 .each = .{ .once = &.{20221 .each = .{ .once = &.{
16510 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },20222 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },
16511 .{ ._, .p_w, .subus, .src0x, .src1x, ._, ._ },20223 .{ ._, .p_w, .subus, .src0x, .src1x, ._, ._ },
...@@ -16523,7 +20235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16523,7 +20235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16523 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20235 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16524 .{ .src = .{ .to_sse, .to_sse, .none } },20236 .{ .src = .{ .to_sse, .to_sse, .none } },
16525 },20237 },
16526 .dst_temps = .{.{ .rc = .sse }},20238 .dst_temps = .{ .{ .rc = .sse }, .unused },
16527 .each = .{ .once = &.{20239 .each = .{ .once = &.{
16528 .{ ._, .vp_w, .minu, .dst0y, .src0y, .src1y, ._ },20240 .{ ._, .vp_w, .minu, .dst0y, .src0y, .src1y, ._ },
16529 } },20241 } },
...@@ -16548,7 +20260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16548,7 +20260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16548 .unused,20260 .unused,
16549 .unused,20261 .unused,
16550 },20262 },
16551 .dst_temps = .{.mem},20263 .dst_temps = .{ .mem, .unused },
16552 .clobbers = .{ .eflags = true },20264 .clobbers = .{ .eflags = true },
16553 .each = .{ .once = &.{20265 .each = .{ .once = &.{
16554 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20266 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16579,7 +20291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16579,7 +20291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16579 .unused,20291 .unused,
16580 .unused,20292 .unused,
16581 },20293 },
16582 .dst_temps = .{.mem},20294 .dst_temps = .{ .mem, .unused },
16583 .clobbers = .{ .eflags = true },20295 .clobbers = .{ .eflags = true },
16584 .each = .{ .once = &.{20296 .each = .{ .once = &.{
16585 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20297 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16610,7 +20322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16610,7 +20322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16610 .unused,20322 .unused,
16611 .unused,20323 .unused,
16612 },20324 },
16613 .dst_temps = .{.mem},20325 .dst_temps = .{ .mem, .unused },
16614 .clobbers = .{ .eflags = true },20326 .clobbers = .{ .eflags = true },
16615 .each = .{ .once = &.{20327 .each = .{ .once = &.{
16616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20328 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16641,7 +20353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16641,7 +20353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16641 .unused,20353 .unused,
16642 .unused,20354 .unused,
16643 },20355 },
16644 .dst_temps = .{.mem},20356 .dst_temps = .{ .mem, .unused },
16645 .clobbers = .{ .eflags = true },20357 .clobbers = .{ .eflags = true },
16646 .each = .{ .once = &.{20358 .each = .{ .once = &.{
16647 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20359 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16674,7 +20386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16674,7 +20386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16674 .unused,20386 .unused,
16675 .unused,20387 .unused,
16676 },20388 },
16677 .dst_temps = .{.mem},20389 .dst_temps = .{ .mem, .unused },
16678 .clobbers = .{ .eflags = true },20390 .clobbers = .{ .eflags = true },
16679 .each = .{ .once = &.{20391 .each = .{ .once = &.{
16680 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20392 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16705,7 +20417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16705,7 +20417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16705 .unused,20417 .unused,
16706 .unused,20418 .unused,
16707 },20419 },
16708 .dst_temps = .{.mem},20420 .dst_temps = .{ .mem, .unused },
16709 .clobbers = .{ .eflags = true },20421 .clobbers = .{ .eflags = true },
16710 .each = .{ .once = &.{20422 .each = .{ .once = &.{
16711 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20423 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16729,7 +20441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16729,7 +20441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16729 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20441 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16730 .{ .src = .{ .to_sse, .to_sse, .none } },20442 .{ .src = .{ .to_sse, .to_sse, .none } },
16731 },20443 },
16732 .dst_temps = .{.{ .rc = .sse }},20444 .dst_temps = .{ .{ .rc = .sse }, .unused },
16733 .each = .{ .once = &.{20445 .each = .{ .once = &.{
16734 .{ ._, .vp_d, .mins, .dst0x, .src0x, .src1x, ._ },20446 .{ ._, .vp_d, .mins, .dst0x, .src0x, .src1x, ._ },
16735 } },20447 } },
...@@ -16745,7 +20457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16745,7 +20457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16745 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },20457 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
16746 .{ .src = .{ .to_mut_sse, .to_sse, .none } },20458 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
16747 },20459 },
16748 .dst_temps = .{.{ .ref = .src0 }},20460 .dst_temps = .{ .{ .ref = .src0 }, .unused },
16749 .each = .{ .once = &.{20461 .each = .{ .once = &.{
16750 .{ ._, .p_d, .mins, .dst0x, .src1x, ._, ._ },20462 .{ ._, .p_d, .mins, .dst0x, .src1x, ._, ._ },
16751 } },20463 } },
...@@ -16761,7 +20473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16761,7 +20473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16761 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },20473 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
16762 .{ .src = .{ .to_mut_sse, .to_sse, .none } },20474 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
16763 },20475 },
16764 .dst_temps = .{.{ .rc = .sse }},20476 .dst_temps = .{ .{ .rc = .sse }, .unused },
16765 .each = .{ .once = &.{20477 .each = .{ .once = &.{
16766 .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ },20478 .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ },
16767 .{ ._, .p_d, .cmpgt, .dst0x, .src0x, ._, ._ },20479 .{ ._, .p_d, .cmpgt, .dst0x, .src0x, ._, ._ },
...@@ -16781,7 +20493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16781,7 +20493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16781 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20493 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16782 .{ .src = .{ .to_sse, .to_sse, .none } },20494 .{ .src = .{ .to_sse, .to_sse, .none } },
16783 },20495 },
16784 .dst_temps = .{.{ .rc = .sse }},20496 .dst_temps = .{ .{ .rc = .sse }, .unused },
16785 .each = .{ .once = &.{20497 .each = .{ .once = &.{
16786 .{ ._, .vp_d, .mins, .dst0y, .src0y, .src1y, ._ },20498 .{ ._, .vp_d, .mins, .dst0y, .src0y, .src1y, ._ },
16787 } },20499 } },
...@@ -16806,7 +20518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16806,7 +20518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16806 .unused,20518 .unused,
16807 .unused,20519 .unused,
16808 },20520 },
16809 .dst_temps = .{.mem},20521 .dst_temps = .{ .mem, .unused },
16810 .clobbers = .{ .eflags = true },20522 .clobbers = .{ .eflags = true },
16811 .each = .{ .once = &.{20523 .each = .{ .once = &.{
16812 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20524 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16837,7 +20549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16837,7 +20549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16837 .unused,20549 .unused,
16838 .unused,20550 .unused,
16839 },20551 },
16840 .dst_temps = .{.mem},20552 .dst_temps = .{ .mem, .unused },
16841 .clobbers = .{ .eflags = true },20553 .clobbers = .{ .eflags = true },
16842 .each = .{ .once = &.{20554 .each = .{ .once = &.{
16843 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20555 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16868,7 +20580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16868,7 +20580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16868 .unused,20580 .unused,
16869 .unused,20581 .unused,
16870 },20582 },
16871 .dst_temps = .{.mem},20583 .dst_temps = .{ .mem, .unused },
16872 .clobbers = .{ .eflags = true },20584 .clobbers = .{ .eflags = true },
16873 .each = .{ .once = &.{20585 .each = .{ .once = &.{
16874 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20586 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16899,7 +20611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16899,7 +20611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16899 .unused,20611 .unused,
16900 .unused,20612 .unused,
16901 },20613 },
16902 .dst_temps = .{.mem},20614 .dst_temps = .{ .mem, .unused },
16903 .clobbers = .{ .eflags = true },20615 .clobbers = .{ .eflags = true },
16904 .each = .{ .once = &.{20616 .each = .{ .once = &.{
16905 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20617 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16934,7 +20646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16934,7 +20646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16934 .unused,20646 .unused,
16935 .unused,20647 .unused,
16936 },20648 },
16937 .dst_temps = .{.mem},20649 .dst_temps = .{ .mem, .unused },
16938 .clobbers = .{ .eflags = true },20650 .clobbers = .{ .eflags = true },
16939 .each = .{ .once = &.{20651 .each = .{ .once = &.{
16940 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20652 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16965,7 +20677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16965,7 +20677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16965 .unused,20677 .unused,
16966 .unused,20678 .unused,
16967 },20679 },
16968 .dst_temps = .{.mem},20680 .dst_temps = .{ .mem, .unused },
16969 .clobbers = .{ .eflags = true },20681 .clobbers = .{ .eflags = true },
16970 .each = .{ .once = &.{20682 .each = .{ .once = &.{
16971 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20683 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -16989,7 +20701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16989,7 +20701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16989 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20701 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
16990 .{ .src = .{ .to_sse, .to_sse, .none } },20702 .{ .src = .{ .to_sse, .to_sse, .none } },
16991 },20703 },
16992 .dst_temps = .{.{ .rc = .sse }},20704 .dst_temps = .{ .{ .rc = .sse }, .unused },
16993 .each = .{ .once = &.{20705 .each = .{ .once = &.{
16994 .{ ._, .vp_d, .minu, .dst0x, .src0x, .src1x, ._ },20706 .{ ._, .vp_d, .minu, .dst0x, .src0x, .src1x, ._ },
16995 } },20707 } },
...@@ -17005,7 +20717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17005,7 +20717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17005 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },20717 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
17006 .{ .src = .{ .to_mut_sse, .to_sse, .none } },20718 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
17007 },20719 },
17008 .dst_temps = .{.{ .ref = .src0 }},20720 .dst_temps = .{ .{ .ref = .src0 }, .unused },
17009 .each = .{ .once = &.{20721 .each = .{ .once = &.{
17010 .{ ._, .p_d, .minu, .dst0x, .src1x, ._, ._ },20722 .{ ._, .p_d, .minu, .dst0x, .src1x, ._, ._ },
17011 } },20723 } },
...@@ -17032,7 +20744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17032,7 +20744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17032 .unused,20744 .unused,
17033 .unused,20745 .unused,
17034 },20746 },
17035 .dst_temps = .{.{ .rc = .sse }},20747 .dst_temps = .{ .{ .rc = .sse }, .unused },
17036 .each = .{ .once = &.{20748 .each = .{ .once = &.{
17037 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20749 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
17038 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },20750 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -17056,7 +20768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17056,7 +20768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17056 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20768 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
17057 .{ .src = .{ .to_sse, .to_sse, .none } },20769 .{ .src = .{ .to_sse, .to_sse, .none } },
17058 },20770 },
17059 .dst_temps = .{.{ .rc = .sse }},20771 .dst_temps = .{ .{ .rc = .sse }, .unused },
17060 .each = .{ .once = &.{20772 .each = .{ .once = &.{
17061 .{ ._, .vp_d, .minu, .dst0y, .src0y, .src1y, ._ },20773 .{ ._, .vp_d, .minu, .dst0y, .src0y, .src1y, ._ },
17062 } },20774 } },
...@@ -17081,7 +20793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17081,7 +20793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17081 .unused,20793 .unused,
17082 .unused,20794 .unused,
17083 },20795 },
17084 .dst_temps = .{.mem},20796 .dst_temps = .{ .mem, .unused },
17085 .clobbers = .{ .eflags = true },20797 .clobbers = .{ .eflags = true },
17086 .each = .{ .once = &.{20798 .each = .{ .once = &.{
17087 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20799 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17112,7 +20824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17112,7 +20824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17112 .unused,20824 .unused,
17113 .unused,20825 .unused,
17114 },20826 },
17115 .dst_temps = .{.mem},20827 .dst_temps = .{ .mem, .unused },
17116 .clobbers = .{ .eflags = true },20828 .clobbers = .{ .eflags = true },
17117 .each = .{ .once = &.{20829 .each = .{ .once = &.{
17118 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20830 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17143,7 +20855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17143,7 +20855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17143 .unused,20855 .unused,
17144 .unused,20856 .unused,
17145 },20857 },
17146 .dst_temps = .{.mem},20858 .dst_temps = .{ .mem, .unused },
17147 .clobbers = .{ .eflags = true },20859 .clobbers = .{ .eflags = true },
17148 .each = .{ .once = &.{20860 .each = .{ .once = &.{
17149 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20861 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17174,7 +20886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17174,7 +20886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17174 .unused,20886 .unused,
17175 .unused,20887 .unused,
17176 },20888 },
17177 .dst_temps = .{.mem},20889 .dst_temps = .{ .mem, .unused },
17178 .clobbers = .{ .eflags = true },20890 .clobbers = .{ .eflags = true },
17179 .each = .{ .once = &.{20891 .each = .{ .once = &.{
17180 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20892 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -17215,7 +20927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17215,7 +20927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17215 .unused,20927 .unused,
17216 .unused,20928 .unused,
17217 },20929 },
17218 .dst_temps = .{.mem},20930 .dst_temps = .{ .mem, .unused },
17219 .clobbers = .{ .eflags = true },20931 .clobbers = .{ .eflags = true },
17220 .each = .{ .once = &.{20932 .each = .{ .once = &.{
17221 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20933 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17246,7 +20958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17246,7 +20958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17246 .unused,20958 .unused,
17247 .unused,20959 .unused,
17248 },20960 },
17249 .dst_temps = .{.mem},20961 .dst_temps = .{ .mem, .unused },
17250 .clobbers = .{ .eflags = true },20962 .clobbers = .{ .eflags = true },
17251 .each = .{ .once = &.{20963 .each = .{ .once = &.{
17252 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17270,7 +20982,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17270,7 +20982,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17270 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },20982 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
17271 .{ .src = .{ .to_sse, .to_sse, .none } },20983 .{ .src = .{ .to_sse, .to_sse, .none } },
17272 },20984 },
17273 .dst_temps = .{.{ .rc = .sse }},20985 .dst_temps = .{ .{ .rc = .sse }, .unused },
17274 .each = .{ .once = &.{20986 .each = .{ .once = &.{
17275 .{ ._, .vp_q, .cmpgt, .dst0x, .src0x, .src1x, ._ },20987 .{ ._, .vp_q, .cmpgt, .dst0x, .src0x, .src1x, ._ },
17276 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x },20988 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x },
...@@ -17298,7 +21010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17298,7 +21010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17298 .unused,21010 .unused,
17299 .unused,21011 .unused,
17300 },21012 },
17301 .dst_temps = .{.{ .ref = .src0 }},21013 .dst_temps = .{ .{ .ref = .src0 }, .unused },
17302 .each = .{ .once = &.{21014 .each = .{ .once = &.{
17303 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },21015 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
17304 .{ ._, .p_q, .cmpgt, .tmp0x, .src1x, ._, ._ },21016 .{ ._, .p_q, .cmpgt, .tmp0x, .src1x, ._, ._ },
...@@ -17316,7 +21028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17316,7 +21028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17316 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },21028 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
17317 .{ .src = .{ .to_sse, .to_sse, .none } },21029 .{ .src = .{ .to_sse, .to_sse, .none } },
17318 },21030 },
17319 .dst_temps = .{.{ .rc = .sse }},21031 .dst_temps = .{ .{ .rc = .sse }, .unused },
17320 .each = .{ .once = &.{21032 .each = .{ .once = &.{
17321 .{ ._, .vp_q, .cmpgt, .dst0y, .src0y, .src1y, ._ },21033 .{ ._, .vp_q, .cmpgt, .dst0y, .src0y, .src1y, ._ },
17322 .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y },21034 .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y },
...@@ -17342,7 +21054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17342,7 +21054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17342 .unused,21054 .unused,
17343 .unused,21055 .unused,
17344 },21056 },
17345 .dst_temps = .{.mem},21057 .dst_temps = .{ .mem, .unused },
17346 .clobbers = .{ .eflags = true },21058 .clobbers = .{ .eflags = true },
17347 .each = .{ .once = &.{21059 .each = .{ .once = &.{
17348 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21060 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17375,7 +21087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17375,7 +21087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17375 .unused,21087 .unused,
17376 .unused,21088 .unused,
17377 },21089 },
17378 .dst_temps = .{.mem},21090 .dst_temps = .{ .mem, .unused },
17379 .clobbers = .{ .eflags = true },21091 .clobbers = .{ .eflags = true },
17380 .each = .{ .once = &.{21092 .each = .{ .once = &.{
17381 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17408,7 +21120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17408,7 +21120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17408 .unused,21120 .unused,
17409 .unused,21121 .unused,
17410 },21122 },
17411 .dst_temps = .{.mem},21123 .dst_temps = .{ .mem, .unused },
17412 .clobbers = .{ .eflags = true },21124 .clobbers = .{ .eflags = true },
17413 .each = .{ .once = &.{21125 .each = .{ .once = &.{
17414 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21126 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17442,7 +21154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17442,7 +21154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17442 .unused,21154 .unused,
17443 .unused,21155 .unused,
17444 },21156 },
17445 .dst_temps = .{.mem},21157 .dst_temps = .{ .mem, .unused },
17446 .clobbers = .{ .eflags = true },21158 .clobbers = .{ .eflags = true },
17447 .each = .{ .once = &.{21159 .each = .{ .once = &.{
17448 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21160 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17474,7 +21186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17474,7 +21186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17474 .unused,21186 .unused,
17475 .unused,21187 .unused,
17476 },21188 },
17477 .dst_temps = .{.mem},21189 .dst_temps = .{ .mem, .unused },
17478 .clobbers = .{ .eflags = true },21190 .clobbers = .{ .eflags = true },
17479 .each = .{ .once = &.{21191 .each = .{ .once = &.{
17480 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21192 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17509,7 +21221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17509,7 +21221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17509 .unused,21221 .unused,
17510 .unused,21222 .unused,
17511 },21223 },
17512 .dst_temps = .{.{ .rc = .sse }},21224 .dst_temps = .{ .{ .rc = .sse }, .unused },
17513 .each = .{ .once = &.{21225 .each = .{ .once = &.{
17514 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },21226 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
17515 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },21227 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
...@@ -17541,7 +21253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17541,7 +21253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17541 .unused,21253 .unused,
17542 .unused,21254 .unused,
17543 },21255 },
17544 .dst_temps = .{.{ .ref = .src0 }},21256 .dst_temps = .{ .{ .ref = .src0 }, .unused },
17545 .each = .{ .once = &.{21257 .each = .{ .once = &.{
17546 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },21258 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
17547 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },21259 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
...@@ -17574,7 +21286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17574,7 +21286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17574 .unused,21286 .unused,
17575 .unused,21287 .unused,
17576 },21288 },
17577 .dst_temps = .{.{ .rc = .sse }},21289 .dst_temps = .{ .{ .rc = .sse }, .unused },
17578 .each = .{ .once = &.{21290 .each = .{ .once = &.{
17579 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },21291 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
17580 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },21292 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
...@@ -17604,7 +21316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17604,7 +21316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17604 .unused,21316 .unused,
17605 .unused,21317 .unused,
17606 },21318 },
17607 .dst_temps = .{.mem},21319 .dst_temps = .{ .mem, .unused },
17608 .clobbers = .{ .eflags = true },21320 .clobbers = .{ .eflags = true },
17609 .each = .{ .once = &.{21321 .each = .{ .once = &.{
17610 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },21322 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -17641,7 +21353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17641,7 +21353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17641 .unused,21353 .unused,
17642 .unused,21354 .unused,
17643 },21355 },
17644 .dst_temps = .{.mem},21356 .dst_temps = .{ .mem, .unused },
17645 .clobbers = .{ .eflags = true },21357 .clobbers = .{ .eflags = true },
17646 .each = .{ .once = &.{21358 .each = .{ .once = &.{
17647 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },21359 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -17678,7 +21390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17678,7 +21390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17678 .unused,21390 .unused,
17679 .unused,21391 .unused,
17680 },21392 },
17681 .dst_temps = .{.mem},21393 .dst_temps = .{ .mem, .unused },
17682 .clobbers = .{ .eflags = true },21394 .clobbers = .{ .eflags = true },
17683 .each = .{ .once = &.{21395 .each = .{ .once = &.{
17684 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },21396 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -17717,7 +21429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17717,7 +21429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17717 .unused,21429 .unused,
17718 .unused,21430 .unused,
17719 },21431 },
17720 .dst_temps = .{.mem},21432 .dst_temps = .{ .mem, .unused },
17721 .clobbers = .{ .eflags = true },21433 .clobbers = .{ .eflags = true },
17722 .each = .{ .once = &.{21434 .each = .{ .once = &.{
17723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17749,7 +21461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17749,7 +21461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17749 .unused,21461 .unused,
17750 .unused,21462 .unused,
17751 },21463 },
17752 .dst_temps = .{.mem},21464 .dst_temps = .{ .mem, .unused },
17753 .clobbers = .{ .eflags = true },21465 .clobbers = .{ .eflags = true },
17754 .each = .{ .once = &.{21466 .each = .{ .once = &.{
17755 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21467 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17778,7 +21490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17778,7 +21490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17778 .unused,21490 .unused,
17779 .unused,21491 .unused,
17780 },21492 },
17781 .dst_temps = .{.mem},21493 .dst_temps = .{ .mem, .unused },
17782 .clobbers = .{ .eflags = true },21494 .clobbers = .{ .eflags = true },
17783 .each = .{ .once = &.{21495 .each = .{ .once = &.{
17784 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21496 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17817,7 +21529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17817,7 +21529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17817 .unused,21529 .unused,
17818 .unused,21530 .unused,
17819 },21531 },
17820 .dst_temps = .{.mem},21532 .dst_temps = .{ .mem, .unused },
17821 .clobbers = .{ .eflags = true },21533 .clobbers = .{ .eflags = true },
17822 .each = .{ .once = &.{21534 .each = .{ .once = &.{
17823 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21535 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17856,7 +21568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17856,7 +21568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17856 .unused,21568 .unused,
17857 .unused,21569 .unused,
17858 },21570 },
17859 .dst_temps = .{.mem},21571 .dst_temps = .{ .mem, .unused },
17860 .clobbers = .{ .eflags = true },21572 .clobbers = .{ .eflags = true },
17861 .each = .{ .once = &.{21573 .each = .{ .once = &.{
17862 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21574 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17893,7 +21605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17893,7 +21605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17893 .unused,21605 .unused,
17894 .unused,21606 .unused,
17895 },21607 },
17896 .dst_temps = .{.mem},21608 .dst_temps = .{ .mem, .unused },
17897 .clobbers = .{ .eflags = true },21609 .clobbers = .{ .eflags = true },
17898 .each = .{ .once = &.{21610 .each = .{ .once = &.{
17899 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21611 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -17934,7 +21646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17934,7 +21646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17934 .unused,21646 .unused,
17935 .unused,21647 .unused,
17936 },21648 },
17937 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},21649 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
17938 .each = .{ .once = &.{21650 .each = .{ .once = &.{
17939 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },21651 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
17940 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },21652 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -17965,7 +21677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17965,7 +21677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17965 .unused,21677 .unused,
17966 .unused,21678 .unused,
17967 },21679 },
17968 .dst_temps = .{.{ .ref = .src0 }},21680 .dst_temps = .{ .{ .ref = .src0 }, .unused },
17969 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },21681 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
17970 .each = .{ .once = &.{21682 .each = .{ .once = &.{
17971 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },21683 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -17994,7 +21706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17994,7 +21706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17994 .unused,21706 .unused,
17995 .unused,21707 .unused,
17996 },21708 },
17997 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},21709 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
17998 .each = .{ .once = &.{21710 .each = .{ .once = &.{
17999 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },21711 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
18000 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },21712 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -18027,7 +21739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18027,7 +21739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18027 .unused,21739 .unused,
18028 .unused,21740 .unused,
18029 },21741 },
18030 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},21742 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18031 .each = .{ .once = &.{21743 .each = .{ .once = &.{
18032 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },21744 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
18033 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },21745 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
...@@ -18057,7 +21769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18057,7 +21769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18057 .unused,21769 .unused,
18058 .unused,21770 .unused,
18059 },21771 },
18060 .dst_temps = .{.mem},21772 .dst_temps = .{ .mem, .unused },
18061 .clobbers = .{ .eflags = true },21773 .clobbers = .{ .eflags = true },
18062 .each = .{ .once = &.{21774 .each = .{ .once = &.{
18063 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21775 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18092,7 +21804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18092,7 +21804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18092 .unused,21804 .unused,
18093 .unused,21805 .unused,
18094 },21806 },
18095 .dst_temps = .{.mem},21807 .dst_temps = .{ .mem, .unused },
18096 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },21808 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
18097 .each = .{ .once = &.{21809 .each = .{ .once = &.{
18098 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21810 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18126,7 +21838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18126,7 +21838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18126 .unused,21838 .unused,
18127 .unused,21839 .unused,
18128 },21840 },
18129 .dst_temps = .{.mem},21841 .dst_temps = .{ .mem, .unused },
18130 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },21842 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
18131 .each = .{ .once = &.{21843 .each = .{ .once = &.{
18132 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21844 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18161,7 +21873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18161,7 +21873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18161 .unused,21873 .unused,
18162 .unused,21874 .unused,
18163 },21875 },
18164 .dst_temps = .{.mem},21876 .dst_temps = .{ .mem, .unused },
18165 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },21877 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
18166 .each = .{ .once = &.{21878 .each = .{ .once = &.{
18167 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21879 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18197,7 +21909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18197,7 +21909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18197 .unused,21909 .unused,
18198 .unused,21910 .unused,
18199 },21911 },
18200 .dst_temps = .{.mem},21912 .dst_temps = .{ .mem, .unused },
18201 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },21913 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
18202 .each = .{ .once = &.{21914 .each = .{ .once = &.{
18203 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },21915 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18235,7 +21947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18235,7 +21947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18235 .unused,21947 .unused,
18236 .unused,21948 .unused,
18237 },21949 },
18238 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},21950 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18239 .each = .{ .once = &.{21951 .each = .{ .once = &.{
18240 .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) },21952 .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) },
18241 .{ ._, .v_ss, .min, .dst0x, .src1x, .src0d, ._ },21953 .{ ._, .v_ss, .min, .dst0x, .src1x, .src0d, ._ },
...@@ -18251,7 +21963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18251,7 +21963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18251 .patterns = &.{21963 .patterns = &.{
18252 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },21964 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
18253 },21965 },
18254 .dst_temps = .{.{ .rc = .sse }},21966 .dst_temps = .{ .{ .rc = .sse }, .unused },
18255 .each = .{ .once = &.{21967 .each = .{ .once = &.{
18256 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },21968 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
18257 .{ ._, ._ss, .min, .dst0x, .src0d, ._, ._ },21969 .{ ._, ._ss, .min, .dst0x, .src0d, ._, ._ },
...@@ -18279,7 +21991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18279,7 +21991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18279 .unused,21991 .unused,
18280 .unused,21992 .unused,
18281 },21993 },
18282 .dst_temps = .{.{ .ref = .src0 }},21994 .dst_temps = .{ .{ .ref = .src0 }, .unused },
18283 .each = .{ .once = &.{21995 .each = .{ .once = &.{
18284 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },21996 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
18285 .{ ._, ._ss, .min, .tmp0x, .src0d, ._, ._ },21997 .{ ._, ._ss, .min, .tmp0x, .src0d, ._, ._ },
...@@ -18309,7 +22021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18309,7 +22021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18309 .unused,22021 .unused,
18310 .unused,22022 .unused,
18311 },22023 },
18312 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},22024 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18313 .each = .{ .once = &.{22025 .each = .{ .once = &.{
18314 .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },22026 .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
18315 .{ ._, .v_ps, .min, .dst0x, .src1x, .src0x, ._ },22027 .{ ._, .v_ps, .min, .dst0x, .src1x, .src0x, ._ },
...@@ -18327,7 +22039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18327,7 +22039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18327 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },22039 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
18328 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },22040 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
18329 },22041 },
18330 .dst_temps = .{.{ .rc = .sse }},22042 .dst_temps = .{ .{ .rc = .sse }, .unused },
18331 .each = .{ .once = &.{22043 .each = .{ .once = &.{
18332 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },22044 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
18333 .{ ._, ._ps, .min, .dst0x, .src0x, ._, ._ },22045 .{ ._, ._ps, .min, .dst0x, .src0x, ._, ._ },
...@@ -18357,7 +22069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18357,7 +22069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18357 .unused,22069 .unused,
18358 .unused,22070 .unused,
18359 },22071 },
18360 .dst_temps = .{.{ .ref = .src0 }},22072 .dst_temps = .{ .{ .ref = .src0 }, .unused },
18361 .each = .{ .once = &.{22073 .each = .{ .once = &.{
18362 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },22074 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
18363 .{ ._, ._ps, .min, .tmp0x, .src0x, ._, ._ },22075 .{ ._, ._ps, .min, .tmp0x, .src0x, ._, ._ },
...@@ -18387,7 +22099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18387,7 +22099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18387 .unused,22099 .unused,
18388 .unused,22100 .unused,
18389 },22101 },
18390 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},22102 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18391 .each = .{ .once = &.{22103 .each = .{ .once = &.{
18392 .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },22104 .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
18393 .{ ._, .v_ps, .min, .dst0y, .src1y, .src0y, ._ },22105 .{ ._, .v_ps, .min, .dst0y, .src1y, .src0y, ._ },
...@@ -18414,7 +22126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18414,7 +22126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18414 .unused,22126 .unused,
18415 .unused,22127 .unused,
18416 },22128 },
18417 .dst_temps = .{.mem},22129 .dst_temps = .{ .mem, .unused },
18418 .clobbers = .{ .eflags = true },22130 .clobbers = .{ .eflags = true },
18419 .each = .{ .once = &.{22131 .each = .{ .once = &.{
18420 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22132 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18448,7 +22160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18448,7 +22160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18448 .unused,22160 .unused,
18449 .unused,22161 .unused,
18450 },22162 },
18451 .dst_temps = .{.mem},22163 .dst_temps = .{ .mem, .unused },
18452 .clobbers = .{ .eflags = true },22164 .clobbers = .{ .eflags = true },
18453 .each = .{ .once = &.{22165 .each = .{ .once = &.{
18454 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18483,7 +22195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18483,7 +22195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18483 .unused,22195 .unused,
18484 .unused,22196 .unused,
18485 },22197 },
18486 .dst_temps = .{.mem},22198 .dst_temps = .{ .mem, .unused },
18487 .clobbers = .{ .eflags = true },22199 .clobbers = .{ .eflags = true },
18488 .each = .{ .once = &.{22200 .each = .{ .once = &.{
18489 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18520,7 +22232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18520,7 +22232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18520 .unused,22232 .unused,
18521 .unused,22233 .unused,
18522 },22234 },
18523 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},22235 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18524 .each = .{ .once = &.{22236 .each = .{ .once = &.{
18525 .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) },22237 .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) },
18526 .{ ._, .v_sd, .min, .dst0x, .src1x, .src0q, ._ },22238 .{ ._, .v_sd, .min, .dst0x, .src1x, .src0q, ._ },
...@@ -18536,7 +22248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18536,7 +22248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18536 .patterns = &.{22248 .patterns = &.{
18537 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },22249 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
18538 },22250 },
18539 .dst_temps = .{.{ .rc = .sse }},22251 .dst_temps = .{ .{ .rc = .sse }, .unused },
18540 .each = .{ .once = &.{22252 .each = .{ .once = &.{
18541 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },22253 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
18542 .{ ._, ._sd, .min, .dst0x, .src0q, ._, ._ },22254 .{ ._, ._sd, .min, .dst0x, .src0q, ._, ._ },
...@@ -18564,7 +22276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18564,7 +22276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18564 .unused,22276 .unused,
18565 .unused,22277 .unused,
18566 },22278 },
18567 .dst_temps = .{.{ .ref = .src0 }},22279 .dst_temps = .{ .{ .ref = .src0 }, .unused },
18568 .each = .{ .once = &.{22280 .each = .{ .once = &.{
18569 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },22281 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
18570 .{ ._, ._sd, .min, .tmp0x, .src0q, ._, ._ },22282 .{ ._, ._sd, .min, .tmp0x, .src0q, ._, ._ },
...@@ -18595,7 +22307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18595,7 +22307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18595 .unused,22307 .unused,
18596 .unused,22308 .unused,
18597 },22309 },
18598 .dst_temps = .{.{ .ref = .src0 }},22310 .dst_temps = .{ .{ .ref = .src0 }, .unused },
18599 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },22311 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
18600 .each = .{ .once = &.{22312 .each = .{ .once = &.{
18601 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },22313 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -18621,7 +22333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18621,7 +22333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18621 .unused,22333 .unused,
18622 .unused,22334 .unused,
18623 },22335 },
18624 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},22336 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18625 .each = .{ .once = &.{22337 .each = .{ .once = &.{
18626 .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },22338 .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
18627 .{ ._, .v_pd, .min, .dst0x, .src1x, .src0x, ._ },22339 .{ ._, .v_pd, .min, .dst0x, .src1x, .src0x, ._ },
...@@ -18639,7 +22351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18639,7 +22351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18639 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },22351 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
18640 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },22352 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
18641 },22353 },
18642 .dst_temps = .{.{ .rc = .sse }},22354 .dst_temps = .{ .{ .rc = .sse }, .unused },
18643 .each = .{ .once = &.{22355 .each = .{ .once = &.{
18644 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },22356 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
18645 .{ ._, ._pd, .min, .dst0x, .src0x, ._, ._ },22357 .{ ._, ._pd, .min, .dst0x, .src0x, ._, ._ },
...@@ -18669,7 +22381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18669,7 +22381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18669 .unused,22381 .unused,
18670 .unused,22382 .unused,
18671 },22383 },
18672 .dst_temps = .{.{ .ref = .src0 }},22384 .dst_temps = .{ .{ .ref = .src0 }, .unused },
18673 .each = .{ .once = &.{22385 .each = .{ .once = &.{
18674 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },22386 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
18675 .{ ._, ._pd, .min, .tmp0x, .src0x, ._, ._ },22387 .{ ._, ._pd, .min, .tmp0x, .src0x, ._, ._ },
...@@ -18699,7 +22411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18699,7 +22411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18699 .unused,22411 .unused,
18700 .unused,22412 .unused,
18701 },22413 },
18702 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},22414 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
18703 .each = .{ .once = &.{22415 .each = .{ .once = &.{
18704 .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },22416 .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
18705 .{ ._, .v_pd, .min, .dst0y, .src1y, .src0y, ._ },22417 .{ ._, .v_pd, .min, .dst0y, .src1y, .src0y, ._ },
...@@ -18726,7 +22438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18726,7 +22438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18726 .unused,22438 .unused,
18727 .unused,22439 .unused,
18728 },22440 },
18729 .dst_temps = .{.mem},22441 .dst_temps = .{ .mem, .unused },
18730 .clobbers = .{ .eflags = true },22442 .clobbers = .{ .eflags = true },
18731 .each = .{ .once = &.{22443 .each = .{ .once = &.{
18732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22444 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18760,7 +22472,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18760,7 +22472,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18760 .unused,22472 .unused,
18761 .unused,22473 .unused,
18762 },22474 },
18763 .dst_temps = .{.mem},22475 .dst_temps = .{ .mem, .unused },
18764 .clobbers = .{ .eflags = true },22476 .clobbers = .{ .eflags = true },
18765 .each = .{ .once = &.{22477 .each = .{ .once = &.{
18766 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22478 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18795,7 +22507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18795,7 +22507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18795 .unused,22507 .unused,
18796 .unused,22508 .unused,
18797 },22509 },
18798 .dst_temps = .{.mem},22510 .dst_temps = .{ .mem, .unused },
18799 .clobbers = .{ .eflags = true },22511 .clobbers = .{ .eflags = true },
18800 .each = .{ .once = &.{22512 .each = .{ .once = &.{
18801 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22513 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18833,7 +22545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18833,7 +22545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18833 .unused,22545 .unused,
18834 .unused,22546 .unused,
18835 },22547 },
18836 .dst_temps = .{.mem},22548 .dst_temps = .{ .mem, .unused },
18837 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },22549 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
18838 .each = .{ .once = &.{22550 .each = .{ .once = &.{
18839 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22551 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -18869,7 +22581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18869,7 +22581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18869 .unused,22581 .unused,
18870 .unused,22582 .unused,
18871 },22583 },
18872 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},22584 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
18873 .clobbers = .{ .eflags = true },22585 .clobbers = .{ .eflags = true },
18874 .each = .{ .once = &.{22586 .each = .{ .once = &.{
18875 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },22587 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -18902,7 +22614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18902,7 +22614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18902 .unused,22614 .unused,
18903 .unused,22615 .unused,
18904 },22616 },
18905 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},22617 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
18906 .clobbers = .{ .eflags = true },22618 .clobbers = .{ .eflags = true },
18907 .each = .{ .once = &.{22619 .each = .{ .once = &.{
18908 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },22620 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -18941,7 +22653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18941,7 +22653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18941 .unused,22653 .unused,
18942 .unused,22654 .unused,
18943 },22655 },
18944 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},22656 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
18945 .clobbers = .{ .eflags = true },22657 .clobbers = .{ .eflags = true },
18946 .each = .{ .once = &.{22658 .each = .{ .once = &.{
18947 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },22659 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -18978,7 +22690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18978,7 +22690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18978 .unused,22690 .unused,
18979 .unused,22691 .unused,
18980 },22692 },
18981 .dst_temps = .{.mem},22693 .dst_temps = .{ .mem, .unused },
18982 .clobbers = .{ .eflags = true },22694 .clobbers = .{ .eflags = true },
18983 .each = .{ .once = &.{22695 .each = .{ .once = &.{
18984 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19014,7 +22726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19014,7 +22726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19014 .unused,22726 .unused,
19015 .unused,22727 .unused,
19016 },22728 },
19017 .dst_temps = .{.mem},22729 .dst_temps = .{ .mem, .unused },
19018 .clobbers = .{ .eflags = true },22730 .clobbers = .{ .eflags = true },
19019 .each = .{ .once = &.{22731 .each = .{ .once = &.{
19020 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19056,7 +22768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19056,7 +22768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19056 .unused,22768 .unused,
19057 .unused,22769 .unused,
19058 },22770 },
19059 .dst_temps = .{.mem},22771 .dst_temps = .{ .mem, .unused },
19060 .clobbers = .{ .eflags = true },22772 .clobbers = .{ .eflags = true },
19061 .each = .{ .once = &.{22773 .each = .{ .once = &.{
19062 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22774 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19099,7 +22811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19099,7 +22811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19099 .unused,22811 .unused,
19100 .unused,22812 .unused,
19101 },22813 },
19102 .dst_temps = .{.{ .ref = .src0 }},22814 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19103 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },22815 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
19104 .each = .{ .once = &.{22816 .each = .{ .once = &.{
19105 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },22817 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -19126,7 +22838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19126,7 +22838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19126 .unused,22838 .unused,
19127 .unused,22839 .unused,
19128 },22840 },
19129 .dst_temps = .{.mem},22841 .dst_temps = .{ .mem, .unused },
19130 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },22842 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
19131 .each = .{ .once = &.{22843 .each = .{ .once = &.{
19132 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22844 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19159,7 +22871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19159,7 +22871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19159 .unused,22871 .unused,
19160 .unused,22872 .unused,
19161 },22873 },
19162 .dst_temps = .{.mem},22874 .dst_temps = .{ .mem, .unused },
19163 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },22875 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
19164 .each = .{ .once = &.{22876 .each = .{ .once = &.{
19165 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22877 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19192,7 +22904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19192,7 +22904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19192 .unused,22904 .unused,
19193 .unused,22905 .unused,
19194 },22906 },
19195 .dst_temps = .{.mem},22907 .dst_temps = .{ .mem, .unused },
19196 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },22908 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
19197 .each = .{ .once = &.{22909 .each = .{ .once = &.{
19198 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },22910 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19262,7 +22974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19262,7 +22974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19262 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },22974 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
19263 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },22975 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
19264 },22976 },
19265 .dst_temps = .{.{ .ref = .src0 }},22977 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19266 .clobbers = .{ .eflags = true },22978 .clobbers = .{ .eflags = true },
19267 .each = .{ .once = &.{22979 .each = .{ .once = &.{
19268 .{ ._, ._, mir_tag, .dst0b, .src1b, ._, ._ },22980 .{ ._, ._, mir_tag, .dst0b, .src1b, ._, ._ },
...@@ -19280,7 +22992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19280,7 +22992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19280 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },22992 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
19281 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },22993 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
19282 },22994 },
19283 .dst_temps = .{.{ .ref = .src0 }},22995 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19284 .clobbers = .{ .eflags = true },22996 .clobbers = .{ .eflags = true },
19285 .each = .{ .once = &.{22997 .each = .{ .once = &.{
19286 .{ ._, ._, mir_tag, .dst0w, .src1w, ._, ._ },22998 .{ ._, ._, mir_tag, .dst0w, .src1w, ._, ._ },
...@@ -19298,7 +23010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19298,7 +23010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19298 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },23010 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
19299 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },23011 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
19300 },23012 },
19301 .dst_temps = .{.{ .ref = .src0 }},23013 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19302 .clobbers = .{ .eflags = true },23014 .clobbers = .{ .eflags = true },
19303 .each = .{ .once = &.{23015 .each = .{ .once = &.{
19304 .{ ._, ._, mir_tag, .dst0d, .src1d, ._, ._ },23016 .{ ._, ._, mir_tag, .dst0d, .src1d, ._, ._ },
...@@ -19317,7 +23029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19317,7 +23029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19317 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },23029 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
19318 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },23030 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
19319 },23031 },
19320 .dst_temps = .{.{ .ref = .src0 }},23032 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19321 .clobbers = .{ .eflags = true },23033 .clobbers = .{ .eflags = true },
19322 .each = .{ .once = &.{23034 .each = .{ .once = &.{
19323 .{ ._, ._, mir_tag, .dst0q, .src1q, ._, ._ },23035 .{ ._, ._, mir_tag, .dst0q, .src1q, ._, ._ },
...@@ -19330,7 +23042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19330,7 +23042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19330 .{ .src = .{ .mem, .to_mut_mm, .none }, .commute = .{ 0, 1 } },23042 .{ .src = .{ .mem, .to_mut_mm, .none }, .commute = .{ 0, 1 } },
19331 .{ .src = .{ .to_mut_mm, .to_mm, .none } },23043 .{ .src = .{ .to_mut_mm, .to_mm, .none } },
19332 },23044 },
19333 .dst_temps = .{.{ .ref = .src0 }},23045 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19334 .each = .{ .once = &.{23046 .each = .{ .once = &.{
19335 .{ ._, .p_, mir_tag, .dst0q, .src1q, ._, ._ },23047 .{ ._, .p_, mir_tag, .dst0q, .src1q, ._, ._ },
19336 } },23048 } },
...@@ -19342,7 +23054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19342,7 +23054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19342 .{ .src = .{ .mem, .to_xmm, .none }, .commute = .{ 0, 1 } },23054 .{ .src = .{ .mem, .to_xmm, .none }, .commute = .{ 0, 1 } },
19343 .{ .src = .{ .to_xmm, .to_xmm, .none } },23055 .{ .src = .{ .to_xmm, .to_xmm, .none } },
19344 },23056 },
19345 .dst_temps = .{.{ .rc = .sse }},23057 .dst_temps = .{ .{ .rc = .sse }, .unused },
19346 .each = .{ .once = &.{23058 .each = .{ .once = &.{
19347 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .src1x, ._ },23059 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .src1x, ._ },
19348 } },23060 } },
...@@ -19354,7 +23066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19354,7 +23066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19354 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },23066 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },
19355 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },23067 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },
19356 },23068 },
19357 .dst_temps = .{.{ .ref = .src0 }},23069 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19358 .each = .{ .once = &.{23070 .each = .{ .once = &.{
19359 .{ ._, .p_, mir_tag, .dst0x, .src1x, ._, ._ },23071 .{ ._, .p_, mir_tag, .dst0x, .src1x, ._, ._ },
19360 } },23072 } },
...@@ -19366,7 +23078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19366,7 +23078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19366 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },23078 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },
19367 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },23079 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },
19368 },23080 },
19369 .dst_temps = .{.{ .ref = .src0 }},23081 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19370 .each = .{ .once = &.{23082 .each = .{ .once = &.{
19371 .{ ._, ._ps, mir_tag, .dst0x, .src1x, ._, ._ },23083 .{ ._, ._ps, mir_tag, .dst0x, .src1x, ._, ._ },
19372 } },23084 } },
...@@ -19378,7 +23090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19378,7 +23090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19378 .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } },23090 .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } },
19379 .{ .src = .{ .to_ymm, .to_ymm, .none } },23091 .{ .src = .{ .to_ymm, .to_ymm, .none } },
19380 },23092 },
19381 .dst_temps = .{.{ .rc = .sse }},23093 .dst_temps = .{ .{ .rc = .sse }, .unused },
19382 .each = .{ .once = &.{23094 .each = .{ .once = &.{
19383 .{ ._, .vp_, mir_tag, .dst0y, .src0y, .src1y, ._ },23095 .{ ._, .vp_, mir_tag, .dst0y, .src0y, .src1y, ._ },
19384 } },23096 } },
...@@ -19390,7 +23102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19390,7 +23102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19390 .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } },23102 .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } },
19391 .{ .src = .{ .to_ymm, .to_ymm, .none } },23103 .{ .src = .{ .to_ymm, .to_ymm, .none } },
19392 },23104 },
19393 .dst_temps = .{.{ .rc = .sse }},23105 .dst_temps = .{ .{ .rc = .sse }, .unused },
19394 .each = .{ .once = &.{23106 .each = .{ .once = &.{
19395 .{ ._, .v_pd, mir_tag, .dst0y, .src0y, .src1y, ._ },23107 .{ ._, .v_pd, mir_tag, .dst0y, .src0y, .src1y, ._ },
19396 } },23108 } },
...@@ -19411,7 +23123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19411,7 +23123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19411 .unused,23123 .unused,
19412 .unused,23124 .unused,
19413 },23125 },
19414 .dst_temps = .{.mem},23126 .dst_temps = .{ .mem, .unused },
19415 .clobbers = .{ .eflags = true },23127 .clobbers = .{ .eflags = true },
19416 .each = .{ .once = &.{23128 .each = .{ .once = &.{
19417 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23129 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19438,7 +23150,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19438,7 +23150,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19438 .unused,23150 .unused,
19439 .unused,23151 .unused,
19440 },23152 },
19441 .dst_temps = .{.mem},23153 .dst_temps = .{ .mem, .unused },
19442 .clobbers = .{ .eflags = true },23154 .clobbers = .{ .eflags = true },
19443 .each = .{ .once = &.{23155 .each = .{ .once = &.{
19444 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23156 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19465,7 +23177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19465,7 +23177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19465 .unused,23177 .unused,
19466 .unused,23178 .unused,
19467 },23179 },
19468 .dst_temps = .{.mem},23180 .dst_temps = .{ .mem, .unused },
19469 .clobbers = .{ .eflags = true },23181 .clobbers = .{ .eflags = true },
19470 .each = .{ .once = &.{23182 .each = .{ .once = &.{
19471 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19492,7 +23204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19492,7 +23204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19492 .unused,23204 .unused,
19493 .unused,23205 .unused,
19494 },23206 },
19495 .dst_temps = .{.mem},23207 .dst_temps = .{ .mem, .unused },
19496 .clobbers = .{ .eflags = true },23208 .clobbers = .{ .eflags = true },
19497 .each = .{ .once = &.{23209 .each = .{ .once = &.{
19498 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19519,7 +23231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19519,7 +23231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19519 .unused,23231 .unused,
19520 .unused,23232 .unused,
19521 },23233 },
19522 .dst_temps = .{.mem},23234 .dst_temps = .{ .mem, .unused },
19523 .clobbers = .{ .eflags = true },23235 .clobbers = .{ .eflags = true },
19524 .each = .{ .once = &.{23236 .each = .{ .once = &.{
19525 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23237 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19546,7 +23258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19546,7 +23258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19546 .unused,23258 .unused,
19547 .unused,23259 .unused,
19548 },23260 },
19549 .dst_temps = .{.mem},23261 .dst_temps = .{ .mem, .unused },
19550 .clobbers = .{ .eflags = true },23262 .clobbers = .{ .eflags = true },
19551 .each = .{ .once = &.{23263 .each = .{ .once = &.{
19552 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23264 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19572,7 +23284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19572,7 +23284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19572 .unused,23284 .unused,
19573 .unused,23285 .unused,
19574 },23286 },
19575 .dst_temps = .{.mem},23287 .dst_temps = .{ .mem, .unused },
19576 .clobbers = .{ .eflags = true },23288 .clobbers = .{ .eflags = true },
19577 .each = .{ .once = &.{23289 .each = .{ .once = &.{
19578 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23290 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19604,7 +23316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19604,7 +23316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19604 .{ .src = .{ .mut_mem, .none, .none } },23316 .{ .src = .{ .mut_mem, .none, .none } },
19605 .{ .src = .{ .to_mut_gpr, .none, .none } },23317 .{ .src = .{ .to_mut_gpr, .none, .none } },
19606 },23318 },
19607 .dst_temps = .{.{ .ref = .src0 }},23319 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19608 .each = .{ .once = &.{23320 .each = .{ .once = &.{
19609 .{ ._, ._, .not, .dst0b, ._, ._, ._ },23321 .{ ._, ._, .not, .dst0b, ._, ._, ._ },
19610 } },23322 } },
...@@ -19614,7 +23326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19614,7 +23326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19614 .{ .src = .{ .mut_mem, .none, .none } },23326 .{ .src = .{ .mut_mem, .none, .none } },
19615 .{ .src = .{ .to_mut_gpr, .none, .none } },23327 .{ .src = .{ .to_mut_gpr, .none, .none } },
19616 },23328 },
19617 .dst_temps = .{.{ .ref = .src0 }},23329 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19618 .clobbers = .{ .eflags = true },23330 .clobbers = .{ .eflags = true },
19619 .each = .{ .once = &.{23331 .each = .{ .once = &.{
19620 .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_umax), ._, ._ },23332 .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_umax), ._, ._ },
...@@ -19625,7 +23337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19625,7 +23337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19625 .{ .src = .{ .mut_mem, .none, .none } },23337 .{ .src = .{ .mut_mem, .none, .none } },
19626 .{ .src = .{ .to_mut_gpr, .none, .none } },23338 .{ .src = .{ .to_mut_gpr, .none, .none } },
19627 },23339 },
19628 .dst_temps = .{.{ .ref = .src0 }},23340 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19629 .each = .{ .once = &.{23341 .each = .{ .once = &.{
19630 .{ ._, ._, .not, .dst0w, ._, ._, ._ },23342 .{ ._, ._, .not, .dst0w, ._, ._, ._ },
19631 } },23343 } },
...@@ -19635,7 +23347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19635,7 +23347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19635 .{ .src = .{ .mut_mem, .none, .none } },23347 .{ .src = .{ .mut_mem, .none, .none } },
19636 .{ .src = .{ .to_mut_gpr, .none, .none } },23348 .{ .src = .{ .to_mut_gpr, .none, .none } },
19637 },23349 },
19638 .dst_temps = .{.{ .ref = .src0 }},23350 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19639 .clobbers = .{ .eflags = true },23351 .clobbers = .{ .eflags = true },
19640 .each = .{ .once = &.{23352 .each = .{ .once = &.{
19641 .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_umax), ._, ._ },23353 .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_umax), ._, ._ },
...@@ -19646,7 +23358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19646,7 +23358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19646 .{ .src = .{ .mut_mem, .none, .none } },23358 .{ .src = .{ .mut_mem, .none, .none } },
19647 .{ .src = .{ .to_mut_gpr, .none, .none } },23359 .{ .src = .{ .to_mut_gpr, .none, .none } },
19648 },23360 },
19649 .dst_temps = .{.{ .ref = .src0 }},23361 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19650 .each = .{ .once = &.{23362 .each = .{ .once = &.{
19651 .{ ._, ._, .not, .dst0d, ._, ._, ._ },23363 .{ ._, ._, .not, .dst0d, ._, ._, ._ },
19652 } },23364 } },
...@@ -19656,7 +23368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19656,7 +23368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19656 .{ .src = .{ .mut_mem, .none, .none } },23368 .{ .src = .{ .mut_mem, .none, .none } },
19657 .{ .src = .{ .to_mut_gpr, .none, .none } },23369 .{ .src = .{ .to_mut_gpr, .none, .none } },
19658 },23370 },
19659 .dst_temps = .{.{ .ref = .src0 }},23371 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19660 .clobbers = .{ .eflags = true },23372 .clobbers = .{ .eflags = true },
19661 .each = .{ .once = &.{23373 .each = .{ .once = &.{
19662 .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_umax), ._, ._ },23374 .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_umax), ._, ._ },
...@@ -19668,7 +23380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19668,7 +23380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19668 .{ .src = .{ .mut_mem, .none, .none } },23380 .{ .src = .{ .mut_mem, .none, .none } },
19669 .{ .src = .{ .to_mut_gpr, .none, .none } },23381 .{ .src = .{ .to_mut_gpr, .none, .none } },
19670 },23382 },
19671 .dst_temps = .{.{ .ref = .src0 }},23383 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19672 .each = .{ .once = &.{23384 .each = .{ .once = &.{
19673 .{ ._, ._, .not, .dst0q, ._, ._, ._ },23385 .{ ._, ._, .not, .dst0q, ._, ._, ._ },
19674 } },23386 } },
...@@ -19679,7 +23391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19679,7 +23391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19679 .{ .src = .{ .mem, .none, .none } },23391 .{ .src = .{ .mem, .none, .none } },
19680 .{ .src = .{ .to_gpr, .none, .none } },23392 .{ .src = .{ .to_gpr, .none, .none } },
19681 },23393 },
19682 .dst_temps = .{.{ .rc = .general_purpose }},23394 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
19683 .each = .{ .once = &.{23395 .each = .{ .once = &.{
19684 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },23396 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
19685 .{ ._, ._, .xor, .dst0q, .src0q, ._, ._ },23397 .{ ._, ._, .xor, .dst0q, .src0q, ._, ._ },
...@@ -19691,7 +23403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19691,7 +23403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19691 .{ .src = .{ .mem, .none, .none } },23403 .{ .src = .{ .mem, .none, .none } },
19692 .{ .src = .{ .to_mm, .none, .none } },23404 .{ .src = .{ .to_mm, .none, .none } },
19693 },23405 },
19694 .dst_temps = .{.{ .rc = .mmx }},23406 .dst_temps = .{ .{ .rc = .mmx }, .unused },
19695 .each = .{ .once = &.{23407 .each = .{ .once = &.{
19696 .{ ._, .p_d, .cmpeq, .dst0q, .dst0q, ._, ._ },23408 .{ ._, .p_d, .cmpeq, .dst0q, .dst0q, ._, ._ },
19697 .{ ._, .p_, .xor, .dst0q, .src0q, ._, ._ },23409 .{ ._, .p_, .xor, .dst0q, .src0q, ._, ._ },
...@@ -19713,7 +23425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19713,7 +23425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19713 .unused,23425 .unused,
19714 .unused,23426 .unused,
19715 },23427 },
19716 .dst_temps = .{.{ .ref = .src0 }},23428 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19717 .each = .{ .once = &.{23429 .each = .{ .once = &.{
19718 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },23430 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
19719 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },23431 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },
...@@ -19725,7 +23437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19725,7 +23437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19725 .{ .src = .{ .mem, .none, .none } },23437 .{ .src = .{ .mem, .none, .none } },
19726 .{ .src = .{ .to_xmm, .none, .none } },23438 .{ .src = .{ .to_xmm, .none, .none } },
19727 },23439 },
19728 .dst_temps = .{.{ .rc = .sse }},23440 .dst_temps = .{ .{ .rc = .sse }, .unused },
19729 .each = .{ .once = &.{23441 .each = .{ .once = &.{
19730 .{ ._, .vp_q, .cmpeq, .dst0x, .dst0x, .dst0x, ._ },23442 .{ ._, .vp_q, .cmpeq, .dst0x, .dst0x, .dst0x, ._ },
19731 .{ ._, .vp_, .xor, .dst0x, .dst0x, .src0x, ._ },23443 .{ ._, .vp_, .xor, .dst0x, .dst0x, .src0x, ._ },
...@@ -19747,7 +23459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19747,7 +23459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19747 .unused,23459 .unused,
19748 .unused,23460 .unused,
19749 },23461 },
19750 .dst_temps = .{.{ .rc = .sse }},23462 .dst_temps = .{ .{ .rc = .sse }, .unused },
19751 .each = .{ .once = &.{23463 .each = .{ .once = &.{
19752 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },23464 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
19753 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },23465 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -19759,7 +23471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19759,7 +23471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19759 .{ .src = .{ .mem, .none, .none } },23471 .{ .src = .{ .mem, .none, .none } },
19760 .{ .src = .{ .to_xmm, .none, .none } },23472 .{ .src = .{ .to_xmm, .none, .none } },
19761 },23473 },
19762 .dst_temps = .{.{ .rc = .sse }},23474 .dst_temps = .{ .{ .rc = .sse }, .unused },
19763 .each = .{ .once = &.{23475 .each = .{ .once = &.{
19764 .{ ._, .p_d, .cmpeq, .dst0x, .dst0x, ._, ._ },23476 .{ ._, .p_d, .cmpeq, .dst0x, .dst0x, ._, ._ },
19765 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },23477 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },
...@@ -19781,7 +23493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19781,7 +23493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19781 .unused,23493 .unused,
19782 .unused,23494 .unused,
19783 },23495 },
19784 .dst_temps = .{.{ .ref = .src0 }},23496 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19785 .each = .{ .once = &.{23497 .each = .{ .once = &.{
19786 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },23498 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
19787 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },23499 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -19803,7 +23515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19803,7 +23515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19803 .unused,23515 .unused,
19804 .unused,23516 .unused,
19805 },23517 },
19806 .dst_temps = .{.{ .ref = .src0 }},23518 .dst_temps = .{ .{ .ref = .src0 }, .unused },
19807 .each = .{ .once = &.{23519 .each = .{ .once = &.{
19808 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },23520 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
19809 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },23521 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -19815,7 +23527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19815,7 +23527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19815 .{ .src = .{ .mem, .none, .none } },23527 .{ .src = .{ .mem, .none, .none } },
19816 .{ .src = .{ .to_ymm, .none, .none } },23528 .{ .src = .{ .to_ymm, .none, .none } },
19817 },23529 },
19818 .dst_temps = .{.{ .rc = .sse }},23530 .dst_temps = .{ .{ .rc = .sse }, .unused },
19819 .each = .{ .once = &.{23531 .each = .{ .once = &.{
19820 .{ ._, .vp_q, .cmpeq, .dst0y, .dst0y, .dst0y, ._ },23532 .{ ._, .vp_q, .cmpeq, .dst0y, .dst0y, .dst0y, ._ },
19821 .{ ._, .vp_, .xor, .dst0y, .dst0y, .src0y, ._ },23533 .{ ._, .vp_, .xor, .dst0y, .dst0y, .src0y, ._ },
...@@ -19837,7 +23549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19837,7 +23549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19837 .unused,23549 .unused,
19838 .unused,23550 .unused,
19839 },23551 },
19840 .dst_temps = .{.{ .rc = .sse }},23552 .dst_temps = .{ .{ .rc = .sse }, .unused },
19841 .each = .{ .once = &.{23553 .each = .{ .once = &.{
19842 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },23554 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
19843 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },23555 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -19849,7 +23561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19849,7 +23561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19849 .{ .src = .{ .mem, .none, .none } },23561 .{ .src = .{ .mem, .none, .none } },
19850 .{ .src = .{ .to_ymm, .none, .none } },23562 .{ .src = .{ .to_ymm, .none, .none } },
19851 },23563 },
19852 .dst_temps = .{.{ .rc = .sse }},23564 .dst_temps = .{ .{ .rc = .sse }, .unused },
19853 .each = .{ .once = &.{23565 .each = .{ .once = &.{
19854 .{ ._, .v_pd, .cmp, .dst0y, .dst0y, .dst0y, .vp(.true) },23566 .{ ._, .v_pd, .cmp, .dst0y, .dst0y, .dst0y, .vp(.true) },
19855 .{ ._, .v_pd, .xor, .dst0y, .dst0y, .src0y, ._ },23567 .{ ._, .v_pd, .xor, .dst0y, .dst0y, .src0y, ._ },
...@@ -19871,7 +23583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19871,7 +23583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19871 .unused,23583 .unused,
19872 .unused,23584 .unused,
19873 },23585 },
19874 .dst_temps = .{.{ .rc = .sse }},23586 .dst_temps = .{ .{ .rc = .sse }, .unused },
19875 .each = .{ .once = &.{23587 .each = .{ .once = &.{
19876 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },23588 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
19877 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },23589 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -19893,7 +23605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19893,7 +23605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19893 .unused,23605 .unused,
19894 .unused,23606 .unused,
19895 },23607 },
19896 .dst_temps = .{.mem},23608 .dst_temps = .{ .mem, .unused },
19897 .clobbers = .{ .eflags = true },23609 .clobbers = .{ .eflags = true },
19898 .each = .{ .once = &.{23610 .each = .{ .once = &.{
19899 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },23611 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -19922,7 +23634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19922,7 +23634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19922 .unused,23634 .unused,
19923 .unused,23635 .unused,
19924 },23636 },
19925 .dst_temps = .{.mem},23637 .dst_temps = .{ .mem, .unused },
19926 .clobbers = .{ .eflags = true },23638 .clobbers = .{ .eflags = true },
19927 .each = .{ .once = &.{23639 .each = .{ .once = &.{
19928 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23640 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -19949,7 +23661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19949,7 +23661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19949 .unused,23661 .unused,
19950 .unused,23662 .unused,
19951 },23663 },
19952 .dst_temps = .{.mem},23664 .dst_temps = .{ .mem, .unused },
19953 .clobbers = .{ .eflags = true },23665 .clobbers = .{ .eflags = true },
19954 .each = .{ .once = &.{23666 .each = .{ .once = &.{
19955 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },23667 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -19978,7 +23690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19978,7 +23690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19978 .unused,23690 .unused,
19979 .unused,23691 .unused,
19980 },23692 },
19981 .dst_temps = .{.mem},23693 .dst_temps = .{ .mem, .unused },
19982 .clobbers = .{ .eflags = true },23694 .clobbers = .{ .eflags = true },
19983 .each = .{ .once = &.{23695 .each = .{ .once = &.{
19984 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -20005,7 +23717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20005,7 +23717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20005 .unused,23717 .unused,
20006 .unused,23718 .unused,
20007 },23719 },
20008 .dst_temps = .{.mem},23720 .dst_temps = .{ .mem, .unused },
20009 .clobbers = .{ .eflags = true },23721 .clobbers = .{ .eflags = true },
20010 .each = .{ .once = &.{23722 .each = .{ .once = &.{
20011 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -20032,7 +23744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20032,7 +23744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20032 .unused,23744 .unused,
20033 .unused,23745 .unused,
20034 },23746 },
20035 .dst_temps = .{.mem},23747 .dst_temps = .{ .mem, .unused },
20036 .clobbers = .{ .eflags = true },23748 .clobbers = .{ .eflags = true },
20037 .each = .{ .once = &.{23749 .each = .{ .once = &.{
20038 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23750 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -20060,7 +23772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20060,7 +23772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20060 .unused,23772 .unused,
20061 .unused,23773 .unused,
20062 },23774 },
20063 .dst_temps = .{.{ .ref = .src0 }},23775 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20064 .clobbers = .{ .eflags = true },23776 .clobbers = .{ .eflags = true },
20065 .each = .{ .once = &.{23777 .each = .{ .once = &.{
20066 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23778 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -20086,7 +23798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20086,7 +23798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20086 .unused,23798 .unused,
20087 .unused,23799 .unused,
20088 },23800 },
20089 .dst_temps = .{.mem},23801 .dst_temps = .{ .mem, .unused },
20090 .clobbers = .{ .eflags = true },23802 .clobbers = .{ .eflags = true },
20091 .each = .{ .once = &.{23803 .each = .{ .once = &.{
20092 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23804 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -20113,7 +23825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20113,7 +23825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20113 .unused,23825 .unused,
20114 .unused,23826 .unused,
20115 },23827 },
20116 .dst_temps = .{.{ .ref = .src0 }},23828 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20117 .clobbers = .{ .eflags = true },23829 .clobbers = .{ .eflags = true },
20118 .each = .{ .once = &.{23830 .each = .{ .once = &.{
20119 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },23831 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20140,7 +23852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20140,7 +23852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20140 .unused,23852 .unused,
20141 .unused,23853 .unused,
20142 },23854 },
20143 .dst_temps = .{.mem},23855 .dst_temps = .{ .mem, .unused },
20144 .clobbers = .{ .eflags = true },23856 .clobbers = .{ .eflags = true },
20145 .each = .{ .once = &.{23857 .each = .{ .once = &.{
20146 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },23858 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20172,7 +23884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20172,7 +23884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20172 .unused,23884 .unused,
20173 .unused,23885 .unused,
20174 },23886 },
20175 .dst_temps = .{.{ .ref = .src0 }},23887 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20176 .clobbers = .{ .eflags = true },23888 .clobbers = .{ .eflags = true },
20177 .each = .{ .once = &.{23889 .each = .{ .once = &.{
20178 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },23890 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20199,7 +23911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20199,7 +23911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20199 .unused,23911 .unused,
20200 .unused,23912 .unused,
20201 },23913 },
20202 .dst_temps = .{.mem},23914 .dst_temps = .{ .mem, .unused },
20203 .clobbers = .{ .eflags = true },23915 .clobbers = .{ .eflags = true },
20204 .each = .{ .once = &.{23916 .each = .{ .once = &.{
20205 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },23917 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20227,7 +23939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20227,7 +23939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20227 .unused,23939 .unused,
20228 .unused,23940 .unused,
20229 },23941 },
20230 .dst_temps = .{.{ .ref = .src0 }},23942 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20231 .clobbers = .{ .eflags = true },23943 .clobbers = .{ .eflags = true },
20232 .each = .{ .once = &.{23944 .each = .{ .once = &.{
20233 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },23945 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20253,7 +23965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20253,7 +23965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20253 .unused,23965 .unused,
20254 .unused,23966 .unused,
20255 },23967 },
20256 .dst_temps = .{.mem},23968 .dst_temps = .{ .mem, .unused },
20257 .clobbers = .{ .eflags = true },23969 .clobbers = .{ .eflags = true },
20258 .each = .{ .once = &.{23970 .each = .{ .once = &.{
20259 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },23971 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20284,7 +23996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20284,7 +23996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20284 .unused,23996 .unused,
20285 .unused,23997 .unused,
20286 },23998 },
20287 .dst_temps = .{.{ .ref = .src0 }},23999 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20288 .clobbers = .{ .eflags = true },24000 .clobbers = .{ .eflags = true },
20289 .each = .{ .once = &.{24001 .each = .{ .once = &.{
20290 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },24002 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20311,7 +24023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20311,7 +24023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20311 .unused,24023 .unused,
20312 .unused,24024 .unused,
20313 },24025 },
20314 .dst_temps = .{.mem},24026 .dst_temps = .{ .mem, .unused },
20315 .clobbers = .{ .eflags = true },24027 .clobbers = .{ .eflags = true },
20316 .each = .{ .once = &.{24028 .each = .{ .once = &.{
20317 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },24029 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20343,7 +24055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20343,7 +24055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20343 .unused,24055 .unused,
20344 .unused,24056 .unused,
20345 },24057 },
20346 .dst_temps = .{.{ .ref = .src0 }},24058 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20347 .clobbers = .{ .eflags = true },24059 .clobbers = .{ .eflags = true },
20348 .each = .{ .once = &.{24060 .each = .{ .once = &.{
20349 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },24061 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20369,7 +24081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20369,7 +24081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20369 .unused,24081 .unused,
20370 .unused,24082 .unused,
20371 },24083 },
20372 .dst_temps = .{.mem},24084 .dst_temps = .{ .mem, .unused },
20373 .clobbers = .{ .eflags = true },24085 .clobbers = .{ .eflags = true },
20374 .each = .{ .once = &.{24086 .each = .{ .once = &.{
20375 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },24087 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20400,7 +24112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20400,7 +24112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20400 .unused,24112 .unused,
20401 .unused,24113 .unused,
20402 },24114 },
20403 .dst_temps = .{.{ .ref = .src0 }},24115 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20404 .clobbers = .{ .eflags = true },24116 .clobbers = .{ .eflags = true },
20405 .each = .{ .once = &.{24117 .each = .{ .once = &.{
20406 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },24118 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20428,7 +24140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20428,7 +24140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20428 .unused,24140 .unused,
20429 .unused,24141 .unused,
20430 },24142 },
20431 .dst_temps = .{.mem},24143 .dst_temps = .{ .mem, .unused },
20432 .clobbers = .{ .eflags = true },24144 .clobbers = .{ .eflags = true },
20433 .each = .{ .once = &.{24145 .each = .{ .once = &.{
20434 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },24146 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -20459,7 +24171,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20459,7 +24171,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20459 .unused,24171 .unused,
20460 .unused,24172 .unused,
20461 },24173 },
20462 .dst_temps = .{.{ .ref = .src0 }},24174 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20463 .clobbers = .{ .eflags = true },24175 .clobbers = .{ .eflags = true },
20464 .each = .{ .once = &.{24176 .each = .{ .once = &.{
20465 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },24177 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20486,7 +24198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20486,7 +24198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20486 .unused,24198 .unused,
20487 .unused,24199 .unused,
20488 },24200 },
20489 .dst_temps = .{.mem},24201 .dst_temps = .{ .mem, .unused },
20490 .clobbers = .{ .eflags = true },24202 .clobbers = .{ .eflags = true },
20491 .each = .{ .once = &.{24203 .each = .{ .once = &.{
20492 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },24204 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
...@@ -20506,7 +24218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20506,7 +24218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20506 .{ .src = .{ .mem, .none, .none } },24218 .{ .src = .{ .mem, .none, .none } },
20507 .{ .src = .{ .to_mm, .none, .none } },24219 .{ .src = .{ .to_mm, .none, .none } },
20508 },24220 },
20509 .dst_temps = .{.{ .rc = .mmx }},24221 .dst_temps = .{ .{ .rc = .mmx }, .unused },
20510 .each = .{ .once = &.{24222 .each = .{ .once = &.{
20511 .{ ._, .p_d, .cmpeq, .dst0q, .dst0q, ._, ._ },24223 .{ ._, .p_d, .cmpeq, .dst0q, .dst0q, ._, ._ },
20512 .{ ._, .p_, .xor, .dst0q, .src0q, ._, ._ },24224 .{ ._, .p_, .xor, .dst0q, .src0q, ._, ._ },
...@@ -20528,7 +24240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20528,7 +24240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20528 .unused,24240 .unused,
20529 .unused,24241 .unused,
20530 },24242 },
20531 .dst_temps = .{.{ .ref = .src0 }},24243 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20532 .each = .{ .once = &.{24244 .each = .{ .once = &.{
20533 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },24245 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20534 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },24246 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },
...@@ -20540,7 +24252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20540,7 +24252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20540 .{ .src = .{ .mem, .none, .none } },24252 .{ .src = .{ .mem, .none, .none } },
20541 .{ .src = .{ .to_xmm, .none, .none } },24253 .{ .src = .{ .to_xmm, .none, .none } },
20542 },24254 },
20543 .dst_temps = .{.{ .rc = .sse }},24255 .dst_temps = .{ .{ .rc = .sse }, .unused },
20544 .each = .{ .once = &.{24256 .each = .{ .once = &.{
20545 .{ ._, .vp_q, .cmpeq, .dst0x, .dst0x, .dst0x, ._ },24257 .{ ._, .vp_q, .cmpeq, .dst0x, .dst0x, .dst0x, ._ },
20546 .{ ._, .vp_, .xor, .dst0x, .dst0x, .src0x, ._ },24258 .{ ._, .vp_, .xor, .dst0x, .dst0x, .src0x, ._ },
...@@ -20562,7 +24274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20562,7 +24274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20562 .unused,24274 .unused,
20563 .unused,24275 .unused,
20564 },24276 },
20565 .dst_temps = .{.{ .rc = .sse }},24277 .dst_temps = .{ .{ .rc = .sse }, .unused },
20566 .each = .{ .once = &.{24278 .each = .{ .once = &.{
20567 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },24279 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20568 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },24280 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -20574,7 +24286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20574,7 +24286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20574 .{ .src = .{ .mem, .none, .none } },24286 .{ .src = .{ .mem, .none, .none } },
20575 .{ .src = .{ .to_xmm, .none, .none } },24287 .{ .src = .{ .to_xmm, .none, .none } },
20576 },24288 },
20577 .dst_temps = .{.{ .rc = .sse }},24289 .dst_temps = .{ .{ .rc = .sse }, .unused },
20578 .each = .{ .once = &.{24290 .each = .{ .once = &.{
20579 .{ ._, .p_d, .cmpeq, .dst0x, .dst0x, ._, ._ },24291 .{ ._, .p_d, .cmpeq, .dst0x, .dst0x, ._, ._ },
20580 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },24292 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },
...@@ -20596,7 +24308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20596,7 +24308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20596 .unused,24308 .unused,
20597 .unused,24309 .unused,
20598 },24310 },
20599 .dst_temps = .{.{ .ref = .src0 }},24311 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20600 .each = .{ .once = &.{24312 .each = .{ .once = &.{
20601 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },24313 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20602 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },24314 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -20618,7 +24330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20618,7 +24330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20618 .unused,24330 .unused,
20619 .unused,24331 .unused,
20620 },24332 },
20621 .dst_temps = .{.{ .ref = .src0 }},24333 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20622 .each = .{ .once = &.{24334 .each = .{ .once = &.{
20623 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },24335 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20624 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },24336 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -20630,7 +24342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20630,7 +24342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20630 .{ .src = .{ .mem, .none, .none } },24342 .{ .src = .{ .mem, .none, .none } },
20631 .{ .src = .{ .to_ymm, .none, .none } },24343 .{ .src = .{ .to_ymm, .none, .none } },
20632 },24344 },
20633 .dst_temps = .{.{ .rc = .sse }},24345 .dst_temps = .{ .{ .rc = .sse }, .unused },
20634 .each = .{ .once = &.{24346 .each = .{ .once = &.{
20635 .{ ._, .vp_q, .cmpeq, .dst0y, .dst0y, .dst0y, ._ },24347 .{ ._, .vp_q, .cmpeq, .dst0y, .dst0y, .dst0y, ._ },
20636 .{ ._, .vp_, .xor, .dst0y, .dst0y, .src0y, ._ },24348 .{ ._, .vp_, .xor, .dst0y, .dst0y, .src0y, ._ },
...@@ -20652,7 +24364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20652,7 +24364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20652 .unused,24364 .unused,
20653 .unused,24365 .unused,
20654 },24366 },
20655 .dst_temps = .{.{ .rc = .sse }},24367 .dst_temps = .{ .{ .rc = .sse }, .unused },
20656 .each = .{ .once = &.{24368 .each = .{ .once = &.{
20657 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },24369 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20658 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },24370 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -20664,7 +24376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20664,7 +24376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20664 .{ .src = .{ .mem, .none, .none } },24376 .{ .src = .{ .mem, .none, .none } },
20665 .{ .src = .{ .to_ymm, .none, .none } },24377 .{ .src = .{ .to_ymm, .none, .none } },
20666 },24378 },
20667 .dst_temps = .{.{ .rc = .sse }},24379 .dst_temps = .{ .{ .rc = .sse }, .unused },
20668 .each = .{ .once = &.{24380 .each = .{ .once = &.{
20669 .{ ._, .v_pd, .cmp, .dst0y, .dst0y, .dst0y, .vp(.true) },24381 .{ ._, .v_pd, .cmp, .dst0y, .dst0y, .dst0y, .vp(.true) },
20670 .{ ._, .v_pd, .xor, .dst0y, .dst0y, .src0y, ._ },24382 .{ ._, .v_pd, .xor, .dst0y, .dst0y, .src0y, ._ },
...@@ -20686,7 +24398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20686,7 +24398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20686 .unused,24398 .unused,
20687 .unused,24399 .unused,
20688 },24400 },
20689 .dst_temps = .{.{ .rc = .sse }},24401 .dst_temps = .{ .{ .rc = .sse }, .unused },
20690 .each = .{ .once = &.{24402 .each = .{ .once = &.{
20691 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },24403 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20692 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },24404 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -20707,7 +24419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20707,7 +24419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20707 .unused,24419 .unused,
20708 .unused,24420 .unused,
20709 },24421 },
20710 .dst_temps = .{.mem},24422 .dst_temps = .{ .mem, .unused },
20711 .each = .{ .once = &.{24423 .each = .{ .once = &.{
20712 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },24424 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
20713 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },24425 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
...@@ -20733,7 +24445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20733,7 +24445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20733 .unused,24445 .unused,
20734 .unused,24446 .unused,
20735 },24447 },
20736 .dst_temps = .{.mem},24448 .dst_temps = .{ .mem, .unused },
20737 .each = .{ .once = &.{24449 .each = .{ .once = &.{
20738 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },24450 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
20739 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },24451 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
...@@ -20815,7 +24527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20815,7 +24527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20815 .{ .src = .{ .mut_mem, .none, .none } },24527 .{ .src = .{ .mut_mem, .none, .none } },
20816 .{ .src = .{ .to_mut_gpr, .none, .none } },24528 .{ .src = .{ .to_mut_gpr, .none, .none } },
20817 },24529 },
20818 .dst_temps = .{.{ .ref = .src0 }},24530 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20819 .clobbers = .{ .eflags = true },24531 .clobbers = .{ .eflags = true },
20820 .each = .{ .once = &.{24532 .each = .{ .once = &.{
20821 .{ ._, ._, .add, .dst0b, .si(1), ._, ._ },24533 .{ ._, ._, .add, .dst0b, .si(1), ._, ._ },
...@@ -20826,7 +24538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20826,7 +24538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20826 .{ .src = .{ .mut_mem, .none, .none } },24538 .{ .src = .{ .mut_mem, .none, .none } },
20827 .{ .src = .{ .to_mut_gpr, .none, .none } },24539 .{ .src = .{ .to_mut_gpr, .none, .none } },
20828 },24540 },
20829 .dst_temps = .{.{ .ref = .src0 }},24541 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20830 .clobbers = .{ .eflags = true },24542 .clobbers = .{ .eflags = true },
20831 .each = .{ .once = &.{24543 .each = .{ .once = &.{
20832 .{ ._, ._c, .in, .dst0b, ._, ._, ._ },24544 .{ ._, ._c, .in, .dst0b, ._, ._, ._ },
...@@ -20837,7 +24549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20837,7 +24549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20837 .{ .src = .{ .mut_mem, .none, .none } },24549 .{ .src = .{ .mut_mem, .none, .none } },
20838 .{ .src = .{ .to_mut_gpr, .none, .none } },24550 .{ .src = .{ .to_mut_gpr, .none, .none } },
20839 },24551 },
20840 .dst_temps = .{.{ .ref = .src0 }},24552 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20841 .clobbers = .{ .eflags = true },24553 .clobbers = .{ .eflags = true },
20842 .each = .{ .once = &.{24554 .each = .{ .once = &.{
20843 .{ ._, ._, .xor, .dst0b, .si(1), ._, ._ },24555 .{ ._, ._, .xor, .dst0b, .si(1), ._, ._ },
...@@ -20849,7 +24561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20849,7 +24561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20849 .{ .src = .{ .mem, .none, .none } },24561 .{ .src = .{ .mem, .none, .none } },
20850 .{ .src = .{ .to_gpr, .none, .none } },24562 .{ .src = .{ .to_gpr, .none, .none } },
20851 },24563 },
20852 .dst_temps = .{.{ .rc = .general_purpose }},24564 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
20853 .clobbers = .{ .eflags = true },24565 .clobbers = .{ .eflags = true },
20854 .each = .{ .once = &.{24566 .each = .{ .once = &.{
20855 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },24567 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -20863,7 +24575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20863,7 +24575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20863 .{ .src = .{ .mem, .none, .none } },24575 .{ .src = .{ .mem, .none, .none } },
20864 .{ .src = .{ .to_gpr, .none, .none } },24576 .{ .src = .{ .to_gpr, .none, .none } },
20865 },24577 },
20866 .dst_temps = .{.{ .rc = .general_purpose }},24578 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
20867 .clobbers = .{ .eflags = true },24579 .clobbers = .{ .eflags = true },
20868 .each = .{ .once = &.{24580 .each = .{ .once = &.{
20869 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },24581 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -20877,7 +24589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20877,7 +24589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20877 .patterns = &.{24589 .patterns = &.{
20878 .{ .src = .{ .to_mut_gpr, .none, .none } },24590 .{ .src = .{ .to_mut_gpr, .none, .none } },
20879 },24591 },
20880 .dst_temps = .{.{ .ref = .src0 }},24592 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20881 .clobbers = .{ .eflags = true },24593 .clobbers = .{ .eflags = true },
20882 .each = .{ .once = &.{24594 .each = .{ .once = &.{
20883 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },24595 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
...@@ -20889,7 +24601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20889,7 +24601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20889 .{ .src = .{ .mem, .none, .none } },24601 .{ .src = .{ .mem, .none, .none } },
20890 .{ .src = .{ .to_gpr, .none, .none } },24602 .{ .src = .{ .to_gpr, .none, .none } },
20891 },24603 },
20892 .dst_temps = .{.{ .rc = .general_purpose }},24604 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
20893 .clobbers = .{ .eflags = true },24605 .clobbers = .{ .eflags = true },
20894 .each = .{ .once = &.{24606 .each = .{ .once = &.{
20895 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },24607 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
...@@ -20900,7 +24612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20900,7 +24612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20900 .patterns = &.{24612 .patterns = &.{
20901 .{ .src = .{ .to_mut_gpr, .none, .none } },24613 .{ .src = .{ .to_mut_gpr, .none, .none } },
20902 },24614 },
20903 .dst_temps = .{.{ .ref = .src0 }},24615 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20904 .clobbers = .{ .eflags = true },24616 .clobbers = .{ .eflags = true },
20905 .each = .{ .once = &.{24617 .each = .{ .once = &.{
20906 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },24618 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
...@@ -20913,7 +24625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20913,7 +24625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20913 .patterns = &.{24625 .patterns = &.{
20914 .{ .src = .{ .to_mut_gpr, .none, .none } },24626 .{ .src = .{ .to_mut_gpr, .none, .none } },
20915 },24627 },
20916 .dst_temps = .{.{ .ref = .src0 }},24628 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20917 .clobbers = .{ .eflags = true },24629 .clobbers = .{ .eflags = true },
20918 .each = .{ .once = &.{24630 .each = .{ .once = &.{
20919 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },24631 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
...@@ -20926,7 +24638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20926,7 +24638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20926 .{ .src = .{ .mem, .none, .none } },24638 .{ .src = .{ .mem, .none, .none } },
20927 .{ .src = .{ .to_gpr, .none, .none } },24639 .{ .src = .{ .to_gpr, .none, .none } },
20928 },24640 },
20929 .dst_temps = .{.{ .rc = .general_purpose }},24641 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
20930 .clobbers = .{ .eflags = true },24642 .clobbers = .{ .eflags = true },
20931 .each = .{ .once = &.{24643 .each = .{ .once = &.{
20932 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },24644 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
...@@ -20938,7 +24650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20938,7 +24650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20938 .patterns = &.{24650 .patterns = &.{
20939 .{ .src = .{ .to_mut_gpr, .none, .none } },24651 .{ .src = .{ .to_mut_gpr, .none, .none } },
20940 },24652 },
20941 .dst_temps = .{.{ .ref = .src0 }},24653 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20942 .clobbers = .{ .eflags = true },24654 .clobbers = .{ .eflags = true },
20943 .each = .{ .once = &.{24655 .each = .{ .once = &.{
20944 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },24656 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
...@@ -20950,7 +24662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20950,7 +24662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20950 .{ .src = .{ .mem, .none, .none } },24662 .{ .src = .{ .mem, .none, .none } },
20951 .{ .src = .{ .to_gpr, .none, .none } },24663 .{ .src = .{ .to_gpr, .none, .none } },
20952 },24664 },
20953 .dst_temps = .{.{ .rc = .general_purpose }},24665 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
20954 .clobbers = .{ .eflags = true },24666 .clobbers = .{ .eflags = true },
20955 .each = .{ .once = &.{24667 .each = .{ .once = &.{
20956 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },24668 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
...@@ -20961,7 +24673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20961,7 +24673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20961 .patterns = &.{24673 .patterns = &.{
20962 .{ .src = .{ .to_mut_gpr, .none, .none } },24674 .{ .src = .{ .to_mut_gpr, .none, .none } },
20963 },24675 },
20964 .dst_temps = .{.{ .ref = .src0 }},24676 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20965 .clobbers = .{ .eflags = true },24677 .clobbers = .{ .eflags = true },
20966 .each = .{ .once = &.{24678 .each = .{ .once = &.{
20967 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },24679 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
...@@ -20974,7 +24686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20974,7 +24686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20974 .patterns = &.{24686 .patterns = &.{
20975 .{ .src = .{ .to_mut_gpr, .none, .none } },24687 .{ .src = .{ .to_mut_gpr, .none, .none } },
20976 },24688 },
20977 .dst_temps = .{.{ .ref = .src0 }},24689 .dst_temps = .{ .{ .ref = .src0 }, .unused },
20978 .clobbers = .{ .eflags = true },24690 .clobbers = .{ .eflags = true },
20979 .each = .{ .once = &.{24691 .each = .{ .once = &.{
20980 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },24692 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
...@@ -20987,7 +24699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20987,7 +24699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20987 .{ .src = .{ .mem, .none, .none } },24699 .{ .src = .{ .mem, .none, .none } },
20988 .{ .src = .{ .to_gpr, .none, .none } },24700 .{ .src = .{ .to_gpr, .none, .none } },
20989 },24701 },
20990 .dst_temps = .{.{ .rc = .general_purpose }},24702 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
20991 .clobbers = .{ .eflags = true },24703 .clobbers = .{ .eflags = true },
20992 .each = .{ .once = &.{24704 .each = .{ .once = &.{
20993 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },24705 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
...@@ -20999,7 +24711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20999,7 +24711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20999 .patterns = &.{24711 .patterns = &.{
21000 .{ .src = .{ .to_mut_gpr, .none, .none } },24712 .{ .src = .{ .to_mut_gpr, .none, .none } },
21001 },24713 },
21002 .dst_temps = .{.{ .ref = .src0 }},24714 .dst_temps = .{ .{ .ref = .src0 }, .unused },
21003 .clobbers = .{ .eflags = true },24715 .clobbers = .{ .eflags = true },
21004 .each = .{ .once = &.{24716 .each = .{ .once = &.{
21005 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },24717 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
...@@ -21011,7 +24723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21011,7 +24723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21011 .{ .src = .{ .mem, .none, .none } },24723 .{ .src = .{ .mem, .none, .none } },
21012 .{ .src = .{ .to_gpr, .none, .none } },24724 .{ .src = .{ .to_gpr, .none, .none } },
21013 },24725 },
21014 .dst_temps = .{.{ .rc = .general_purpose }},24726 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21015 .clobbers = .{ .eflags = true },24727 .clobbers = .{ .eflags = true },
21016 .each = .{ .once = &.{24728 .each = .{ .once = &.{
21017 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },24729 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
...@@ -21023,7 +24735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21023,7 +24735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21023 .{ .src = .{ .mem, .none, .none } },24735 .{ .src = .{ .mem, .none, .none } },
21024 .{ .src = .{ .to_gpr, .none, .none } },24736 .{ .src = .{ .to_gpr, .none, .none } },
21025 },24737 },
21026 .dst_temps = .{.{ .rc = .general_purpose }},24738 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21027 .clobbers = .{ .eflags = true },24739 .clobbers = .{ .eflags = true },
21028 .each = .{ .once = &.{24740 .each = .{ .once = &.{
21029 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },24741 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
...@@ -21037,7 +24749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21037,7 +24749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21037 .patterns = &.{24749 .patterns = &.{
21038 .{ .src = .{ .to_mut_gpr, .none, .none } },24750 .{ .src = .{ .to_mut_gpr, .none, .none } },
21039 },24751 },
21040 .dst_temps = .{.{ .ref = .src0 }},24752 .dst_temps = .{ .{ .ref = .src0 }, .unused },
21041 .clobbers = .{ .eflags = true },24753 .clobbers = .{ .eflags = true },
21042 .each = .{ .once = &.{24754 .each = .{ .once = &.{
21043 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },24755 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
...@@ -21050,7 +24762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21050,7 +24762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21050 .{ .src = .{ .mem, .none, .none } },24762 .{ .src = .{ .mem, .none, .none } },
21051 .{ .src = .{ .to_gpr, .none, .none } },24763 .{ .src = .{ .to_gpr, .none, .none } },
21052 },24764 },
21053 .dst_temps = .{.{ .rc = .general_purpose }},24765 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21054 .clobbers = .{ .eflags = true },24766 .clobbers = .{ .eflags = true },
21055 .each = .{ .once = &.{24767 .each = .{ .once = &.{
21056 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },24768 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
...@@ -21074,7 +24786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21074,7 +24786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21074 .unused,24786 .unused,
21075 .unused,24787 .unused,
21076 },24788 },
21077 .dst_temps = .{.{ .rc = .general_purpose }},24789 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21078 .clobbers = .{ .eflags = true },24790 .clobbers = .{ .eflags = true },
21079 .each = .{ .once = &.{24791 .each = .{ .once = &.{
21080 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },24792 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -21101,7 +24813,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21101,7 +24813,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21101 .unused,24813 .unused,
21102 .unused,24814 .unused,
21103 },24815 },
21104 .dst_temps = .{.{ .rc = .general_purpose }},24816 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21105 .clobbers = .{ .eflags = true },24817 .clobbers = .{ .eflags = true },
21106 .each = .{ .once = &.{24818 .each = .{ .once = &.{
21107 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },24819 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -21129,7 +24841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21129,7 +24841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21129 .unused,24841 .unused,
21130 .unused,24842 .unused,
21131 },24843 },
21132 .dst_temps = .{.{ .rc = .general_purpose }},24844 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21133 .clobbers = .{ .eflags = true },24845 .clobbers = .{ .eflags = true },
21134 .each = .{ .once = &.{24846 .each = .{ .once = &.{
21135 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },24847 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -21158,7 +24870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21158,7 +24870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21158 .unused,24870 .unused,
21159 .unused,24871 .unused,
21160 },24872 },
21161 .dst_temps = .{.{ .rc = .general_purpose }},24873 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21162 .clobbers = .{ .eflags = true },24874 .clobbers = .{ .eflags = true },
21163 .each = .{ .once = &.{24875 .each = .{ .once = &.{
21164 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },24876 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -21175,7 +24887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21175,7 +24887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21175 .{ .src = .{ .mem, .none, .none } },24887 .{ .src = .{ .mem, .none, .none } },
21176 .{ .src = .{ .to_gpr, .none, .none } },24888 .{ .src = .{ .to_gpr, .none, .none } },
21177 },24889 },
21178 .dst_temps = .{.{ .rc = .general_purpose }},24890 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21179 .clobbers = .{ .eflags = true },24891 .clobbers = .{ .eflags = true },
21180 .each = .{ .once = &.{24892 .each = .{ .once = &.{
21181 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },24893 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -21191,7 +24903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21191,7 +24903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21191 .{ .src = .{ .mem, .none, .none } },24903 .{ .src = .{ .mem, .none, .none } },
21192 .{ .src = .{ .to_gpr, .none, .none } },24904 .{ .src = .{ .to_gpr, .none, .none } },
21193 },24905 },
21194 .dst_temps = .{.{ .rc = .general_purpose }},24906 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21195 .clobbers = .{ .eflags = true },24907 .clobbers = .{ .eflags = true },
21196 .each = .{ .once = &.{24908 .each = .{ .once = &.{
21197 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },24909 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -21219,7 +24931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21219,7 +24931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21219 .unused,24931 .unused,
21220 .unused,24932 .unused,
21221 },24933 },
21222 .dst_temps = .{.{ .rc = .general_purpose }},24934 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21223 .clobbers = .{ .eflags = true },24935 .clobbers = .{ .eflags = true },
21224 .each = .{ .once = &.{24936 .each = .{ .once = &.{
21225 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },24937 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -21248,7 +24960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21248,7 +24960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21248 .unused,24960 .unused,
21249 .unused,24961 .unused,
21250 },24962 },
21251 .dst_temps = .{.{ .rc = .general_purpose }},24963 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21252 .clobbers = .{ .eflags = true },24964 .clobbers = .{ .eflags = true },
21253 .each = .{ .once = &.{24965 .each = .{ .once = &.{
21254 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },24966 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -21275,7 +24987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21275,7 +24987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21275 .unused,24987 .unused,
21276 .unused,24988 .unused,
21277 },24989 },
21278 .dst_temps = .{.{ .rc = .general_purpose }},24990 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21279 .clobbers = .{ .eflags = true },24991 .clobbers = .{ .eflags = true },
21280 .each = .{ .once = &.{24992 .each = .{ .once = &.{
21281 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },24993 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -21300,7 +25012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21300,7 +25012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21300 .unused,25012 .unused,
21301 .unused,25013 .unused,
21302 },25014 },
21303 .dst_temps = .{.{ .rc = .general_purpose }},25015 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21304 .clobbers = .{ .eflags = true },25016 .clobbers = .{ .eflags = true },
21305 .each = .{ .once = &.{25017 .each = .{ .once = &.{
21306 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },25018 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -21326,7 +25038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21326,7 +25038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21326 .unused,25038 .unused,
21327 .unused,25039 .unused,
21328 },25040 },
21329 .dst_temps = .{.{ .rc = .general_purpose }},25041 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21330 .clobbers = .{ .eflags = true },25042 .clobbers = .{ .eflags = true },
21331 .each = .{ .once = &.{25043 .each = .{ .once = &.{
21332 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },25044 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -21353,7 +25065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21353,7 +25065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21353 .unused,25065 .unused,
21354 .unused,25066 .unused,
21355 },25067 },
21356 .dst_temps = .{.{ .rc = .general_purpose }},25068 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21357 .clobbers = .{ .eflags = true },25069 .clobbers = .{ .eflags = true },
21358 .each = .{ .once = &.{25070 .each = .{ .once = &.{
21359 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },25071 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
...@@ -21368,7 +25080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21368,7 +25080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21368 .patterns = &.{25080 .patterns = &.{
21369 .{ .src = .{ .to_mut_gpr, .none, .none } },25081 .{ .src = .{ .to_mut_gpr, .none, .none } },
21370 },25082 },
21371 .dst_temps = .{.{ .rc = .general_purpose }},25083 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21372 .clobbers = .{ .eflags = true },25084 .clobbers = .{ .eflags = true },
21373 .each = .{ .once = &.{25085 .each = .{ .once = &.{
21374 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },25086 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
...@@ -21382,7 +25094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21382,7 +25094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21382 .patterns = &.{25094 .patterns = &.{
21383 .{ .src = .{ .to_mut_gpr, .none, .none } },25095 .{ .src = .{ .to_mut_gpr, .none, .none } },
21384 },25096 },
21385 .dst_temps = .{.{ .rc = .general_purpose }},25097 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21386 .clobbers = .{ .eflags = true },25098 .clobbers = .{ .eflags = true },
21387 .each = .{ .once = &.{25099 .each = .{ .once = &.{
21388 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },25100 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
...@@ -21398,7 +25110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21398,7 +25110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21398 .patterns = &.{25110 .patterns = &.{
21399 .{ .src = .{ .to_mut_gpr, .none, .none } },25111 .{ .src = .{ .to_mut_gpr, .none, .none } },
21400 },25112 },
21401 .dst_temps = .{.{ .rc = .general_purpose }},25113 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21402 .clobbers = .{ .eflags = true },25114 .clobbers = .{ .eflags = true },
21403 .each = .{ .once = &.{25115 .each = .{ .once = &.{
21404 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },25116 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
...@@ -21413,7 +25125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21413,7 +25125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21413 .patterns = &.{25125 .patterns = &.{
21414 .{ .src = .{ .to_mut_gpr, .none, .none } },25126 .{ .src = .{ .to_mut_gpr, .none, .none } },
21415 },25127 },
21416 .dst_temps = .{.{ .ref = .src0 }},25128 .dst_temps = .{ .{ .ref = .src0 }, .unused },
21417 .clobbers = .{ .eflags = true },25129 .clobbers = .{ .eflags = true },
21418 .each = .{ .once = &.{25130 .each = .{ .once = &.{
21419 .{ ._, ._r, .bs, .dst0w, .src0w, ._, ._ },25131 .{ ._, ._r, .bs, .dst0w, .src0w, ._, ._ },
...@@ -21427,7 +25139,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21427,7 +25139,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21427 .patterns = &.{25139 .patterns = &.{
21428 .{ .src = .{ .to_mut_gpr, .none, .none } },25140 .{ .src = .{ .to_mut_gpr, .none, .none } },
21429 },25141 },
21430 .dst_temps = .{.{ .rc = .general_purpose }},25142 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21431 .clobbers = .{ .eflags = true },25143 .clobbers = .{ .eflags = true },
21432 .each = .{ .once = &.{25144 .each = .{ .once = &.{
21433 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },25145 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
...@@ -21443,7 +25155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21443,7 +25155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21443 .patterns = &.{25155 .patterns = &.{
21444 .{ .src = .{ .to_mut_gpr, .none, .none } },25156 .{ .src = .{ .to_mut_gpr, .none, .none } },
21445 },25157 },
21446 .dst_temps = .{.{ .rc = .general_purpose }},25158 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21447 .clobbers = .{ .eflags = true },25159 .clobbers = .{ .eflags = true },
21448 .each = .{ .once = &.{25160 .each = .{ .once = &.{
21449 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },25161 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
...@@ -21458,7 +25170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21458,7 +25170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21458 .{ .src = .{ .mem, .none, .none } },25170 .{ .src = .{ .mem, .none, .none } },
21459 .{ .src = .{ .to_gpr, .none, .none } },25171 .{ .src = .{ .to_gpr, .none, .none } },
21460 },25172 },
21461 .dst_temps = .{.{ .rc = .general_purpose }},25173 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21462 .clobbers = .{ .eflags = true },25174 .clobbers = .{ .eflags = true },
21463 .each = .{ .once = &.{25175 .each = .{ .once = &.{
21464 .{ ._, ._, .mov, .dst0w, .sia(-1, .src0, .add_2_bit_size), ._, ._ },25176 .{ ._, ._, .mov, .dst0w, .sia(-1, .src0, .add_2_bit_size), ._, ._ },
...@@ -21481,7 +25193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21481,7 +25193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21481 .unused,25193 .unused,
21482 .unused,25194 .unused,
21483 },25195 },
21484 .dst_temps = .{.{ .rc = .general_purpose }},25196 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21485 .clobbers = .{ .eflags = true },25197 .clobbers = .{ .eflags = true },
21486 .each = .{ .once = &.{25198 .each = .{ .once = &.{
21487 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },25199 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
...@@ -21507,7 +25219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21507,7 +25219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21507 .unused,25219 .unused,
21508 .unused,25220 .unused,
21509 },25221 },
21510 .dst_temps = .{.{ .rc = .general_purpose }},25222 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21511 .clobbers = .{ .eflags = true },25223 .clobbers = .{ .eflags = true },
21512 .each = .{ .once = &.{25224 .each = .{ .once = &.{
21513 .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ },25225 .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ },
...@@ -21521,7 +25233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21521,7 +25233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21521 .patterns = &.{25233 .patterns = &.{
21522 .{ .src = .{ .to_mut_gpr, .none, .none } },25234 .{ .src = .{ .to_mut_gpr, .none, .none } },
21523 },25235 },
21524 .dst_temps = .{.{ .rc = .general_purpose }},25236 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21525 .clobbers = .{ .eflags = true },25237 .clobbers = .{ .eflags = true },
21526 .each = .{ .once = &.{25238 .each = .{ .once = &.{
21527 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },25239 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
...@@ -21535,7 +25247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21535,7 +25247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21535 .patterns = &.{25247 .patterns = &.{
21536 .{ .src = .{ .to_mut_gpr, .none, .none } },25248 .{ .src = .{ .to_mut_gpr, .none, .none } },
21537 },25249 },
21538 .dst_temps = .{.{ .rc = .general_purpose }},25250 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21539 .clobbers = .{ .eflags = true },25251 .clobbers = .{ .eflags = true },
21540 .each = .{ .once = &.{25252 .each = .{ .once = &.{
21541 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },25253 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
...@@ -21551,7 +25263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21551,7 +25263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21551 .patterns = &.{25263 .patterns = &.{
21552 .{ .src = .{ .to_mut_gpr, .none, .none } },25264 .{ .src = .{ .to_mut_gpr, .none, .none } },
21553 },25265 },
21554 .dst_temps = .{.{ .rc = .general_purpose }},25266 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21555 .clobbers = .{ .eflags = true },25267 .clobbers = .{ .eflags = true },
21556 .each = .{ .once = &.{25268 .each = .{ .once = &.{
21557 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },25269 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
...@@ -21566,7 +25278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21566,7 +25278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21566 .patterns = &.{25278 .patterns = &.{
21567 .{ .src = .{ .to_mut_gpr, .none, .none } },25279 .{ .src = .{ .to_mut_gpr, .none, .none } },
21568 },25280 },
21569 .dst_temps = .{.{ .ref = .src0 }},25281 .dst_temps = .{ .{ .ref = .src0 }, .unused },
21570 .clobbers = .{ .eflags = true },25282 .clobbers = .{ .eflags = true },
21571 .each = .{ .once = &.{25283 .each = .{ .once = &.{
21572 .{ ._, ._r, .bs, .dst0d, .src0d, ._, ._ },25284 .{ ._, ._r, .bs, .dst0d, .src0d, ._, ._ },
...@@ -21580,7 +25292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21580,7 +25292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21580 .patterns = &.{25292 .patterns = &.{
21581 .{ .src = .{ .to_mut_gpr, .none, .none } },25293 .{ .src = .{ .to_mut_gpr, .none, .none } },
21582 },25294 },
21583 .dst_temps = .{.{ .rc = .general_purpose }},25295 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21584 .clobbers = .{ .eflags = true },25296 .clobbers = .{ .eflags = true },
21585 .each = .{ .once = &.{25297 .each = .{ .once = &.{
21586 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },25298 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
...@@ -21596,7 +25308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21596,7 +25308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21596 .patterns = &.{25308 .patterns = &.{
21597 .{ .src = .{ .to_mut_gpr, .none, .none } },25309 .{ .src = .{ .to_mut_gpr, .none, .none } },
21598 },25310 },
21599 .dst_temps = .{.{ .rc = .general_purpose }},25311 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21600 .clobbers = .{ .eflags = true },25312 .clobbers = .{ .eflags = true },
21601 .each = .{ .once = &.{25313 .each = .{ .once = &.{
21602 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },25314 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
...@@ -21611,7 +25323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21611,7 +25323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21611 .{ .src = .{ .mem, .none, .none } },25323 .{ .src = .{ .mem, .none, .none } },
21612 .{ .src = .{ .to_gpr, .none, .none } },25324 .{ .src = .{ .to_gpr, .none, .none } },
21613 },25325 },
21614 .dst_temps = .{.{ .rc = .general_purpose }},25326 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21615 .clobbers = .{ .eflags = true },25327 .clobbers = .{ .eflags = true },
21616 .each = .{ .once = &.{25328 .each = .{ .once = &.{
21617 .{ ._, ._, .mov, .dst0d, .sia(-1, .src0, .add_2_bit_size), ._, ._ },25329 .{ ._, ._, .mov, .dst0d, .sia(-1, .src0, .add_2_bit_size), ._, ._ },
...@@ -21634,7 +25346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21634,7 +25346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21634 .unused,25346 .unused,
21635 .unused,25347 .unused,
21636 },25348 },
21637 .dst_temps = .{.{ .rc = .general_purpose }},25349 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21638 .clobbers = .{ .eflags = true },25350 .clobbers = .{ .eflags = true },
21639 .each = .{ .once = &.{25351 .each = .{ .once = &.{
21640 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },25352 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
...@@ -21660,7 +25372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21660,7 +25372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21660 .unused,25372 .unused,
21661 .unused,25373 .unused,
21662 },25374 },
21663 .dst_temps = .{.{ .rc = .general_purpose }},25375 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21664 .clobbers = .{ .eflags = true },25376 .clobbers = .{ .eflags = true },
21665 .each = .{ .once = &.{25377 .each = .{ .once = &.{
21666 .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },25378 .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
...@@ -21674,7 +25386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21674,7 +25386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21674 .patterns = &.{25386 .patterns = &.{
21675 .{ .src = .{ .to_mut_gpr, .none, .none } },25387 .{ .src = .{ .to_mut_gpr, .none, .none } },
21676 },25388 },
21677 .dst_temps = .{.{ .rc = .general_purpose }},25389 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21678 .clobbers = .{ .eflags = true },25390 .clobbers = .{ .eflags = true },
21679 .each = .{ .once = &.{25391 .each = .{ .once = &.{
21680 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },25392 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
...@@ -21700,7 +25412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21700,7 +25412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21700 .unused,25412 .unused,
21701 .unused,25413 .unused,
21702 },25414 },
21703 .dst_temps = .{.{ .rc = .general_purpose }},25415 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21704 .clobbers = .{ .eflags = true },25416 .clobbers = .{ .eflags = true },
21705 .each = .{ .once = &.{25417 .each = .{ .once = &.{
21706 .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },25418 .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
...@@ -21717,7 +25429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21717,7 +25429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21717 .patterns = &.{25429 .patterns = &.{
21718 .{ .src = .{ .to_mut_gpr, .none, .none } },25430 .{ .src = .{ .to_mut_gpr, .none, .none } },
21719 },25431 },
21720 .dst_temps = .{.{ .rc = .general_purpose }},25432 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21721 .clobbers = .{ .eflags = true },25433 .clobbers = .{ .eflags = true },
21722 .each = .{ .once = &.{25434 .each = .{ .once = &.{
21723 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },25435 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
...@@ -21732,7 +25444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21732,7 +25444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21732 .patterns = &.{25444 .patterns = &.{
21733 .{ .src = .{ .to_mut_gpr, .none, .none } },25445 .{ .src = .{ .to_mut_gpr, .none, .none } },
21734 },25446 },
21735 .dst_temps = .{.{ .ref = .src0 }},25447 .dst_temps = .{ .{ .ref = .src0 }, .unused },
21736 .clobbers = .{ .eflags = true },25448 .clobbers = .{ .eflags = true },
21737 .each = .{ .once = &.{25449 .each = .{ .once = &.{
21738 .{ ._, ._r, .bs, .dst0q, .src0q, ._, ._ },25450 .{ ._, ._r, .bs, .dst0q, .src0q, ._, ._ },
...@@ -21758,7 +25470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21758,7 +25470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21758 .unused,25470 .unused,
21759 .unused,25471 .unused,
21760 },25472 },
21761 .dst_temps = .{.{ .rc = .general_purpose }},25473 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21762 .clobbers = .{ .eflags = true },25474 .clobbers = .{ .eflags = true },
21763 .each = .{ .once = &.{25475 .each = .{ .once = &.{
21764 .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },25476 .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
...@@ -21775,7 +25487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21775,7 +25487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21775 .patterns = &.{25487 .patterns = &.{
21776 .{ .src = .{ .to_mut_gpr, .none, .none } },25488 .{ .src = .{ .to_mut_gpr, .none, .none } },
21777 },25489 },
21778 .dst_temps = .{.{ .rc = .general_purpose }},25490 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21779 .clobbers = .{ .eflags = true },25491 .clobbers = .{ .eflags = true },
21780 .each = .{ .once = &.{25492 .each = .{ .once = &.{
21781 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },25493 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
...@@ -21791,7 +25503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21791,7 +25503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21791 .{ .src = .{ .mem, .none, .none } },25503 .{ .src = .{ .mem, .none, .none } },
21792 .{ .src = .{ .to_gpr, .none, .none } },25504 .{ .src = .{ .to_gpr, .none, .none } },
21793 },25505 },
21794 .dst_temps = .{.{ .rc = .general_purpose }},25506 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21795 .clobbers = .{ .eflags = true },25507 .clobbers = .{ .eflags = true },
21796 .each = .{ .once = &.{25508 .each = .{ .once = &.{
21797 .{ ._, ._, .mov, .dst0d, .sia(-1, .src0, .add_2_bit_size), ._, ._ },25509 .{ ._, ._, .mov, .dst0d, .sia(-1, .src0, .add_2_bit_size), ._, ._ },
...@@ -21816,7 +25528,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21816,7 +25528,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21816 .unused,25528 .unused,
21817 .unused,25529 .unused,
21818 },25530 },
21819 .dst_temps = .{.{ .rc = .general_purpose }},25531 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21820 .clobbers = .{ .eflags = true },25532 .clobbers = .{ .eflags = true },
21821 .each = .{ .once = &.{25533 .each = .{ .once = &.{
21822 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },25534 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
...@@ -21844,7 +25556,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21844,7 +25556,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21844 .unused,25556 .unused,
21845 .unused,25557 .unused,
21846 },25558 },
21847 .dst_temps = .{.{ .rc = .general_purpose }},25559 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21848 .clobbers = .{ .eflags = true },25560 .clobbers = .{ .eflags = true },
21849 .each = .{ .once = &.{25561 .each = .{ .once = &.{
21850 .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },25562 .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
...@@ -21869,7 +25581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21869,7 +25581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21869 .unused,25581 .unused,
21870 .unused,25582 .unused,
21871 },25583 },
21872 .dst_temps = .{.{ .rc = .general_purpose }},25584 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21873 .clobbers = .{ .eflags = true },25585 .clobbers = .{ .eflags = true },
21874 .each = .{ .once = &.{25586 .each = .{ .once = &.{
21875 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25587 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -21899,7 +25611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21899,7 +25611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21899 .unused,25611 .unused,
21900 .unused,25612 .unused,
21901 },25613 },
21902 .dst_temps = .{.{ .rc = .general_purpose }},25614 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21903 .clobbers = .{ .eflags = true },25615 .clobbers = .{ .eflags = true },
21904 .each = .{ .once = &.{25616 .each = .{ .once = &.{
21905 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25617 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -21928,7 +25640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21928,7 +25640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21928 .unused,25640 .unused,
21929 .unused,25641 .unused,
21930 },25642 },
21931 .dst_temps = .{.{ .rc = .general_purpose }},25643 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21932 .clobbers = .{ .eflags = true },25644 .clobbers = .{ .eflags = true },
21933 .each = .{ .once = &.{25645 .each = .{ .once = &.{
21934 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25646 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -21959,7 +25671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21959,7 +25671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21959 .unused,25671 .unused,
21960 .unused,25672 .unused,
21961 },25673 },
21962 .dst_temps = .{.{ .rc = .general_purpose }},25674 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21963 .clobbers = .{ .eflags = true },25675 .clobbers = .{ .eflags = true },
21964 .each = .{ .once = &.{25676 .each = .{ .once = &.{
21965 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25677 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -21989,7 +25701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21989,7 +25701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21989 .unused,25701 .unused,
21990 .unused,25702 .unused,
21991 },25703 },
21992 .dst_temps = .{.{ .rc = .general_purpose }},25704 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
21993 .clobbers = .{ .eflags = true },25705 .clobbers = .{ .eflags = true },
21994 .each = .{ .once = &.{25706 .each = .{ .once = &.{
21995 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25707 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22019,7 +25731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22019,7 +25731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22019 .unused,25731 .unused,
22020 .unused,25732 .unused,
22021 },25733 },
22022 .dst_temps = .{.{ .rc = .general_purpose }},25734 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22023 .clobbers = .{ .eflags = true },25735 .clobbers = .{ .eflags = true },
22024 .each = .{ .once = &.{25736 .each = .{ .once = &.{
22025 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25737 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22048,7 +25760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22048,7 +25760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22048 .unused,25760 .unused,
22049 .unused,25761 .unused,
22050 },25762 },
22051 .dst_temps = .{.{ .rc = .general_purpose }},25763 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22052 .clobbers = .{ .eflags = true },25764 .clobbers = .{ .eflags = true },
22053 .each = .{ .once = &.{25765 .each = .{ .once = &.{
22054 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25766 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22079,7 +25791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22079,7 +25791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22079 .unused,25791 .unused,
22080 .unused,25792 .unused,
22081 },25793 },
22082 .dst_temps = .{.{ .rc = .general_purpose }},25794 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22083 .clobbers = .{ .eflags = true },25795 .clobbers = .{ .eflags = true },
22084 .each = .{ .once = &.{25796 .each = .{ .once = &.{
22085 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25797 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22109,7 +25821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22109,7 +25821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22109 .unused,25821 .unused,
22110 .unused,25822 .unused,
22111 },25823 },
22112 .dst_temps = .{.{ .rc = .general_purpose }},25824 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22113 .clobbers = .{ .eflags = true },25825 .clobbers = .{ .eflags = true },
22114 .each = .{ .once = &.{25826 .each = .{ .once = &.{
22115 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25827 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -22142,7 +25854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22142,7 +25854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22142 .unused,25854 .unused,
22143 .unused,25855 .unused,
22144 },25856 },
22145 .dst_temps = .{.{ .rc = .general_purpose }},25857 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22146 .clobbers = .{ .eflags = true },25858 .clobbers = .{ .eflags = true },
22147 .each = .{ .once = &.{25859 .each = .{ .once = &.{
22148 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25860 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -22174,7 +25886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22174,7 +25886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22174 .unused,25886 .unused,
22175 .unused,25887 .unused,
22176 },25888 },
22177 .dst_temps = .{.{ .rc = .general_purpose }},25889 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22178 .clobbers = .{ .eflags = true },25890 .clobbers = .{ .eflags = true },
22179 .each = .{ .once = &.{25891 .each = .{ .once = &.{
22180 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },25892 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
...@@ -22206,7 +25918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22206,7 +25918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22206 .unused,25918 .unused,
22207 .unused,25919 .unused,
22208 },25920 },
22209 .dst_temps = .{.{ .rc = .general_purpose }},25921 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22210 .clobbers = .{ .eflags = true },25922 .clobbers = .{ .eflags = true },
22211 .each = .{ .once = &.{25923 .each = .{ .once = &.{
22212 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25924 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22239,7 +25951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22239,7 +25951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22239 .unused,25951 .unused,
22240 .unused,25952 .unused,
22241 },25953 },
22242 .dst_temps = .{.{ .rc = .general_purpose }},25954 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22243 .clobbers = .{ .eflags = true },25955 .clobbers = .{ .eflags = true },
22244 .each = .{ .once = &.{25956 .each = .{ .once = &.{
22245 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25957 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22271,7 +25983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22271,7 +25983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22271 .unused,25983 .unused,
22272 .unused,25984 .unused,
22273 },25985 },
22274 .dst_temps = .{.{ .rc = .general_purpose }},25986 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
22275 .clobbers = .{ .eflags = true },25987 .clobbers = .{ .eflags = true },
22276 .each = .{ .once = &.{25988 .each = .{ .once = &.{
22277 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },25989 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
...@@ -22303,7 +26015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22303,7 +26015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22303 .unused,26015 .unused,
22304 .unused,26016 .unused,
22305 },26017 },
22306 .dst_temps = .{.mem},26018 .dst_temps = .{ .mem, .unused },
22307 .clobbers = .{ .eflags = true },26019 .clobbers = .{ .eflags = true },
22308 .each = .{ .once = &.{26020 .each = .{ .once = &.{
22309 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26021 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22332,7 +26044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22332,7 +26044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22332 .unused,26044 .unused,
22333 .unused,26045 .unused,
22334 },26046 },
22335 .dst_temps = .{.mem},26047 .dst_temps = .{ .mem, .unused },
22336 .clobbers = .{ .eflags = true },26048 .clobbers = .{ .eflags = true },
22337 .each = .{ .once = &.{26049 .each = .{ .once = &.{
22338 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26050 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22361,7 +26073,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22361,7 +26073,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22361 .unused,26073 .unused,
22362 .unused,26074 .unused,
22363 },26075 },
22364 .dst_temps = .{.mem},26076 .dst_temps = .{ .mem, .unused },
22365 .clobbers = .{ .eflags = true },26077 .clobbers = .{ .eflags = true },
22366 .each = .{ .once = &.{26078 .each = .{ .once = &.{
22367 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26079 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22390,7 +26102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22390,7 +26102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22390 .unused,26102 .unused,
22391 .unused,26103 .unused,
22392 },26104 },
22393 .dst_temps = .{.mem},26105 .dst_temps = .{ .mem, .unused },
22394 .clobbers = .{ .eflags = true },26106 .clobbers = .{ .eflags = true },
22395 .each = .{ .once = &.{26107 .each = .{ .once = &.{
22396 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26108 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22419,7 +26131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22419,7 +26131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22419 .unused,26131 .unused,
22420 .unused,26132 .unused,
22421 },26133 },
22422 .dst_temps = .{.mem},26134 .dst_temps = .{ .mem, .unused },
22423 .clobbers = .{ .eflags = true },26135 .clobbers = .{ .eflags = true },
22424 .each = .{ .once = &.{26136 .each = .{ .once = &.{
22425 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22448,7 +26160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22448,7 +26160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22448 .unused,26160 .unused,
22449 .unused,26161 .unused,
22450 },26162 },
22451 .dst_temps = .{.mem},26163 .dst_temps = .{ .mem, .unused },
22452 .clobbers = .{ .eflags = true },26164 .clobbers = .{ .eflags = true },
22453 .each = .{ .once = &.{26165 .each = .{ .once = &.{
22454 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22477,7 +26189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22477,7 +26189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22477 .unused,26189 .unused,
22478 .unused,26190 .unused,
22479 },26191 },
22480 .dst_temps = .{.mem},26192 .dst_temps = .{ .mem, .unused },
22481 .clobbers = .{ .eflags = true },26193 .clobbers = .{ .eflags = true },
22482 .each = .{ .once = &.{26194 .each = .{ .once = &.{
22483 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26195 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22506,7 +26218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22506,7 +26218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22506 .unused,26218 .unused,
22507 .unused,26219 .unused,
22508 },26220 },
22509 .dst_temps = .{.mem},26221 .dst_temps = .{ .mem, .unused },
22510 .clobbers = .{ .eflags = true },26222 .clobbers = .{ .eflags = true },
22511 .each = .{ .once = &.{26223 .each = .{ .once = &.{
22512 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26224 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22535,7 +26247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22535,7 +26247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22535 .unused,26247 .unused,
22536 .unused,26248 .unused,
22537 },26249 },
22538 .dst_temps = .{.mem},26250 .dst_temps = .{ .mem, .unused },
22539 .clobbers = .{ .eflags = true },26251 .clobbers = .{ .eflags = true },
22540 .each = .{ .once = &.{26252 .each = .{ .once = &.{
22541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22567,7 +26279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22567,7 +26279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22567 .unused,26279 .unused,
22568 .unused,26280 .unused,
22569 },26281 },
22570 .dst_temps = .{.mem},26282 .dst_temps = .{ .mem, .unused },
22571 .clobbers = .{ .eflags = true },26283 .clobbers = .{ .eflags = true },
22572 .each = .{ .once = &.{26284 .each = .{ .once = &.{
22573 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26285 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22599,7 +26311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22599,7 +26311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22599 .unused,26311 .unused,
22600 .unused,26312 .unused,
22601 },26313 },
22602 .dst_temps = .{.mem},26314 .dst_temps = .{ .mem, .unused },
22603 .clobbers = .{ .eflags = true },26315 .clobbers = .{ .eflags = true },
22604 .each = .{ .once = &.{26316 .each = .{ .once = &.{
22605 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26317 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22631,7 +26343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22631,7 +26343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22631 .unused,26343 .unused,
22632 .unused,26344 .unused,
22633 },26345 },
22634 .dst_temps = .{.mem},26346 .dst_temps = .{ .mem, .unused },
22635 .clobbers = .{ .eflags = true },26347 .clobbers = .{ .eflags = true },
22636 .each = .{ .once = &.{26348 .each = .{ .once = &.{
22637 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26349 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22663,7 +26375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22663,7 +26375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22663 .unused,26375 .unused,
22664 .unused,26376 .unused,
22665 },26377 },
22666 .dst_temps = .{.mem},26378 .dst_temps = .{ .mem, .unused },
22667 .clobbers = .{ .eflags = true },26379 .clobbers = .{ .eflags = true },
22668 .each = .{ .once = &.{26380 .each = .{ .once = &.{
22669 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26381 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22693,7 +26405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22693,7 +26405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22693 .unused,26405 .unused,
22694 .unused,26406 .unused,
22695 },26407 },
22696 .dst_temps = .{.mem},26408 .dst_temps = .{ .mem, .unused },
22697 .clobbers = .{ .eflags = true },26409 .clobbers = .{ .eflags = true },
22698 .each = .{ .once = &.{26410 .each = .{ .once = &.{
22699 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26411 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22724,7 +26436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22724,7 +26436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22724 .unused,26436 .unused,
22725 .unused,26437 .unused,
22726 },26438 },
22727 .dst_temps = .{.mem},26439 .dst_temps = .{ .mem, .unused },
22728 .clobbers = .{ .eflags = true },26440 .clobbers = .{ .eflags = true },
22729 .each = .{ .once = &.{26441 .each = .{ .once = &.{
22730 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26442 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22756,7 +26468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22756,7 +26468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22756 .unused,26468 .unused,
22757 .unused,26469 .unused,
22758 },26470 },
22759 .dst_temps = .{.mem},26471 .dst_temps = .{ .mem, .unused },
22760 .clobbers = .{ .eflags = true },26472 .clobbers = .{ .eflags = true },
22761 .each = .{ .once = &.{26473 .each = .{ .once = &.{
22762 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26474 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22788,7 +26500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22788,7 +26500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22788 .unused,26500 .unused,
22789 .unused,26501 .unused,
22790 },26502 },
22791 .dst_temps = .{.mem},26503 .dst_temps = .{ .mem, .unused },
22792 .clobbers = .{ .eflags = true },26504 .clobbers = .{ .eflags = true },
22793 .each = .{ .once = &.{26505 .each = .{ .once = &.{
22794 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22820,7 +26532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22820,7 +26532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22820 .unused,26532 .unused,
22821 .unused,26533 .unused,
22822 },26534 },
22823 .dst_temps = .{.mem},26535 .dst_temps = .{ .mem, .unused },
22824 .clobbers = .{ .eflags = true },26536 .clobbers = .{ .eflags = true },
22825 .each = .{ .once = &.{26537 .each = .{ .once = &.{
22826 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26538 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22852,7 +26564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22852,7 +26564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22852 .unused,26564 .unused,
22853 .unused,26565 .unused,
22854 },26566 },
22855 .dst_temps = .{.mem},26567 .dst_temps = .{ .mem, .unused },
22856 .clobbers = .{ .eflags = true },26568 .clobbers = .{ .eflags = true },
22857 .each = .{ .once = &.{26569 .each = .{ .once = &.{
22858 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22882,7 +26594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22882,7 +26594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22882 .unused,26594 .unused,
22883 .unused,26595 .unused,
22884 },26596 },
22885 .dst_temps = .{.mem},26597 .dst_temps = .{ .mem, .unused },
22886 .clobbers = .{ .eflags = true },26598 .clobbers = .{ .eflags = true },
22887 .each = .{ .once = &.{26599 .each = .{ .once = &.{
22888 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26600 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22913,7 +26625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22913,7 +26625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22913 .unused,26625 .unused,
22914 .unused,26626 .unused,
22915 },26627 },
22916 .dst_temps = .{.mem},26628 .dst_temps = .{ .mem, .unused },
22917 .clobbers = .{ .eflags = true },26629 .clobbers = .{ .eflags = true },
22918 .each = .{ .once = &.{26630 .each = .{ .once = &.{
22919 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26631 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22945,7 +26657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22945,7 +26657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22945 .unused,26657 .unused,
22946 .unused,26658 .unused,
22947 },26659 },
22948 .dst_temps = .{.mem},26660 .dst_temps = .{ .mem, .unused },
22949 .clobbers = .{ .eflags = true },26661 .clobbers = .{ .eflags = true },
22950 .each = .{ .once = &.{26662 .each = .{ .once = &.{
22951 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26663 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -22977,7 +26689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22977,7 +26689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22977 .unused,26689 .unused,
22978 .unused,26690 .unused,
22979 },26691 },
22980 .dst_temps = .{.mem},26692 .dst_temps = .{ .mem, .unused },
22981 .clobbers = .{ .eflags = true },26693 .clobbers = .{ .eflags = true },
22982 .each = .{ .once = &.{26694 .each = .{ .once = &.{
22983 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26695 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23009,7 +26721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23009,7 +26721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23009 .unused,26721 .unused,
23010 .unused,26722 .unused,
23011 },26723 },
23012 .dst_temps = .{.mem},26724 .dst_temps = .{ .mem, .unused },
23013 .clobbers = .{ .eflags = true },26725 .clobbers = .{ .eflags = true },
23014 .each = .{ .once = &.{26726 .each = .{ .once = &.{
23015 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26727 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23041,7 +26753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23041,7 +26753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23041 .unused,26753 .unused,
23042 .unused,26754 .unused,
23043 },26755 },
23044 .dst_temps = .{.mem},26756 .dst_temps = .{ .mem, .unused },
23045 .clobbers = .{ .eflags = true },26757 .clobbers = .{ .eflags = true },
23046 .each = .{ .once = &.{26758 .each = .{ .once = &.{
23047 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26759 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23071,7 +26783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23071,7 +26783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23071 .unused,26783 .unused,
23072 .unused,26784 .unused,
23073 },26785 },
23074 .dst_temps = .{.mem},26786 .dst_temps = .{ .mem, .unused },
23075 .clobbers = .{ .eflags = true },26787 .clobbers = .{ .eflags = true },
23076 .each = .{ .once = &.{26788 .each = .{ .once = &.{
23077 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26789 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23102,7 +26814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23102,7 +26814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23102 .unused,26814 .unused,
23103 .unused,26815 .unused,
23104 },26816 },
23105 .dst_temps = .{.mem},26817 .dst_temps = .{ .mem, .unused },
23106 .clobbers = .{ .eflags = true },26818 .clobbers = .{ .eflags = true },
23107 .each = .{ .once = &.{26819 .each = .{ .once = &.{
23108 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26820 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23134,7 +26846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23134,7 +26846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23134 .unused,26846 .unused,
23135 .unused,26847 .unused,
23136 },26848 },
23137 .dst_temps = .{.mem},26849 .dst_temps = .{ .mem, .unused },
23138 .clobbers = .{ .eflags = true },26850 .clobbers = .{ .eflags = true },
23139 .each = .{ .once = &.{26851 .each = .{ .once = &.{
23140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26852 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23166,7 +26878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23166,7 +26878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23166 .unused,26878 .unused,
23167 .unused,26879 .unused,
23168 },26880 },
23169 .dst_temps = .{.mem},26881 .dst_temps = .{ .mem, .unused },
23170 .clobbers = .{ .eflags = true },26882 .clobbers = .{ .eflags = true },
23171 .each = .{ .once = &.{26883 .each = .{ .once = &.{
23172 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26884 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23198,7 +26910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23198,7 +26910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23198 .unused,26910 .unused,
23199 .unused,26911 .unused,
23200 },26912 },
23201 .dst_temps = .{.mem},26913 .dst_temps = .{ .mem, .unused },
23202 .clobbers = .{ .eflags = true },26914 .clobbers = .{ .eflags = true },
23203 .each = .{ .once = &.{26915 .each = .{ .once = &.{
23204 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26916 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23230,7 +26942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23230,7 +26942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23230 .unused,26942 .unused,
23231 .unused,26943 .unused,
23232 },26944 },
23233 .dst_temps = .{.mem},26945 .dst_temps = .{ .mem, .unused },
23234 .clobbers = .{ .eflags = true },26946 .clobbers = .{ .eflags = true },
23235 .each = .{ .once = &.{26947 .each = .{ .once = &.{
23236 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26948 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23261,7 +26973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23261,7 +26973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23261 .unused,26973 .unused,
23262 .unused,26974 .unused,
23263 },26975 },
23264 .dst_temps = .{.mem},26976 .dst_temps = .{ .mem, .unused },
23265 .clobbers = .{ .eflags = true },26977 .clobbers = .{ .eflags = true },
23266 .each = .{ .once = &.{26978 .each = .{ .once = &.{
23267 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },26979 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23278,7 +26990,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23278,7 +26990,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23278 }, .{26990 }, .{
23279 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },26991 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
23280 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },26992 .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 },
23282 .patterns = &.{26994 .patterns = &.{
23283 .{ .src = .{ .to_mem, .none, .none } },26995 .{ .src = .{ .to_mem, .none, .none } },
23284 },26996 },
...@@ -23293,7 +27005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23293,7 +27005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23293 .unused,27005 .unused,
23294 .unused,27006 .unused,
23295 },27007 },
23296 .dst_temps = .{.mem},27008 .dst_temps = .{ .mem, .unused },
23297 .clobbers = .{ .eflags = true },27009 .clobbers = .{ .eflags = true },
23298 .each = .{ .once = &.{27010 .each = .{ .once = &.{
23299 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27011 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23318,7 +27030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23318,7 +27030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23318 }, .{27030 }, .{
23319 .required_features = .{ .@"64bit", .lzcnt, null, null },27031 .required_features = .{ .@"64bit", .lzcnt, null, null },
23320 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },27032 .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 },
23322 .patterns = &.{27034 .patterns = &.{
23323 .{ .src = .{ .to_mem, .none, .none } },27035 .{ .src = .{ .to_mem, .none, .none } },
23324 },27036 },
...@@ -23333,7 +27045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23333,7 +27045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23333 .unused,27045 .unused,
23334 .unused,27046 .unused,
23335 },27047 },
23336 .dst_temps = .{.mem},27048 .dst_temps = .{ .mem, .unused },
23337 .clobbers = .{ .eflags = true },27049 .clobbers = .{ .eflags = true },
23338 .each = .{ .once = &.{27050 .each = .{ .once = &.{
23339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27051 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23357,7 +27069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23357,7 +27069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23357 }, .{27069 }, .{
23358 .required_features = .{ .@"64bit", null, null, null },27070 .required_features = .{ .@"64bit", null, null, null },
23359 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },27071 .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 },
23361 .patterns = &.{27073 .patterns = &.{
23362 .{ .src = .{ .to_mem, .none, .none } },27074 .{ .src = .{ .to_mem, .none, .none } },
23363 },27075 },
...@@ -23372,7 +27084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23372,7 +27084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23372 .unused,27084 .unused,
23373 .unused,27085 .unused,
23374 },27086 },
23375 .dst_temps = .{.mem},27087 .dst_temps = .{ .mem, .unused },
23376 .clobbers = .{ .eflags = true },27088 .clobbers = .{ .eflags = true },
23377 .each = .{ .once = &.{27089 .each = .{ .once = &.{
23378 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27090 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23396,7 +27108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23396,7 +27108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23396 }, .{27108 }, .{
23397 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },27109 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
23398 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },27110 .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 },
23400 .patterns = &.{27112 .patterns = &.{
23401 .{ .src = .{ .to_mem, .none, .none } },27113 .{ .src = .{ .to_mem, .none, .none } },
23402 },27114 },
...@@ -23411,7 +27123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23411,7 +27123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23411 .unused,27123 .unused,
23412 .unused,27124 .unused,
23413 },27125 },
23414 .dst_temps = .{.mem},27126 .dst_temps = .{ .mem, .unused },
23415 .clobbers = .{ .eflags = true },27127 .clobbers = .{ .eflags = true },
23416 .each = .{ .once = &.{27128 .each = .{ .once = &.{
23417 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27129 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23436,7 +27148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23436,7 +27148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23436 }, .{27148 }, .{
23437 .required_features = .{ .@"64bit", .lzcnt, null, null },27149 .required_features = .{ .@"64bit", .lzcnt, null, null },
23438 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },27150 .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 },
23440 .patterns = &.{27152 .patterns = &.{
23441 .{ .src = .{ .to_mem, .none, .none } },27153 .{ .src = .{ .to_mem, .none, .none } },
23442 },27154 },
...@@ -23451,7 +27163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23451,7 +27163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23451 .unused,27163 .unused,
23452 .unused,27164 .unused,
23453 },27165 },
23454 .dst_temps = .{.mem},27166 .dst_temps = .{ .mem, .unused },
23455 .clobbers = .{ .eflags = true },27167 .clobbers = .{ .eflags = true },
23456 .each = .{ .once = &.{27168 .each = .{ .once = &.{
23457 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23475,7 +27187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23475,7 +27187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23475 }, .{27187 }, .{
23476 .required_features = .{ .@"64bit", null, null, null },27188 .required_features = .{ .@"64bit", null, null, null },
23477 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },27189 .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 },
23479 .patterns = &.{27191 .patterns = &.{
23480 .{ .src = .{ .to_mem, .none, .none } },27192 .{ .src = .{ .to_mem, .none, .none } },
23481 },27193 },
...@@ -23490,7 +27202,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23490,7 +27202,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23490 .unused,27202 .unused,
23491 .unused,27203 .unused,
23492 },27204 },
23493 .dst_temps = .{.mem},27205 .dst_temps = .{ .mem, .unused },
23494 .clobbers = .{ .eflags = true },27206 .clobbers = .{ .eflags = true },
23495 .each = .{ .once = &.{27207 .each = .{ .once = &.{
23496 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27208 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23514,7 +27226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23514,7 +27226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23514 }, .{27226 }, .{
23515 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },27227 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
23516 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },27228 .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 },
23518 .patterns = &.{27230 .patterns = &.{
23519 .{ .src = .{ .to_mem, .none, .none } },27231 .{ .src = .{ .to_mem, .none, .none } },
23520 },27232 },
...@@ -23529,7 +27241,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23529,7 +27241,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23529 .unused,27241 .unused,
23530 .unused,27242 .unused,
23531 },27243 },
23532 .dst_temps = .{.mem},27244 .dst_temps = .{ .mem, .unused },
23533 .clobbers = .{ .eflags = true },27245 .clobbers = .{ .eflags = true },
23534 .each = .{ .once = &.{27246 .each = .{ .once = &.{
23535 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27247 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23554,7 +27266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23554,7 +27266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23554 }, .{27266 }, .{
23555 .required_features = .{ .@"64bit", .lzcnt, null, null },27267 .required_features = .{ .@"64bit", .lzcnt, null, null },
23556 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },27268 .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 },
23558 .patterns = &.{27270 .patterns = &.{
23559 .{ .src = .{ .to_mem, .none, .none } },27271 .{ .src = .{ .to_mem, .none, .none } },
23560 },27272 },
...@@ -23569,7 +27281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23569,7 +27281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23569 .unused,27281 .unused,
23570 .unused,27282 .unused,
23571 },27283 },
23572 .dst_temps = .{.mem},27284 .dst_temps = .{ .mem, .unused },
23573 .clobbers = .{ .eflags = true },27285 .clobbers = .{ .eflags = true },
23574 .each = .{ .once = &.{27286 .each = .{ .once = &.{
23575 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27287 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23593,7 +27305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23593,7 +27305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23593 }, .{27305 }, .{
23594 .required_features = .{ .@"64bit", null, null, null },27306 .required_features = .{ .@"64bit", null, null, null },
23595 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },27307 .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 },
23597 .patterns = &.{27309 .patterns = &.{
23598 .{ .src = .{ .to_mem, .none, .none } },27310 .{ .src = .{ .to_mem, .none, .none } },
23599 },27311 },
...@@ -23608,7 +27320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23608,7 +27320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23608 .unused,27320 .unused,
23609 .unused,27321 .unused,
23610 },27322 },
23611 .dst_temps = .{.mem},27323 .dst_temps = .{ .mem, .unused },
23612 .clobbers = .{ .eflags = true },27324 .clobbers = .{ .eflags = true },
23613 .each = .{ .once = &.{27325 .each = .{ .once = &.{
23614 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27326 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23632,7 +27344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23632,7 +27344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23632 }, .{27344 }, .{
23633 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },27345 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
23634 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },27346 .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 },
23636 .patterns = &.{27348 .patterns = &.{
23637 .{ .src = .{ .to_mem, .none, .none } },27349 .{ .src = .{ .to_mem, .none, .none } },
23638 },27350 },
...@@ -23647,7 +27359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23647,7 +27359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23647 .unused,27359 .unused,
23648 .unused,27360 .unused,
23649 },27361 },
23650 .dst_temps = .{.mem},27362 .dst_temps = .{ .mem, .unused },
23651 .clobbers = .{ .eflags = true },27363 .clobbers = .{ .eflags = true },
23652 .each = .{ .once = &.{27364 .each = .{ .once = &.{
23653 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27365 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23672,7 +27384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23672,7 +27384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23672 }, .{27384 }, .{
23673 .required_features = .{ .@"64bit", .lzcnt, null, null },27385 .required_features = .{ .@"64bit", .lzcnt, null, null },
23674 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },27386 .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 },
23676 .patterns = &.{27388 .patterns = &.{
23677 .{ .src = .{ .to_mem, .none, .none } },27389 .{ .src = .{ .to_mem, .none, .none } },
23678 },27390 },
...@@ -23687,7 +27399,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23687,7 +27399,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23687 .unused,27399 .unused,
23688 .unused,27400 .unused,
23689 },27401 },
23690 .dst_temps = .{.mem},27402 .dst_temps = .{ .mem, .unused },
23691 .clobbers = .{ .eflags = true },27403 .clobbers = .{ .eflags = true },
23692 .each = .{ .once = &.{27404 .each = .{ .once = &.{
23693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27405 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23711,7 +27423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23711,7 +27423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23711 }, .{27423 }, .{
23712 .required_features = .{ .@"64bit", null, null, null },27424 .required_features = .{ .@"64bit", null, null, null },
23713 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },27425 .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 },
23715 .patterns = &.{27427 .patterns = &.{
23716 .{ .src = .{ .to_mem, .none, .none } },27428 .{ .src = .{ .to_mem, .none, .none } },
23717 },27429 },
...@@ -23726,7 +27438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23726,7 +27438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23726 .unused,27438 .unused,
23727 .unused,27439 .unused,
23728 },27440 },
23729 .dst_temps = .{.mem},27441 .dst_temps = .{ .mem, .unused },
23730 .clobbers = .{ .eflags = true },27442 .clobbers = .{ .eflags = true },
23731 .each = .{ .once = &.{27443 .each = .{ .once = &.{
23732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },27444 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
...@@ -23802,11 +27514,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23802,11 +27514,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23802 .unused,27514 .unused,
23803 .unused,27515 .unused,
23804 },27516 },
23805 .dst_temps = .{.{ .mut_rc_mask = .{27517 .dst_temps = .{ .{ .mut_rc_mask = .{
23806 .ref = .src0,27518 .ref = .src0,
23807 .rc = .sse,27519 .rc = .sse,
23808 .info = .{ .kind = .all, .scalar = .dword },27520 .info = .{ .kind = .all, .scalar = .dword },
23809 } }},27521 } }, .unused },
23810 .each = .{ .once = &.{27522 .each = .{ .once = &.{
23811 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },27523 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
23812 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },27524 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -23840,11 +27552,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23840,11 +27552,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23840 .unused,27552 .unused,
23841 .unused,27553 .unused,
23842 },27554 },
23843 .dst_temps = .{.{ .mut_rc_mask = .{27555 .dst_temps = .{ .{ .mut_rc_mask = .{
23844 .ref = .src0,27556 .ref = .src0,
23845 .rc = .sse,27557 .rc = .sse,
23846 .info = .{ .kind = .all, .scalar = .dword },27558 .info = .{ .kind = .all, .scalar = .dword },
23847 } }},27559 } }, .unused },
23848 .each = .{ .once = &.{27560 .each = .{ .once = &.{
23849 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },27561 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
23850 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },27562 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -23878,11 +27590,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23878,11 +27590,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23878 .unused,27590 .unused,
23879 .unused,27591 .unused,
23880 },27592 },
23881 .dst_temps = .{.{ .mut_rc_mask = .{27593 .dst_temps = .{ .{ .mut_rc_mask = .{
23882 .ref = .src0,27594 .ref = .src0,
23883 .rc = .sse,27595 .rc = .sse,
23884 .info = .{ .kind = .all, .scalar = .dword },27596 .info = .{ .kind = .all, .scalar = .dword },
23885 } }},27597 } }, .unused },
23886 .each = .{ .once = &.{27598 .each = .{ .once = &.{
23887 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },27599 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
23888 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },27600 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
...@@ -23902,11 +27614,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23902,11 +27614,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23902 .patterns = &.{27614 .patterns = &.{
23903 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },27615 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
23904 },27616 },
23905 .dst_temps = .{.{ .mut_rc_mask = .{27617 .dst_temps = .{ .{ .mut_rc_mask = .{
23906 .ref = .src0,27618 .ref = .src0,
23907 .rc = .sse,27619 .rc = .sse,
23908 .info = .{ .kind = .all, .scalar = .dword },27620 .info = .{ .kind = .all, .scalar = .dword },
23909 } }},27621 } }, .unused },
23910 .each = .{ .once = &.{27622 .each = .{ .once = &.{
23911 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {27623 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {
23912 else => unreachable,27624 else => unreachable,
...@@ -23925,11 +27637,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23925,11 +27637,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23925 .{ .src = .{ .to_sse, .mem, .none } },27637 .{ .src = .{ .to_sse, .mem, .none } },
23926 .{ .src = .{ .to_sse, .to_sse, .none } },27638 .{ .src = .{ .to_sse, .to_sse, .none } },
23927 },27639 },
23928 .dst_temps = .{.{ .mut_rc_mask = .{27640 .dst_temps = .{ .{ .mut_rc_mask = .{
23929 .ref = .src0,27641 .ref = .src0,
23930 .rc = .sse,27642 .rc = .sse,
23931 .info = .{ .kind = .all, .scalar = .dword },27643 .info = .{ .kind = .all, .scalar = .dword },
23932 } }},27644 } }, .unused },
23933 .each = .{ .once = &.{27645 .each = .{ .once = &.{
23934 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {27646 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {
23935 else => unreachable,27647 else => unreachable,
...@@ -23948,10 +27660,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23948,10 +27660,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23948 .{ .src = .{ .to_mut_sse, .mem, .none } },27660 .{ .src = .{ .to_mut_sse, .mem, .none } },
23949 .{ .src = .{ .to_mut_sse, .to_sse, .none } },27661 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
23950 },27662 },
23951 .dst_temps = .{.{ .ref_mask = .{27663 .dst_temps = .{ .{ .ref_mask = .{
23952 .ref = .src0,27664 .ref = .src0,
23953 .info = .{ .kind = .all, .scalar = .dword },27665 .info = .{ .kind = .all, .scalar = .dword },
23954 } }},27666 } }, .unused },
23955 .each = .{ .once = &.{27667 .each = .{ .once = &.{
23956 .{ ._, ._ss, .cmp, .dst0x, .src1d, .sp(switch (cc) {27668 .{ ._, ._ss, .cmp, .dst0x, .src1d, .sp(switch (cc) {
23957 else => unreachable,27669 else => unreachable,
...@@ -23969,11 +27681,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23969,11 +27681,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23969 .patterns = &.{27681 .patterns = &.{
23970 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },27682 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
23971 },27683 },
23972 .dst_temps = .{.{ .mut_rc_mask = .{27684 .dst_temps = .{ .{ .mut_rc_mask = .{
23973 .ref = .src0,27685 .ref = .src0,
23974 .rc = .sse,27686 .rc = .sse,
23975 .info = .{ .kind = .all, .scalar = .dword },27687 .info = .{ .kind = .all, .scalar = .dword },
23976 } }},27688 } }, .unused },
23977 .each = .{ .once = &.{27689 .each = .{ .once = &.{
23978 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {27690 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
23979 else => unreachable,27691 else => unreachable,
...@@ -23992,11 +27704,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23992,11 +27704,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23992 .{ .src = .{ .to_sse, .mem, .none } },27704 .{ .src = .{ .to_sse, .mem, .none } },
23993 .{ .src = .{ .to_sse, .to_sse, .none } },27705 .{ .src = .{ .to_sse, .to_sse, .none } },
23994 },27706 },
23995 .dst_temps = .{.{ .mut_rc_mask = .{27707 .dst_temps = .{ .{ .mut_rc_mask = .{
23996 .ref = .src0,27708 .ref = .src0,
23997 .rc = .sse,27709 .rc = .sse,
23998 .info = .{ .kind = .all, .scalar = .dword },27710 .info = .{ .kind = .all, .scalar = .dword },
23999 } }},27711 } }, .unused },
24000 .each = .{ .once = &.{27712 .each = .{ .once = &.{
24001 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {27713 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
24002 else => unreachable,27714 else => unreachable,
...@@ -24015,10 +27727,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24015,10 +27727,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24015 .{ .src = .{ .to_mut_sse, .mem, .none } },27727 .{ .src = .{ .to_mut_sse, .mem, .none } },
24016 .{ .src = .{ .to_mut_sse, .to_sse, .none } },27728 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
24017 },27729 },
24018 .dst_temps = .{.{ .ref_mask = .{27730 .dst_temps = .{ .{ .ref_mask = .{
24019 .ref = .src0,27731 .ref = .src0,
24020 .info = .{ .kind = .all, .scalar = .dword },27732 .info = .{ .kind = .all, .scalar = .dword },
24021 } }},27733 } }, .unused },
24022 .each = .{ .once = &.{27734 .each = .{ .once = &.{
24023 .{ ._, ._ps, .cmp, .dst0x, .src1x, .sp(switch (cc) {27735 .{ ._, ._ps, .cmp, .dst0x, .src1x, .sp(switch (cc) {
24024 else => unreachable,27736 else => unreachable,
...@@ -24036,11 +27748,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24036,11 +27748,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24036 .patterns = &.{27748 .patterns = &.{
24037 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },27749 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
24038 },27750 },
24039 .dst_temps = .{.{ .mut_rc_mask = .{27751 .dst_temps = .{ .{ .mut_rc_mask = .{
24040 .ref = .src0,27752 .ref = .src0,
24041 .rc = .sse,27753 .rc = .sse,
24042 .info = .{ .kind = .all, .scalar = .dword },27754 .info = .{ .kind = .all, .scalar = .dword },
24043 } }},27755 } }, .unused },
24044 .each = .{ .once = &.{27756 .each = .{ .once = &.{
24045 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {27757 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
24046 else => unreachable,27758 else => unreachable,
...@@ -24059,11 +27771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24059,11 +27771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24059 .{ .src = .{ .to_sse, .mem, .none } },27771 .{ .src = .{ .to_sse, .mem, .none } },
24060 .{ .src = .{ .to_sse, .to_sse, .none } },27772 .{ .src = .{ .to_sse, .to_sse, .none } },
24061 },27773 },
24062 .dst_temps = .{.{ .mut_rc_mask = .{27774 .dst_temps = .{ .{ .mut_rc_mask = .{
24063 .ref = .src0,27775 .ref = .src0,
24064 .rc = .sse,27776 .rc = .sse,
24065 .info = .{ .kind = .all, .scalar = .dword },27777 .info = .{ .kind = .all, .scalar = .dword },
24066 } }},27778 } }, .unused },
24067 .each = .{ .once = &.{27779 .each = .{ .once = &.{
24068 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {27780 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
24069 else => unreachable,27781 else => unreachable,
...@@ -24081,11 +27793,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24081,11 +27793,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24081 .patterns = &.{27793 .patterns = &.{
24082 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },27794 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
24083 },27795 },
24084 .dst_temps = .{.{ .mut_rc_mask = .{27796 .dst_temps = .{ .{ .mut_rc_mask = .{
24085 .ref = .src0,27797 .ref = .src0,
24086 .rc = .sse,27798 .rc = .sse,
24087 .info = .{ .kind = .all, .scalar = .qword },27799 .info = .{ .kind = .all, .scalar = .qword },
24088 } }},27800 } }, .unused },
24089 .each = .{ .once = &.{27801 .each = .{ .once = &.{
24090 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {27802 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {
24091 else => unreachable,27803 else => unreachable,
...@@ -24104,11 +27816,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24104,11 +27816,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24104 .{ .src = .{ .to_sse, .mem, .none } },27816 .{ .src = .{ .to_sse, .mem, .none } },
24105 .{ .src = .{ .to_sse, .to_sse, .none } },27817 .{ .src = .{ .to_sse, .to_sse, .none } },
24106 },27818 },
24107 .dst_temps = .{.{ .mut_rc_mask = .{27819 .dst_temps = .{ .{ .mut_rc_mask = .{
24108 .ref = .src0,27820 .ref = .src0,
24109 .rc = .sse,27821 .rc = .sse,
24110 .info = .{ .kind = .all, .scalar = .qword },27822 .info = .{ .kind = .all, .scalar = .qword },
24111 } }},27823 } }, .unused },
24112 .each = .{ .once = &.{27824 .each = .{ .once = &.{
24113 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {27825 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {
24114 else => unreachable,27826 else => unreachable,
...@@ -24127,10 +27839,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24127,10 +27839,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24127 .{ .src = .{ .to_mut_sse, .mem, .none } },27839 .{ .src = .{ .to_mut_sse, .mem, .none } },
24128 .{ .src = .{ .to_mut_sse, .to_sse, .none } },27840 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
24129 },27841 },
24130 .dst_temps = .{.{ .ref_mask = .{27842 .dst_temps = .{ .{ .ref_mask = .{
24131 .ref = .src0,27843 .ref = .src0,
24132 .info = .{ .kind = .all, .scalar = .qword },27844 .info = .{ .kind = .all, .scalar = .qword },
24133 } }},27845 } }, .unused },
24134 .each = .{ .once = &.{27846 .each = .{ .once = &.{
24135 .{ ._, ._sd, .cmp, .dst0x, .src1q, .sp(switch (cc) {27847 .{ ._, ._sd, .cmp, .dst0x, .src1q, .sp(switch (cc) {
24136 else => unreachable,27848 else => unreachable,
...@@ -24148,11 +27860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24148,11 +27860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24148 .patterns = &.{27860 .patterns = &.{
24149 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },27861 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
24150 },27862 },
24151 .dst_temps = .{.{ .mut_rc_mask = .{27863 .dst_temps = .{ .{ .mut_rc_mask = .{
24152 .ref = .src0,27864 .ref = .src0,
24153 .rc = .sse,27865 .rc = .sse,
24154 .info = .{ .kind = .all, .scalar = .qword },27866 .info = .{ .kind = .all, .scalar = .qword },
24155 } }},27867 } }, .unused },
24156 .each = .{ .once = &.{27868 .each = .{ .once = &.{
24157 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {27869 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
24158 else => unreachable,27870 else => unreachable,
...@@ -24171,11 +27883,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24171,11 +27883,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24171 .{ .src = .{ .to_sse, .mem, .none } },27883 .{ .src = .{ .to_sse, .mem, .none } },
24172 .{ .src = .{ .to_sse, .to_sse, .none } },27884 .{ .src = .{ .to_sse, .to_sse, .none } },
24173 },27885 },
24174 .dst_temps = .{.{ .mut_rc_mask = .{27886 .dst_temps = .{ .{ .mut_rc_mask = .{
24175 .ref = .src0,27887 .ref = .src0,
24176 .rc = .sse,27888 .rc = .sse,
24177 .info = .{ .kind = .all, .scalar = .qword },27889 .info = .{ .kind = .all, .scalar = .qword },
24178 } }},27890 } }, .unused },
24179 .each = .{ .once = &.{27891 .each = .{ .once = &.{
24180 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {27892 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
24181 else => unreachable,27893 else => unreachable,
...@@ -24194,10 +27906,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24194,10 +27906,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24194 .{ .src = .{ .to_mut_sse, .mem, .none } },27906 .{ .src = .{ .to_mut_sse, .mem, .none } },
24195 .{ .src = .{ .to_mut_sse, .to_sse, .none } },27907 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
24196 },27908 },
24197 .dst_temps = .{.{ .ref_mask = .{27909 .dst_temps = .{ .{ .ref_mask = .{
24198 .ref = .src0,27910 .ref = .src0,
24199 .info = .{ .kind = .all, .scalar = .qword },27911 .info = .{ .kind = .all, .scalar = .qword },
24200 } }},27912 } }, .unused },
24201 .each = .{ .once = &.{27913 .each = .{ .once = &.{
24202 .{ ._, ._pd, .cmp, .dst0x, .src1x, .sp(switch (cc) {27914 .{ ._, ._pd, .cmp, .dst0x, .src1x, .sp(switch (cc) {
24203 else => unreachable,27915 else => unreachable,
...@@ -24215,11 +27927,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24215,11 +27927,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24215 .patterns = &.{27927 .patterns = &.{
24216 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },27928 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
24217 },27929 },
24218 .dst_temps = .{.{ .mut_rc_mask = .{27930 .dst_temps = .{ .{ .mut_rc_mask = .{
24219 .ref = .src0,27931 .ref = .src0,
24220 .rc = .sse,27932 .rc = .sse,
24221 .info = .{ .kind = .all, .scalar = .qword },27933 .info = .{ .kind = .all, .scalar = .qword },
24222 } }},27934 } }, .unused },
24223 .each = .{ .once = &.{27935 .each = .{ .once = &.{
24224 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {27936 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
24225 else => unreachable,27937 else => unreachable,
...@@ -24238,11 +27950,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24238,11 +27950,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24238 .{ .src = .{ .to_sse, .mem, .none } },27950 .{ .src = .{ .to_sse, .mem, .none } },
24239 .{ .src = .{ .to_sse, .to_sse, .none } },27951 .{ .src = .{ .to_sse, .to_sse, .none } },
24240 },27952 },
24241 .dst_temps = .{.{ .mut_rc_mask = .{27953 .dst_temps = .{ .{ .mut_rc_mask = .{
24242 .ref = .src0,27954 .ref = .src0,
24243 .rc = .sse,27955 .rc = .sse,
24244 .info = .{ .kind = .all, .scalar = .qword },27956 .info = .{ .kind = .all, .scalar = .qword },
24245 } }},27957 } }, .unused },
24246 .each = .{ .once = &.{27958 .each = .{ .once = &.{
24247 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {27959 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
24248 else => unreachable,27960 else => unreachable,
...@@ -24271,7 +27983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24271,7 +27983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24271 .unused,27983 .unused,
24272 .unused,27984 .unused,
24273 },27985 },
24274 .dst_temps = .{.mem},27986 .dst_temps = .{ .mem, .unused },
24275 .clobbers = .{ .eflags = true },27987 .clobbers = .{ .eflags = true },
24276 .each = .{ .once = &.{27988 .each = .{ .once = &.{
24277 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27989 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -24310,7 +28022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24310,7 +28022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24310 .unused,28022 .unused,
24311 .unused,28023 .unused,
24312 },28024 },
24313 .dst_temps = .{.mem},28025 .dst_temps = .{ .mem, .unused },
24314 .clobbers = .{ .eflags = true },28026 .clobbers = .{ .eflags = true },
24315 .each = .{ .once = &.{28027 .each = .{ .once = &.{
24316 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28028 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -24335,7 +28047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24335,7 +28047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24335 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },28047 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
24336 .any,28048 .any,
24337 },28049 },
24338 .dst_constraints = .{.{ .bool_vec = .dword }},28050 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
24339 .patterns = &.{28051 .patterns = &.{
24340 .{ .src = .{ .to_mem, .to_mem, .none } },28052 .{ .src = .{ .to_mem, .to_mem, .none } },
24341 },28053 },
...@@ -24351,7 +28063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24351,7 +28063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24351 .unused,28063 .unused,
24352 .unused,28064 .unused,
24353 },28065 },
24354 .dst_temps = .{.{ .rc = .general_purpose }},28066 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
24355 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28067 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24356 .each = .{ .once = &.{28068 .each = .{ .once = &.{
24357 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },28069 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -24377,7 +28089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24377,7 +28089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24377 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },28089 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
24378 .any,28090 .any,
24379 },28091 },
24380 .dst_constraints = .{.{ .bool_vec = .dword }},28092 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
24381 .patterns = &.{28093 .patterns = &.{
24382 .{ .src = .{ .to_mem, .to_mem, .none } },28094 .{ .src = .{ .to_mem, .to_mem, .none } },
24383 },28095 },
...@@ -24393,7 +28105,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24393,7 +28105,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24393 .unused,28105 .unused,
24394 .unused,28106 .unused,
24395 },28107 },
24396 .dst_temps = .{.{ .rc = .general_purpose }},28108 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
24397 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28109 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24398 .each = .{ .once = &.{28110 .each = .{ .once = &.{
24399 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },28111 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -24419,7 +28131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24419,7 +28131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24419 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },28131 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
24420 .any,28132 .any,
24421 },28133 },
24422 .dst_constraints = .{.{ .bool_vec = .dword }},28134 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
24423 .patterns = &.{28135 .patterns = &.{
24424 .{ .src = .{ .to_mem, .to_mem, .none } },28136 .{ .src = .{ .to_mem, .to_mem, .none } },
24425 },28137 },
...@@ -24435,7 +28147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24435,7 +28147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24435 .unused,28147 .unused,
24436 .unused,28148 .unused,
24437 },28149 },
24438 .dst_temps = .{.{ .rc = .general_purpose }},28150 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
24439 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28151 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24440 .each = .{ .once = &.{28152 .each = .{ .once = &.{
24441 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },28153 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -24462,7 +28174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24462,7 +28174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24462 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },28174 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
24463 .any,28175 .any,
24464 },28176 },
24465 .dst_constraints = .{.{ .bool_vec = .dword }},28177 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
24466 .patterns = &.{28178 .patterns = &.{
24467 .{ .src = .{ .to_mem, .to_mem, .none } },28179 .{ .src = .{ .to_mem, .to_mem, .none } },
24468 },28180 },
...@@ -24478,7 +28190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24478,7 +28190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24478 .unused,28190 .unused,
24479 .unused,28191 .unused,
24480 },28192 },
24481 .dst_temps = .{.{ .rc = .general_purpose }},28193 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
24482 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28194 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24483 .each = .{ .once = &.{28195 .each = .{ .once = &.{
24484 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },28196 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -24505,7 +28217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24505,7 +28217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24505 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },28217 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
24506 .any,28218 .any,
24507 },28219 },
24508 .dst_constraints = .{.{ .bool_vec = .dword }},28220 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
24509 .patterns = &.{28221 .patterns = &.{
24510 .{ .src = .{ .to_mem, .to_mem, .none } },28222 .{ .src = .{ .to_mem, .to_mem, .none } },
24511 },28223 },
...@@ -24521,7 +28233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24521,7 +28233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24521 .{ .type = .f32, .kind = .mem },28233 .{ .type = .f32, .kind = .mem },
24522 .unused,28234 .unused,
24523 },28235 },
24524 .dst_temps = .{.{ .rc = .general_purpose }},28236 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
24525 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28237 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24526 .each = .{ .once = &.{28238 .each = .{ .once = &.{
24527 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },28239 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -24550,7 +28262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24550,7 +28262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24550 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },28262 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
24551 .any,28263 .any,
24552 },28264 },
24553 .dst_constraints = .{.{ .bool_vec = .dword }},28265 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
24554 .patterns = &.{28266 .patterns = &.{
24555 .{ .src = .{ .to_mem, .to_mem, .none } },28267 .{ .src = .{ .to_mem, .to_mem, .none } },
24556 },28268 },
...@@ -24566,7 +28278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24566,7 +28278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24566 .{ .type = .f32, .kind = .mem },28278 .{ .type = .f32, .kind = .mem },
24567 .unused,28279 .unused,
24568 },28280 },
24569 .dst_temps = .{.{ .rc = .general_purpose }},28281 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
24570 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28282 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24571 .each = .{ .once = &.{28283 .each = .{ .once = &.{
24572 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },28284 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -24610,7 +28322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24610,7 +28322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24610 .{ .type = .u64, .kind = .{ .reg = .rdx } },28322 .{ .type = .u64, .kind = .{ .reg = .rdx } },
24611 .unused,28323 .unused,
24612 },28324 },
24613 .dst_temps = .{.mem},28325 .dst_temps = .{ .mem, .unused },
24614 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28326 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24615 .each = .{ .once = &.{28327 .each = .{ .once = &.{
24616 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },28328 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -24661,7 +28373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24661,7 +28373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24661 .{ .type = .u64, .kind = .{ .reg = .rdx } },28373 .{ .type = .u64, .kind = .{ .reg = .rdx } },
24662 .unused,28374 .unused,
24663 },28375 },
24664 .dst_temps = .{.mem},28376 .dst_temps = .{ .mem, .unused },
24665 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28377 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24666 .each = .{ .once = &.{28378 .each = .{ .once = &.{
24667 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },28379 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -24712,7 +28424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24712,7 +28424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24712 .{ .type = .u64, .kind = .{ .reg = .rdx } },28424 .{ .type = .u64, .kind = .{ .reg = .rdx } },
24713 .unused,28425 .unused,
24714 },28426 },
24715 .dst_temps = .{.mem},28427 .dst_temps = .{ .mem, .unused },
24716 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28428 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24717 .each = .{ .once = &.{28429 .each = .{ .once = &.{
24718 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },28430 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -24764,7 +28476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24764,7 +28476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24764 .{ .type = .u64, .kind = .{ .reg = .rdx } },28476 .{ .type = .u64, .kind = .{ .reg = .rdx } },
24765 .unused,28477 .unused,
24766 },28478 },
24767 .dst_temps = .{.mem},28479 .dst_temps = .{ .mem, .unused },
24768 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28480 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24769 .each = .{ .once = &.{28481 .each = .{ .once = &.{
24770 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },28482 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -24816,7 +28528,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24816,7 +28528,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24816 .{ .type = .u64, .kind = .{ .reg = .rdx } },28528 .{ .type = .u64, .kind = .{ .reg = .rdx } },
24817 .{ .type = .f32, .kind = .mem },28529 .{ .type = .f32, .kind = .mem },
24818 },28530 },
24819 .dst_temps = .{.mem},28531 .dst_temps = .{ .mem, .unused },
24820 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28532 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24821 .each = .{ .once = &.{28533 .each = .{ .once = &.{
24822 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },28534 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -24870,7 +28582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24870,7 +28582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24870 .{ .type = .u64, .kind = .{ .reg = .rdx } },28582 .{ .type = .u64, .kind = .{ .reg = .rdx } },
24871 .{ .type = .f32, .kind = .mem },28583 .{ .type = .f32, .kind = .mem },
24872 },28584 },
24873 .dst_temps = .{.mem},28585 .dst_temps = .{ .mem, .unused },
24874 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },28586 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
24875 .each = .{ .once = &.{28587 .each = .{ .once = &.{
24876 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },28588 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -24923,7 +28635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24923,7 +28635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24923 .unused,28635 .unused,
24924 .unused,28636 .unused,
24925 },28637 },
24926 .dst_temps = .{.mem},28638 .dst_temps = .{ .mem, .unused },
24927 .clobbers = .{ .eflags = true },28639 .clobbers = .{ .eflags = true },
24928 .each = .{ .once = &.{28640 .each = .{ .once = &.{
24929 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28641 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -24961,7 +28673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24961,7 +28673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24961 .unused,28673 .unused,
24962 .unused,28674 .unused,
24963 },28675 },
24964 .dst_temps = .{.mem},28676 .dst_temps = .{ .mem, .unused },
24965 .clobbers = .{ .eflags = true },28677 .clobbers = .{ .eflags = true },
24966 .each = .{ .once = &.{28678 .each = .{ .once = &.{
24967 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28679 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -24999,7 +28711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24999,7 +28711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24999 .unused,28711 .unused,
25000 .unused,28712 .unused,
25001 },28713 },
25002 .dst_temps = .{.mem},28714 .dst_temps = .{ .mem, .unused },
25003 .clobbers = .{ .eflags = true },28715 .clobbers = .{ .eflags = true },
25004 .each = .{ .once = &.{28716 .each = .{ .once = &.{
25005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25045,7 +28757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25045,7 +28757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25045 .unused,28757 .unused,
25046 .unused,28758 .unused,
25047 },28759 },
25048 .dst_temps = .{.mem},28760 .dst_temps = .{ .mem, .unused },
25049 .clobbers = .{ .eflags = true },28761 .clobbers = .{ .eflags = true },
25050 .each = .{ .once = &.{28762 .each = .{ .once = &.{
25051 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28763 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25092,7 +28804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25092,7 +28804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25092 .unused,28804 .unused,
25093 .unused,28805 .unused,
25094 },28806 },
25095 .dst_temps = .{.mem},28807 .dst_temps = .{ .mem, .unused },
25096 .clobbers = .{ .eflags = true },28808 .clobbers = .{ .eflags = true },
25097 .each = .{ .once = &.{28809 .each = .{ .once = &.{
25098 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28810 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25141,7 +28853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25141,7 +28853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25141 .unused,28853 .unused,
25142 .unused,28854 .unused,
25143 },28855 },
25144 .dst_temps = .{.mem},28856 .dst_temps = .{ .mem, .unused },
25145 .clobbers = .{ .eflags = true },28857 .clobbers = .{ .eflags = true },
25146 .each = .{ .once = &.{28858 .each = .{ .once = &.{
25147 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25188,7 +28900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25188,7 +28900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25188 .unused,28900 .unused,
25189 .unused,28901 .unused,
25190 },28902 },
25191 .dst_temps = .{.mem},28903 .dst_temps = .{ .mem, .unused },
25192 .clobbers = .{ .eflags = true },28904 .clobbers = .{ .eflags = true },
25193 .each = .{ .once = &.{28905 .each = .{ .once = &.{
25194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28906 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25235,7 +28947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25235,7 +28947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25235 .unused,28947 .unused,
25236 .unused,28948 .unused,
25237 },28949 },
25238 .dst_temps = .{.mem},28950 .dst_temps = .{ .mem, .unused },
25239 .clobbers = .{ .eflags = true },28951 .clobbers = .{ .eflags = true },
25240 .each = .{ .once = &.{28952 .each = .{ .once = &.{
25241 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28953 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25285,7 +28997,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25285,7 +28997,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25285 .unused,28997 .unused,
25286 .unused,28998 .unused,
25287 },28999 },
25288 .dst_temps = .{.mem},29000 .dst_temps = .{ .mem, .unused },
25289 .clobbers = .{ .eflags = true },29001 .clobbers = .{ .eflags = true },
25290 .each = .{ .once = &.{29002 .each = .{ .once = &.{
25291 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29003 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25335,7 +29047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25335,7 +29047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25335 .unused,29047 .unused,
25336 .unused,29048 .unused,
25337 },29049 },
25338 .dst_temps = .{.mem},29050 .dst_temps = .{ .mem, .unused },
25339 .clobbers = .{ .eflags = true },29051 .clobbers = .{ .eflags = true },
25340 .each = .{ .once = &.{29052 .each = .{ .once = &.{
25341 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29053 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25388,7 +29100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25388,7 +29100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25388 .unused,29100 .unused,
25389 .unused,29101 .unused,
25390 },29102 },
25391 .dst_temps = .{.mem},29103 .dst_temps = .{ .mem, .unused },
25392 .clobbers = .{ .eflags = true },29104 .clobbers = .{ .eflags = true },
25393 .each = .{ .once = &.{29105 .each = .{ .once = &.{
25394 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29106 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25441,7 +29153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25441,7 +29153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25441 .unused,29153 .unused,
25442 .unused,29154 .unused,
25443 },29155 },
25444 .dst_temps = .{.mem},29156 .dst_temps = .{ .mem, .unused },
25445 .clobbers = .{ .eflags = true },29157 .clobbers = .{ .eflags = true },
25446 .each = .{ .once = &.{29158 .each = .{ .once = &.{
25447 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29159 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25499,7 +29211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25499,7 +29211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25499 .unused,29211 .unused,
25500 .unused,29212 .unused,
25501 },29213 },
25502 .dst_temps = .{.mem},29214 .dst_temps = .{ .mem, .unused },
25503 .clobbers = .{ .eflags = true },29215 .clobbers = .{ .eflags = true },
25504 .each = .{ .once = &.{29216 .each = .{ .once = &.{
25505 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29217 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25552,7 +29264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25552,7 +29264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25552 .unused,29264 .unused,
25553 .unused,29265 .unused,
25554 },29266 },
25555 .dst_temps = .{.mem},29267 .dst_temps = .{ .mem, .unused },
25556 .clobbers = .{ .eflags = true },29268 .clobbers = .{ .eflags = true },
25557 .each = .{ .once = &.{29269 .each = .{ .once = &.{
25558 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29270 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25605,7 +29317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25605,7 +29317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25605 .unused,29317 .unused,
25606 .unused,29318 .unused,
25607 },29319 },
25608 .dst_temps = .{.mem},29320 .dst_temps = .{ .mem, .unused },
25609 .clobbers = .{ .eflags = true },29321 .clobbers = .{ .eflags = true },
25610 .each = .{ .once = &.{29322 .each = .{ .once = &.{
25611 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29323 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25649,7 +29361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25649,7 +29361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25649 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },29361 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
25650 .any,29362 .any,
25651 },29363 },
25652 .dst_constraints = .{.{ .bool_vec = .dword }},29364 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
25653 .patterns = &.{29365 .patterns = &.{
25654 .{ .src = .{ .to_mem, .to_mem, .none } },29366 .{ .src = .{ .to_mem, .to_mem, .none } },
25655 },29367 },
...@@ -25665,7 +29377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25665,7 +29377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25665 .{ .type = .u32, .kind = .{ .reg = .edx } },29377 .{ .type = .u32, .kind = .{ .reg = .edx } },
25666 .unused,29378 .unused,
25667 },29379 },
25668 .dst_temps = .{.{ .rc = .general_purpose }},29380 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
25669 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29381 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25670 .each = .{ .once = &.{29382 .each = .{ .once = &.{
25671 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },29383 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -25691,7 +29403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25691,7 +29403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25691 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },29403 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
25692 .any,29404 .any,
25693 },29405 },
25694 .dst_constraints = .{.{ .bool_vec = .dword }},29406 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
25695 .patterns = &.{29407 .patterns = &.{
25696 .{ .src = .{ .to_mem, .to_mem, .none } },29408 .{ .src = .{ .to_mem, .to_mem, .none } },
25697 },29409 },
...@@ -25707,7 +29419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25707,7 +29419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25707 .{ .type = .u32, .kind = .{ .reg = .edx } },29419 .{ .type = .u32, .kind = .{ .reg = .edx } },
25708 .unused,29420 .unused,
25709 },29421 },
25710 .dst_temps = .{.{ .rc = .general_purpose }},29422 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
25711 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29423 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25712 .each = .{ .once = &.{29424 .each = .{ .once = &.{
25713 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },29425 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -25733,7 +29445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25733,7 +29445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25733 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },29445 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
25734 .any,29446 .any,
25735 },29447 },
25736 .dst_constraints = .{.{ .bool_vec = .dword }},29448 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
25737 .patterns = &.{29449 .patterns = &.{
25738 .{ .src = .{ .to_mem, .to_mem, .none } },29450 .{ .src = .{ .to_mem, .to_mem, .none } },
25739 },29451 },
...@@ -25749,7 +29461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25749,7 +29461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25749 .{ .type = .u32, .kind = .{ .reg = .edx } },29461 .{ .type = .u32, .kind = .{ .reg = .edx } },
25750 .unused,29462 .unused,
25751 },29463 },
25752 .dst_temps = .{.{ .rc = .general_purpose }},29464 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
25753 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29465 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25754 .each = .{ .once = &.{29466 .each = .{ .once = &.{
25755 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },29467 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -25775,7 +29487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25775,7 +29487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25775 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },29487 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
25776 .any,29488 .any,
25777 },29489 },
25778 .dst_constraints = .{.{ .bool_vec = .dword }},29490 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
25779 .patterns = &.{29491 .patterns = &.{
25780 .{ .src = .{ .to_mem, .to_mem, .none } },29492 .{ .src = .{ .to_mem, .to_mem, .none } },
25781 },29493 },
...@@ -25791,7 +29503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25791,7 +29503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25791 .{ .type = .u32, .kind = .{ .reg = .edx } },29503 .{ .type = .u32, .kind = .{ .reg = .edx } },
25792 .unused,29504 .unused,
25793 },29505 },
25794 .dst_temps = .{.{ .rc = .general_purpose }},29506 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
25795 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29507 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25796 .each = .{ .once = &.{29508 .each = .{ .once = &.{
25797 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },29509 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -25817,7 +29529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25817,7 +29529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25817 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },29529 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
25818 .any,29530 .any,
25819 },29531 },
25820 .dst_constraints = .{.{ .bool_vec = .dword }},29532 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
25821 .patterns = &.{29533 .patterns = &.{
25822 .{ .src = .{ .to_mem, .to_mem, .none } },29534 .{ .src = .{ .to_mem, .to_mem, .none } },
25823 },29535 },
...@@ -25833,7 +29545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25833,7 +29545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25833 .{ .type = .u32, .kind = .{ .reg = .edx } },29545 .{ .type = .u32, .kind = .{ .reg = .edx } },
25834 .unused,29546 .unused,
25835 },29547 },
25836 .dst_temps = .{.{ .rc = .general_purpose }},29548 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
25837 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29549 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25838 .each = .{ .once = &.{29550 .each = .{ .once = &.{
25839 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },29551 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -25859,7 +29571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25859,7 +29571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25859 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },29571 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
25860 .any,29572 .any,
25861 },29573 },
25862 .dst_constraints = .{.{ .bool_vec = .dword }},29574 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
25863 .patterns = &.{29575 .patterns = &.{
25864 .{ .src = .{ .to_mem, .to_mem, .none } },29576 .{ .src = .{ .to_mem, .to_mem, .none } },
25865 },29577 },
...@@ -25875,7 +29587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25875,7 +29587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25875 .{ .type = .u32, .kind = .{ .reg = .edx } },29587 .{ .type = .u32, .kind = .{ .reg = .edx } },
25876 .unused,29588 .unused,
25877 },29589 },
25878 .dst_temps = .{.{ .rc = .general_purpose }},29590 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
25879 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29591 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25880 .each = .{ .once = &.{29592 .each = .{ .once = &.{
25881 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },29593 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -25916,7 +29628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25916,7 +29628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25916 .{ .type = .u8, .kind = .{ .reg = .cl } },29628 .{ .type = .u8, .kind = .{ .reg = .cl } },
25917 .{ .type = .u64, .kind = .{ .reg = .rdx } },29629 .{ .type = .u64, .kind = .{ .reg = .rdx } },
25918 },29630 },
25919 .dst_temps = .{.mem},29631 .dst_temps = .{ .mem, .unused },
25920 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29632 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25921 .each = .{ .once = &.{29633 .each = .{ .once = &.{
25922 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29634 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -25967,7 +29679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25967,7 +29679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25967 .{ .type = .u8, .kind = .{ .reg = .cl } },29679 .{ .type = .u8, .kind = .{ .reg = .cl } },
25968 .{ .type = .u64, .kind = .{ .reg = .rdx } },29680 .{ .type = .u64, .kind = .{ .reg = .rdx } },
25969 },29681 },
25970 .dst_temps = .{.mem},29682 .dst_temps = .{ .mem, .unused },
25971 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29683 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
25972 .each = .{ .once = &.{29684 .each = .{ .once = &.{
25973 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29685 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -26018,7 +29730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26018,7 +29730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26018 .{ .type = .u8, .kind = .{ .reg = .cl } },29730 .{ .type = .u8, .kind = .{ .reg = .cl } },
26019 .{ .type = .u64, .kind = .{ .reg = .rdx } },29731 .{ .type = .u64, .kind = .{ .reg = .rdx } },
26020 },29732 },
26021 .dst_temps = .{.mem},29733 .dst_temps = .{ .mem, .unused },
26022 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29734 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
26023 .each = .{ .once = &.{29735 .each = .{ .once = &.{
26024 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29736 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -26069,7 +29781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26069,7 +29781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26069 .{ .type = .u8, .kind = .{ .reg = .cl } },29781 .{ .type = .u8, .kind = .{ .reg = .cl } },
26070 .{ .type = .u64, .kind = .{ .reg = .rdx } },29782 .{ .type = .u64, .kind = .{ .reg = .rdx } },
26071 },29783 },
26072 .dst_temps = .{.mem},29784 .dst_temps = .{ .mem, .unused },
26073 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29785 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
26074 .each = .{ .once = &.{29786 .each = .{ .once = &.{
26075 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29787 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -26120,7 +29832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26120,7 +29832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26120 .{ .type = .u8, .kind = .{ .reg = .cl } },29832 .{ .type = .u8, .kind = .{ .reg = .cl } },
26121 .{ .type = .u64, .kind = .{ .reg = .rdx } },29833 .{ .type = .u64, .kind = .{ .reg = .rdx } },
26122 },29834 },
26123 .dst_temps = .{.mem},29835 .dst_temps = .{ .mem, .unused },
26124 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29836 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
26125 .each = .{ .once = &.{29837 .each = .{ .once = &.{
26126 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -26171,7 +29883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26171,7 +29883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26171 .{ .type = .u8, .kind = .{ .reg = .cl } },29883 .{ .type = .u8, .kind = .{ .reg = .cl } },
26172 .{ .type = .u64, .kind = .{ .reg = .rdx } },29884 .{ .type = .u64, .kind = .{ .reg = .rdx } },
26173 },29885 },
26174 .dst_temps = .{.mem},29886 .dst_temps = .{ .mem, .unused },
26175 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },29887 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
26176 .each = .{ .once = &.{29888 .each = .{ .once = &.{
26177 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },29889 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -26222,7 +29934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26222,7 +29934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26222 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },29934 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
26223 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },29935 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
26224 },29936 },
26225 .dst_temps = .{.{ .ref = .src0 }},29937 .dst_temps = .{ .{ .ref = .src0 }, .unused },
26226 .clobbers = .{ .eflags = true },29938 .clobbers = .{ .eflags = true },
26227 .each = .{ .once = switch (cc) {29939 .each = .{ .once = switch (cc) {
26228 else => unreachable,29940 else => unreachable,
...@@ -26247,7 +29959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26247,7 +29959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26247 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },29959 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
26248 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },29960 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
26249 },29961 },
26250 .dst_temps = .{.{ .ref = .src0 }},29962 .dst_temps = .{ .{ .ref = .src0 }, .unused },
26251 .clobbers = .{ .eflags = true },29963 .clobbers = .{ .eflags = true },
26252 .each = .{ .once = switch (cc) {29964 .each = .{ .once = switch (cc) {
26253 else => unreachable,29965 else => unreachable,
...@@ -26272,7 +29984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26272,7 +29984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26272 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },29984 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
26273 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },29985 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
26274 },29986 },
26275 .dst_temps = .{.{ .ref = .src0 }},29987 .dst_temps = .{ .{ .ref = .src0 }, .unused },
26276 .clobbers = .{ .eflags = true },29988 .clobbers = .{ .eflags = true },
26277 .each = .{ .once = switch (cc) {29989 .each = .{ .once = switch (cc) {
26278 else => unreachable,29990 else => unreachable,
...@@ -26298,7 +30010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26298,7 +30010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26298 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },30010 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
26299 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },30011 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
26300 },30012 },
26301 .dst_temps = .{.{ .ref = .src0 }},30013 .dst_temps = .{ .{ .ref = .src0 }, .unused },
26302 .clobbers = .{ .eflags = true },30014 .clobbers = .{ .eflags = true },
26303 .each = .{ .once = switch (cc) {30015 .each = .{ .once = switch (cc) {
26304 else => unreachable,30016 else => unreachable,
...@@ -26326,7 +30038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26326,7 +30038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26326 .unused,30038 .unused,
26327 .unused,30039 .unused,
26328 },30040 },
26329 .dst_temps = .{.mem},30041 .dst_temps = .{ .mem, .unused },
26330 .clobbers = .{ .eflags = true },30042 .clobbers = .{ .eflags = true },
26331 .each = .{ .once = switch (cc) {30043 .each = .{ .once = switch (cc) {
26332 else => unreachable,30044 else => unreachable,
...@@ -26360,7 +30072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26360,7 +30072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26360 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30072 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26361 .{ .src = .{ .to_sse, .to_sse, .none } },30073 .{ .src = .{ .to_sse, .to_sse, .none } },
26362 },30074 },
26363 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30075 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26364 .kind = .all,30076 .kind = .all,
26365 .inverted = switch (cc) {30077 .inverted = switch (cc) {
26366 else => unreachable,30078 else => unreachable,
...@@ -26368,7 +30080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26368,7 +30080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26368 .ne => true,30080 .ne => true,
26369 },30081 },
26370 .scalar = .byte,30082 .scalar = .byte,
26371 } } }},30083 } } }, .unused },
26372 .each = .{ .once = &.{30084 .each = .{ .once = &.{
26373 .{ ._, .vp_b, .cmpeq, .dst0x, .src0x, .src1x, ._ },30085 .{ ._, .vp_b, .cmpeq, .dst0x, .src0x, .src1x, ._ },
26374 } },30086 } },
...@@ -26384,7 +30096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26384,7 +30096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26384 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30096 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26385 .{ .src = .{ .to_sse, .to_sse, .none } },30097 .{ .src = .{ .to_sse, .to_sse, .none } },
26386 },30098 },
26387 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30099 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26388 .kind = .all,30100 .kind = .all,
26389 .inverted = switch (cc) {30101 .inverted = switch (cc) {
26390 else => unreachable,30102 else => unreachable,
...@@ -26392,7 +30104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26392,7 +30104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26392 .ne => true,30104 .ne => true,
26393 },30105 },
26394 .scalar = .word,30106 .scalar = .word,
26395 } } }},30107 } } }, .unused },
26396 .each = .{ .once = &.{30108 .each = .{ .once = &.{
26397 .{ ._, .vp_w, .cmpeq, .dst0x, .src0x, .src1x, ._ },30109 .{ ._, .vp_w, .cmpeq, .dst0x, .src0x, .src1x, ._ },
26398 } },30110 } },
...@@ -26408,7 +30120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26408,7 +30120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26408 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30120 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26409 .{ .src = .{ .to_sse, .to_sse, .none } },30121 .{ .src = .{ .to_sse, .to_sse, .none } },
26410 },30122 },
26411 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30123 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26412 .kind = .all,30124 .kind = .all,
26413 .inverted = switch (cc) {30125 .inverted = switch (cc) {
26414 else => unreachable,30126 else => unreachable,
...@@ -26416,7 +30128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26416,7 +30128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26416 .ne => true,30128 .ne => true,
26417 },30129 },
26418 .scalar = .dword,30130 .scalar = .dword,
26419 } } }},30131 } } }, .unused },
26420 .each = .{ .once = &.{30132 .each = .{ .once = &.{
26421 .{ ._, .vp_d, .cmpeq, .dst0x, .src0x, .src1x, ._ },30133 .{ ._, .vp_d, .cmpeq, .dst0x, .src0x, .src1x, ._ },
26422 } },30134 } },
...@@ -26432,7 +30144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26432,7 +30144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26432 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30144 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26433 .{ .src = .{ .to_sse, .to_sse, .none } },30145 .{ .src = .{ .to_sse, .to_sse, .none } },
26434 },30146 },
26435 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30147 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26436 .kind = .all,30148 .kind = .all,
26437 .inverted = switch (cc) {30149 .inverted = switch (cc) {
26438 else => unreachable,30150 else => unreachable,
...@@ -26440,7 +30152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26440,7 +30152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26440 .ne => true,30152 .ne => true,
26441 },30153 },
26442 .scalar = .qword,30154 .scalar = .qword,
26443 } } }},30155 } } }, .unused },
26444 .each = .{ .once = &.{30156 .each = .{ .once = &.{
26445 .{ ._, .vp_q, .cmpeq, .dst0x, .src0x, .src1x, ._ },30157 .{ ._, .vp_q, .cmpeq, .dst0x, .src0x, .src1x, ._ },
26446 } },30158 } },
...@@ -26456,7 +30168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26456,7 +30168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26456 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },30168 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
26457 .{ .src = .{ .to_mut_sse, .to_sse, .none } },30169 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
26458 },30170 },
26459 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30171 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26460 .kind = .all,30172 .kind = .all,
26461 .inverted = switch (cc) {30173 .inverted = switch (cc) {
26462 else => unreachable,30174 else => unreachable,
...@@ -26464,7 +30176,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26464,7 +30176,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26464 .ne => true,30176 .ne => true,
26465 },30177 },
26466 .scalar = .byte,30178 .scalar = .byte,
26467 } } }},30179 } } }, .unused },
26468 .each = .{ .once = &.{30180 .each = .{ .once = &.{
26469 .{ ._, .p_b, .cmpeq, .dst0x, .src1x, ._, ._ },30181 .{ ._, .p_b, .cmpeq, .dst0x, .src1x, ._, ._ },
26470 } },30182 } },
...@@ -26480,7 +30192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26480,7 +30192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26480 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },30192 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
26481 .{ .src = .{ .to_mut_sse, .to_sse, .none } },30193 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
26482 },30194 },
26483 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30195 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26484 .kind = .all,30196 .kind = .all,
26485 .inverted = switch (cc) {30197 .inverted = switch (cc) {
26486 else => unreachable,30198 else => unreachable,
...@@ -26488,7 +30200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26488,7 +30200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26488 .ne => true,30200 .ne => true,
26489 },30201 },
26490 .scalar = .word,30202 .scalar = .word,
26491 } } }},30203 } } }, .unused },
26492 .each = .{ .once = &.{30204 .each = .{ .once = &.{
26493 .{ ._, .p_w, .cmpeq, .dst0x, .src1x, ._, ._ },30205 .{ ._, .p_w, .cmpeq, .dst0x, .src1x, ._, ._ },
26494 } },30206 } },
...@@ -26504,7 +30216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26504,7 +30216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26504 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },30216 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
26505 .{ .src = .{ .to_mut_sse, .to_sse, .none } },30217 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
26506 },30218 },
26507 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30219 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26508 .kind = .all,30220 .kind = .all,
26509 .inverted = switch (cc) {30221 .inverted = switch (cc) {
26510 else => unreachable,30222 else => unreachable,
...@@ -26512,7 +30224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26512,7 +30224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26512 .ne => true,30224 .ne => true,
26513 },30225 },
26514 .scalar = .dword,30226 .scalar = .dword,
26515 } } }},30227 } } }, .unused },
26516 .each = .{ .once = &.{30228 .each = .{ .once = &.{
26517 .{ ._, .p_d, .cmpeq, .dst0x, .src1x, ._, ._ },30229 .{ ._, .p_d, .cmpeq, .dst0x, .src1x, ._, ._ },
26518 } },30230 } },
...@@ -26528,7 +30240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26528,7 +30240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26528 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },30240 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
26529 .{ .src = .{ .to_mut_sse, .to_sse, .none } },30241 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
26530 },30242 },
26531 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30243 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26532 .kind = .all,30244 .kind = .all,
26533 .inverted = switch (cc) {30245 .inverted = switch (cc) {
26534 else => unreachable,30246 else => unreachable,
...@@ -26536,7 +30248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26536,7 +30248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26536 .ne => true,30248 .ne => true,
26537 },30249 },
26538 .scalar = .qword,30250 .scalar = .qword,
26539 } } }},30251 } } }, .unused },
26540 .each = .{ .once = &.{30252 .each = .{ .once = &.{
26541 .{ ._, .p_q, .cmpeq, .dst0x, .src1x, ._, ._ },30253 .{ ._, .p_q, .cmpeq, .dst0x, .src1x, ._, ._ },
26542 } },30254 } },
...@@ -26552,7 +30264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26552,7 +30264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26552 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },30264 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
26553 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },30265 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
26554 },30266 },
26555 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30267 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26556 .kind = .all,30268 .kind = .all,
26557 .inverted = switch (cc) {30269 .inverted = switch (cc) {
26558 else => unreachable,30270 else => unreachable,
...@@ -26560,7 +30272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26560,7 +30272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26560 .ne => true,30272 .ne => true,
26561 },30273 },
26562 .scalar = .byte,30274 .scalar = .byte,
26563 } } }},30275 } } }, .unused },
26564 .each = .{ .once = &.{30276 .each = .{ .once = &.{
26565 .{ ._, .p_b, .cmpeq, .dst0q, .src1q, ._, ._ },30277 .{ ._, .p_b, .cmpeq, .dst0q, .src1q, ._, ._ },
26566 } },30278 } },
...@@ -26576,7 +30288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26576,7 +30288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26576 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },30288 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
26577 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },30289 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
26578 },30290 },
26579 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30291 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26580 .kind = .all,30292 .kind = .all,
26581 .inverted = switch (cc) {30293 .inverted = switch (cc) {
26582 else => unreachable,30294 else => unreachable,
...@@ -26584,7 +30296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26584,7 +30296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26584 .ne => true,30296 .ne => true,
26585 },30297 },
26586 .scalar = .word,30298 .scalar = .word,
26587 } } }},30299 } } }, .unused },
26588 .each = .{ .once = &.{30300 .each = .{ .once = &.{
26589 .{ ._, .p_w, .cmpeq, .dst0q, .src1q, ._, ._ },30301 .{ ._, .p_w, .cmpeq, .dst0q, .src1q, ._, ._ },
26590 } },30302 } },
...@@ -26600,7 +30312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26600,7 +30312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26600 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },30312 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
26601 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },30313 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
26602 },30314 },
26603 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{30315 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
26604 .kind = .all,30316 .kind = .all,
26605 .inverted = switch (cc) {30317 .inverted = switch (cc) {
26606 else => unreachable,30318 else => unreachable,
...@@ -26608,7 +30320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26608,7 +30320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26608 .ne => true,30320 .ne => true,
26609 },30321 },
26610 .scalar = .dword,30322 .scalar = .dword,
26611 } } }},30323 } } }, .unused },
26612 .each = .{ .once = &.{30324 .each = .{ .once = &.{
26613 .{ ._, .p_d, .cmpeq, .dst0q, .src1q, ._, ._ },30325 .{ ._, .p_d, .cmpeq, .dst0q, .src1q, ._, ._ },
26614 } },30326 } },
...@@ -26624,7 +30336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26624,7 +30336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26624 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30336 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26625 .{ .src = .{ .to_sse, .to_sse, .none } },30337 .{ .src = .{ .to_sse, .to_sse, .none } },
26626 },30338 },
26627 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30339 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26628 .kind = .all,30340 .kind = .all,
26629 .inverted = switch (cc) {30341 .inverted = switch (cc) {
26630 else => unreachable,30342 else => unreachable,
...@@ -26632,7 +30344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26632,7 +30344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26632 .ne => true,30344 .ne => true,
26633 },30345 },
26634 .scalar = .byte,30346 .scalar = .byte,
26635 } } }},30347 } } }, .unused },
26636 .each = .{ .once = &.{30348 .each = .{ .once = &.{
26637 .{ ._, .vp_b, .cmpeq, .dst0y, .src0y, .src1y, ._ },30349 .{ ._, .vp_b, .cmpeq, .dst0y, .src0y, .src1y, ._ },
26638 } },30350 } },
...@@ -26648,7 +30360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26648,7 +30360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26648 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30360 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26649 .{ .src = .{ .to_sse, .to_sse, .none } },30361 .{ .src = .{ .to_sse, .to_sse, .none } },
26650 },30362 },
26651 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30363 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26652 .kind = .all,30364 .kind = .all,
26653 .inverted = switch (cc) {30365 .inverted = switch (cc) {
26654 else => unreachable,30366 else => unreachable,
...@@ -26656,7 +30368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26656,7 +30368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26656 .ne => true,30368 .ne => true,
26657 },30369 },
26658 .scalar = .word,30370 .scalar = .word,
26659 } } }},30371 } } }, .unused },
26660 .each = .{ .once = &.{30372 .each = .{ .once = &.{
26661 .{ ._, .vp_w, .cmpeq, .dst0y, .src0y, .src1y, ._ },30373 .{ ._, .vp_w, .cmpeq, .dst0y, .src0y, .src1y, ._ },
26662 } },30374 } },
...@@ -26672,7 +30384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26672,7 +30384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26672 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30384 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26673 .{ .src = .{ .to_sse, .to_sse, .none } },30385 .{ .src = .{ .to_sse, .to_sse, .none } },
26674 },30386 },
26675 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30387 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26676 .kind = .all,30388 .kind = .all,
26677 .inverted = switch (cc) {30389 .inverted = switch (cc) {
26678 else => unreachable,30390 else => unreachable,
...@@ -26680,7 +30392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26680,7 +30392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26680 .ne => true,30392 .ne => true,
26681 },30393 },
26682 .scalar = .dword,30394 .scalar = .dword,
26683 } } }},30395 } } }, .unused },
26684 .each = .{ .once = &.{30396 .each = .{ .once = &.{
26685 .{ ._, .vp_d, .cmpeq, .dst0y, .src0y, .src1y, ._ },30397 .{ ._, .vp_d, .cmpeq, .dst0y, .src0y, .src1y, ._ },
26686 } },30398 } },
...@@ -26696,7 +30408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26696,7 +30408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26696 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },30408 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26697 .{ .src = .{ .to_sse, .to_sse, .none } },30409 .{ .src = .{ .to_sse, .to_sse, .none } },
26698 },30410 },
26699 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{30411 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
26700 .kind = .all,30412 .kind = .all,
26701 .inverted = switch (cc) {30413 .inverted = switch (cc) {
26702 else => unreachable,30414 else => unreachable,
...@@ -26704,7 +30416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26704,7 +30416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26704 .ne => true,30416 .ne => true,
26705 },30417 },
26706 .scalar = .qword,30418 .scalar = .qword,
26707 } } }},30419 } } }, .unused },
26708 .each = .{ .once = &.{30420 .each = .{ .once = &.{
26709 .{ ._, .vp_q, .cmpeq, .dst0y, .src0y, .src1y, ._ },30421 .{ ._, .vp_q, .cmpeq, .dst0y, .src0y, .src1y, ._ },
26710 } },30422 } },
...@@ -26725,7 +30437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26725,7 +30437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26725 .unused,30437 .unused,
26726 .unused,30438 .unused,
26727 },30439 },
26728 .dst_temps = .{.mem},30440 .dst_temps = .{ .mem, .unused },
26729 .clobbers = .{ .eflags = true },30441 .clobbers = .{ .eflags = true },
26730 .each = .{ .once = switch (cc) {30442 .each = .{ .once = switch (cc) {
26731 else => unreachable,30443 else => unreachable,
...@@ -26770,7 +30482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26770,7 +30482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26770 .unused,30482 .unused,
26771 .unused,30483 .unused,
26772 },30484 },
26773 .dst_temps = .{.mem},30485 .dst_temps = .{ .mem, .unused },
26774 .clobbers = .{ .eflags = true },30486 .clobbers = .{ .eflags = true },
26775 .each = .{ .once = switch (cc) {30487 .each = .{ .once = switch (cc) {
26776 else => unreachable,30488 else => unreachable,
...@@ -26817,7 +30529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26817,7 +30529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26817 .unused,30529 .unused,
26818 .unused,30530 .unused,
26819 },30531 },
26820 .dst_temps = .{.mem},30532 .dst_temps = .{ .mem, .unused },
26821 .clobbers = .{ .eflags = true },30533 .clobbers = .{ .eflags = true },
26822 .each = .{ .once = switch (cc) {30534 .each = .{ .once = switch (cc) {
26823 else => unreachable,30535 else => unreachable,
...@@ -26862,7 +30574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26862,7 +30574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26862 .unused,30574 .unused,
26863 .unused,30575 .unused,
26864 },30576 },
26865 .dst_temps = .{.mem},30577 .dst_temps = .{ .mem, .unused },
26866 .clobbers = .{ .eflags = true },30578 .clobbers = .{ .eflags = true },
26867 .each = .{ .once = switch (cc) {30579 .each = .{ .once = switch (cc) {
26868 else => unreachable,30580 else => unreachable,
...@@ -26931,7 +30643,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26931,7 +30643,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26931 .unused,30643 .unused,
26932 .unused,30644 .unused,
26933 },30645 },
26934 .dst_temps = .{.mem},30646 .dst_temps = .{ .mem, .unused },
26935 .clobbers = .{ .eflags = true },30647 .clobbers = .{ .eflags = true },
26936 .each = .{ .once = switch (cc) {30648 .each = .{ .once = switch (cc) {
26937 else => unreachable,30649 else => unreachable,
...@@ -26976,7 +30688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26976,7 +30688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26976 .unused,30688 .unused,
26977 .unused,30689 .unused,
26978 },30690 },
26979 .dst_temps = .{.mem},30691 .dst_temps = .{ .mem, .unused },
26980 .clobbers = .{ .eflags = true },30692 .clobbers = .{ .eflags = true },
26981 .each = .{ .once = switch (cc) {30693 .each = .{ .once = switch (cc) {
26982 else => unreachable,30694 else => unreachable,
...@@ -27023,7 +30735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27023,7 +30735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27023 .unused,30735 .unused,
27024 .unused,30736 .unused,
27025 },30737 },
27026 .dst_temps = .{.mem},30738 .dst_temps = .{ .mem, .unused },
27027 .clobbers = .{ .eflags = true },30739 .clobbers = .{ .eflags = true },
27028 .each = .{ .once = switch (cc) {30740 .each = .{ .once = switch (cc) {
27029 else => unreachable,30741 else => unreachable,
...@@ -27092,7 +30804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27092,7 +30804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27092 .unused,30804 .unused,
27093 .unused,30805 .unused,
27094 },30806 },
27095 .dst_temps = .{.mem},30807 .dst_temps = .{ .mem, .unused },
27096 .clobbers = .{ .eflags = true },30808 .clobbers = .{ .eflags = true },
27097 .each = .{ .once = switch (cc) {30809 .each = .{ .once = switch (cc) {
27098 else => unreachable,30810 else => unreachable,
...@@ -27161,7 +30873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27161,7 +30873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27161 .unused,30873 .unused,
27162 .unused,30874 .unused,
27163 },30875 },
27164 .dst_temps = .{.mem},30876 .dst_temps = .{ .mem, .unused },
27165 .clobbers = .{ .eflags = true },30877 .clobbers = .{ .eflags = true },
27166 .each = .{ .once = switch (cc) {30878 .each = .{ .once = switch (cc) {
27167 else => unreachable,30879 else => unreachable,
...@@ -27206,7 +30918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27206,7 +30918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27206 .unused,30918 .unused,
27207 .unused,30919 .unused,
27208 },30920 },
27209 .dst_temps = .{.mem},30921 .dst_temps = .{ .mem, .unused },
27210 .clobbers = .{ .eflags = true },30922 .clobbers = .{ .eflags = true },
27211 .each = .{ .once = switch (cc) {30923 .each = .{ .once = switch (cc) {
27212 else => unreachable,30924 else => unreachable,
...@@ -27253,7 +30965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27253,7 +30965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27253 .unused,30965 .unused,
27254 .unused,30966 .unused,
27255 },30967 },
27256 .dst_temps = .{.mem},30968 .dst_temps = .{ .mem, .unused },
27257 .clobbers = .{ .eflags = true },30969 .clobbers = .{ .eflags = true },
27258 .each = .{ .once = switch (cc) {30970 .each = .{ .once = switch (cc) {
27259 else => unreachable,30971 else => unreachable,
...@@ -27322,7 +31034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27322,7 +31034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27322 .unused,31034 .unused,
27323 .unused,31035 .unused,
27324 },31036 },
27325 .dst_temps = .{.mem},31037 .dst_temps = .{ .mem, .unused },
27326 .clobbers = .{ .eflags = true },31038 .clobbers = .{ .eflags = true },
27327 .each = .{ .once = switch (cc) {31039 .each = .{ .once = switch (cc) {
27328 else => unreachable,31040 else => unreachable,
...@@ -27391,7 +31103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27391,7 +31103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27391 .unused,31103 .unused,
27392 .unused,31104 .unused,
27393 },31105 },
27394 .dst_temps = .{.mem},31106 .dst_temps = .{ .mem, .unused },
27395 .clobbers = .{ .eflags = true },31107 .clobbers = .{ .eflags = true },
27396 .each = .{ .once = switch (cc) {31108 .each = .{ .once = switch (cc) {
27397 else => unreachable,31109 else => unreachable,
...@@ -27436,7 +31148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27436,7 +31148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27436 .unused,31148 .unused,
27437 .unused,31149 .unused,
27438 },31150 },
27439 .dst_temps = .{.mem},31151 .dst_temps = .{ .mem, .unused },
27440 .clobbers = .{ .eflags = true },31152 .clobbers = .{ .eflags = true },
27441 .each = .{ .once = switch (cc) {31153 .each = .{ .once = switch (cc) {
27442 else => unreachable,31154 else => unreachable,
...@@ -27509,7 +31221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27509,7 +31221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27509 .unused,31221 .unused,
27510 .unused,31222 .unused,
27511 },31223 },
27512 .dst_temps = .{.mem},31224 .dst_temps = .{ .mem, .unused },
27513 .clobbers = .{ .eflags = true },31225 .clobbers = .{ .eflags = true },
27514 .each = .{ .once = switch (cc) {31226 .each = .{ .once = switch (cc) {
27515 else => unreachable,31227 else => unreachable,
...@@ -27569,7 +31281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27569,7 +31281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27569 } },31281 } },
27570 }, .{31282 }, .{
27571 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },31283 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },
27572 .dst_constraints = .{.{ .bool_vec = .byte }},31284 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
27573 .patterns = &.{31285 .patterns = &.{
27574 .{ .src = .{ .to_mem, .to_mem, .none } },31286 .{ .src = .{ .to_mem, .to_mem, .none } },
27575 },31287 },
...@@ -27584,7 +31296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27584,7 +31296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27584 .unused,31296 .unused,
27585 .unused,31297 .unused,
27586 },31298 },
27587 .dst_temps = .{.{ .rc = .general_purpose }},31299 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27588 .clobbers = .{ .eflags = true },31300 .clobbers = .{ .eflags = true },
27589 .each = .{ .once = &.{31301 .each = .{ .once = &.{
27590 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },31302 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
...@@ -27601,7 +31313,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27601,7 +31313,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27601 } },31313 } },
27602 }, .{31314 }, .{
27603 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },31315 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },
27604 .dst_constraints = .{.{ .bool_vec = .byte }},31316 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
27605 .patterns = &.{31317 .patterns = &.{
27606 .{ .src = .{ .to_mem, .to_mem, .none } },31318 .{ .src = .{ .to_mem, .to_mem, .none } },
27607 },31319 },
...@@ -27616,7 +31328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27616,7 +31328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27616 .unused,31328 .unused,
27617 .unused,31329 .unused,
27618 },31330 },
27619 .dst_temps = .{.{ .rc = .general_purpose }},31331 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27620 .clobbers = .{ .eflags = true },31332 .clobbers = .{ .eflags = true },
27621 .each = .{ .once = &.{31333 .each = .{ .once = &.{
27622 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },31334 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
...@@ -27633,7 +31345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27633,7 +31345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27633 } },31345 } },
27634 }, .{31346 }, .{
27635 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },31347 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },
27636 .dst_constraints = .{.{ .bool_vec = .byte }},31348 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
27637 .patterns = &.{31349 .patterns = &.{
27638 .{ .src = .{ .to_mem, .to_mem, .none } },31350 .{ .src = .{ .to_mem, .to_mem, .none } },
27639 },31351 },
...@@ -27648,7 +31360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27648,7 +31360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27648 .unused,31360 .unused,
27649 .unused,31361 .unused,
27650 },31362 },
27651 .dst_temps = .{.{ .rc = .general_purpose }},31363 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27652 .clobbers = .{ .eflags = true },31364 .clobbers = .{ .eflags = true },
27653 .each = .{ .once = &.{31365 .each = .{ .once = &.{
27654 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },31366 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
...@@ -27666,7 +31378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27666,7 +31378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27666 }, .{31378 }, .{
27667 .required_features = .{ .@"64bit", null, null, null },31379 .required_features = .{ .@"64bit", null, null, null },
27668 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },31380 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },
27669 .dst_constraints = .{.{ .bool_vec = .byte }},31381 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
27670 .patterns = &.{31382 .patterns = &.{
27671 .{ .src = .{ .to_mem, .to_mem, .none } },31383 .{ .src = .{ .to_mem, .to_mem, .none } },
27672 },31384 },
...@@ -27681,7 +31393,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27681,7 +31393,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27681 .unused,31393 .unused,
27682 .unused,31394 .unused,
27683 },31395 },
27684 .dst_temps = .{.{ .rc = .general_purpose }},31396 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27685 .clobbers = .{ .eflags = true },31397 .clobbers = .{ .eflags = true },
27686 .each = .{ .once = &.{31398 .each = .{ .once = &.{
27687 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },31399 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
...@@ -27698,7 +31410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27698,7 +31410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27698 } },31410 } },
27699 }, .{31411 }, .{
27700 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },31412 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },
27701 .dst_constraints = .{.{ .bool_vec = .byte }},31413 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
27702 .patterns = &.{31414 .patterns = &.{
27703 .{ .src = .{ .to_mem, .to_mem, .none } },31415 .{ .src = .{ .to_mem, .to_mem, .none } },
27704 },31416 },
...@@ -27713,7 +31425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27713,7 +31425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27713 .unused,31425 .unused,
27714 .unused,31426 .unused,
27715 },31427 },
27716 .dst_temps = .{.{ .rc = .general_purpose }},31428 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27717 .clobbers = .{ .eflags = true },31429 .clobbers = .{ .eflags = true },
27718 .each = .{ .once = &.{31430 .each = .{ .once = &.{
27719 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },31431 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
...@@ -27737,7 +31449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27737,7 +31449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27737 } },31449 } },
27738 }, .{31450 }, .{
27739 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },31451 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },
27740 .dst_constraints = .{.{ .bool_vec = .dword }},31452 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
27741 .patterns = &.{31453 .patterns = &.{
27742 .{ .src = .{ .to_mem, .to_mem, .none } },31454 .{ .src = .{ .to_mem, .to_mem, .none } },
27743 },31455 },
...@@ -27752,7 +31464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27752,7 +31464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27752 .unused,31464 .unused,
27753 .unused,31465 .unused,
27754 },31466 },
27755 .dst_temps = .{.{ .rc = .general_purpose }},31467 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27756 .clobbers = .{ .eflags = true },31468 .clobbers = .{ .eflags = true },
27757 .each = .{ .once = &.{31469 .each = .{ .once = &.{
27758 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31470 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27770,7 +31482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27770,7 +31482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27770 } },31482 } },
27771 }, .{31483 }, .{
27772 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },31484 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },
27773 .dst_constraints = .{.{ .bool_vec = .dword }},31485 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
27774 .patterns = &.{31486 .patterns = &.{
27775 .{ .src = .{ .to_mem, .to_mem, .none } },31487 .{ .src = .{ .to_mem, .to_mem, .none } },
27776 },31488 },
...@@ -27785,7 +31497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27785,7 +31497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27785 .unused,31497 .unused,
27786 .unused,31498 .unused,
27787 },31499 },
27788 .dst_temps = .{.{ .rc = .general_purpose }},31500 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27789 .clobbers = .{ .eflags = true },31501 .clobbers = .{ .eflags = true },
27790 .each = .{ .once = &.{31502 .each = .{ .once = &.{
27791 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31503 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27803,7 +31515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27803,7 +31515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27803 } },31515 } },
27804 }, .{31516 }, .{
27805 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },31517 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },
27806 .dst_constraints = .{.{ .bool_vec = .dword }},31518 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
27807 .patterns = &.{31519 .patterns = &.{
27808 .{ .src = .{ .to_mem, .to_mem, .none } },31520 .{ .src = .{ .to_mem, .to_mem, .none } },
27809 },31521 },
...@@ -27818,7 +31530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27818,7 +31530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27818 .unused,31530 .unused,
27819 .unused,31531 .unused,
27820 },31532 },
27821 .dst_temps = .{.{ .rc = .general_purpose }},31533 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27822 .clobbers = .{ .eflags = true },31534 .clobbers = .{ .eflags = true },
27823 .each = .{ .once = &.{31535 .each = .{ .once = &.{
27824 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31536 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27837,7 +31549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27837,7 +31549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27837 }, .{31549 }, .{
27838 .required_features = .{ .@"64bit", null, null, null },31550 .required_features = .{ .@"64bit", null, null, null },
27839 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },31551 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },
27840 .dst_constraints = .{.{ .bool_vec = .dword }},31552 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
27841 .patterns = &.{31553 .patterns = &.{
27842 .{ .src = .{ .to_mem, .to_mem, .none } },31554 .{ .src = .{ .to_mem, .to_mem, .none } },
27843 },31555 },
...@@ -27852,7 +31564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27852,7 +31564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27852 .unused,31564 .unused,
27853 .unused,31565 .unused,
27854 },31566 },
27855 .dst_temps = .{.{ .rc = .general_purpose }},31567 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27856 .clobbers = .{ .eflags = true },31568 .clobbers = .{ .eflags = true },
27857 .each = .{ .once = &.{31569 .each = .{ .once = &.{
27858 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31570 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27870,7 +31582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27870,7 +31582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27870 } },31582 } },
27871 }, .{31583 }, .{
27872 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },31584 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },
27873 .dst_constraints = .{.{ .bool_vec = .dword }},31585 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
27874 .patterns = &.{31586 .patterns = &.{
27875 .{ .src = .{ .to_mem, .to_mem, .none } },31587 .{ .src = .{ .to_mem, .to_mem, .none } },
27876 },31588 },
...@@ -27885,7 +31597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27885,7 +31597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27885 .unused,31597 .unused,
27886 .unused,31598 .unused,
27887 },31599 },
27888 .dst_temps = .{.{ .rc = .general_purpose }},31600 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27889 .clobbers = .{ .eflags = true },31601 .clobbers = .{ .eflags = true },
27890 .each = .{ .once = &.{31602 .each = .{ .once = &.{
27891 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31603 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27911,7 +31623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27911,7 +31623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27911 }, .{31623 }, .{
27912 .required_features = .{ .@"64bit", null, null, null },31624 .required_features = .{ .@"64bit", null, null, null },
27913 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },31625 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },
27914 .dst_constraints = .{.{ .bool_vec = .qword }},31626 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
27915 .patterns = &.{31627 .patterns = &.{
27916 .{ .src = .{ .to_mem, .to_mem, .none } },31628 .{ .src = .{ .to_mem, .to_mem, .none } },
27917 },31629 },
...@@ -27926,7 +31638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27926,7 +31638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27926 .unused,31638 .unused,
27927 .unused,31639 .unused,
27928 },31640 },
27929 .dst_temps = .{.{ .rc = .general_purpose }},31641 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27930 .clobbers = .{ .eflags = true },31642 .clobbers = .{ .eflags = true },
27931 .each = .{ .once = &.{31643 .each = .{ .once = &.{
27932 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31644 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27945,7 +31657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27945,7 +31657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27945 }, .{31657 }, .{
27946 .required_features = .{ .@"64bit", null, null, null },31658 .required_features = .{ .@"64bit", null, null, null },
27947 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },31659 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },
27948 .dst_constraints = .{.{ .bool_vec = .qword }},31660 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
27949 .patterns = &.{31661 .patterns = &.{
27950 .{ .src = .{ .to_mem, .to_mem, .none } },31662 .{ .src = .{ .to_mem, .to_mem, .none } },
27951 },31663 },
...@@ -27960,7 +31672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27960,7 +31672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27960 .unused,31672 .unused,
27961 .unused,31673 .unused,
27962 },31674 },
27963 .dst_temps = .{.{ .rc = .general_purpose }},31675 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27964 .clobbers = .{ .eflags = true },31676 .clobbers = .{ .eflags = true },
27965 .each = .{ .once = &.{31677 .each = .{ .once = &.{
27966 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31678 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -27978,7 +31690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27978,7 +31690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27978 }, .{31690 }, .{
27979 .required_features = .{ .@"64bit", null, null, null },31691 .required_features = .{ .@"64bit", null, null, null },
27980 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },31692 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },
27981 .dst_constraints = .{.{ .bool_vec = .qword }},31693 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
27982 .patterns = &.{31694 .patterns = &.{
27983 .{ .src = .{ .to_mem, .to_mem, .none } },31695 .{ .src = .{ .to_mem, .to_mem, .none } },
27984 },31696 },
...@@ -27993,7 +31705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27993,7 +31705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27993 .unused,31705 .unused,
27994 .unused,31706 .unused,
27995 },31707 },
27996 .dst_temps = .{.{ .rc = .general_purpose }},31708 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
27997 .clobbers = .{ .eflags = true },31709 .clobbers = .{ .eflags = true },
27998 .each = .{ .once = &.{31710 .each = .{ .once = &.{
27999 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31711 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28012,7 +31724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28012,7 +31724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28012 }, .{31724 }, .{
28013 .required_features = .{ .@"64bit", null, null, null },31725 .required_features = .{ .@"64bit", null, null, null },
28014 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },31726 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },
28015 .dst_constraints = .{.{ .bool_vec = .qword }},31727 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
28016 .patterns = &.{31728 .patterns = &.{
28017 .{ .src = .{ .to_mem, .to_mem, .none } },31729 .{ .src = .{ .to_mem, .to_mem, .none } },
28018 },31730 },
...@@ -28027,7 +31739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28027,7 +31739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28027 .unused,31739 .unused,
28028 .unused,31740 .unused,
28029 },31741 },
28030 .dst_temps = .{.{ .rc = .general_purpose }},31742 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28031 .clobbers = .{ .eflags = true },31743 .clobbers = .{ .eflags = true },
28032 .each = .{ .once = &.{31744 .each = .{ .once = &.{
28033 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31745 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28046,7 +31758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28046,7 +31758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28046 }, .{31758 }, .{
28047 .required_features = .{ .@"64bit", null, null, null },31759 .required_features = .{ .@"64bit", null, null, null },
28048 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },31760 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },
28049 .dst_constraints = .{.{ .bool_vec = .qword }},31761 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
28050 .patterns = &.{31762 .patterns = &.{
28051 .{ .src = .{ .to_mem, .to_mem, .none } },31763 .{ .src = .{ .to_mem, .to_mem, .none } },
28052 },31764 },
...@@ -28061,7 +31773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28061,7 +31773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28061 .unused,31773 .unused,
28062 .unused,31774 .unused,
28063 },31775 },
28064 .dst_temps = .{.{ .rc = .general_purpose }},31776 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28065 .clobbers = .{ .eflags = true },31777 .clobbers = .{ .eflags = true },
28066 .each = .{ .once = &.{31778 .each = .{ .once = &.{
28067 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },31779 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28100,7 +31812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28100,7 +31812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28100 .unused,31812 .unused,
28101 .unused,31813 .unused,
28102 },31814 },
28103 .dst_temps = .{.mem},31815 .dst_temps = .{ .mem, .unused },
28104 .clobbers = .{ .eflags = true },31816 .clobbers = .{ .eflags = true },
28105 .each = .{ .once = &.{31817 .each = .{ .once = &.{
28106 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },31818 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -28142,7 +31854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28142,7 +31854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28142 .unused,31854 .unused,
28143 .unused,31855 .unused,
28144 },31856 },
28145 .dst_temps = .{.mem},31857 .dst_temps = .{ .mem, .unused },
28146 .clobbers = .{ .eflags = true },31858 .clobbers = .{ .eflags = true },
28147 .each = .{ .once = &.{31859 .each = .{ .once = &.{
28148 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },31860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -28184,7 +31896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28184,7 +31896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28184 .unused,31896 .unused,
28185 .unused,31897 .unused,
28186 },31898 },
28187 .dst_temps = .{.mem},31899 .dst_temps = .{ .mem, .unused },
28188 .clobbers = .{ .eflags = true },31900 .clobbers = .{ .eflags = true },
28189 .each = .{ .once = &.{31901 .each = .{ .once = &.{
28190 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },31902 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -28227,7 +31939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28227,7 +31939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28227 .unused,31939 .unused,
28228 .unused,31940 .unused,
28229 },31941 },
28230 .dst_temps = .{.mem},31942 .dst_temps = .{ .mem, .unused },
28231 .clobbers = .{ .eflags = true },31943 .clobbers = .{ .eflags = true },
28232 .each = .{ .once = &.{31944 .each = .{ .once = &.{
28233 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },31945 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -28274,11 +31986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28274,11 +31986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28274 .unused,31986 .unused,
28275 .unused,31987 .unused,
28276 },31988 },
28277 .dst_temps = .{.{ .mut_rc_mask = .{31989 .dst_temps = .{ .{ .mut_rc_mask = .{
28278 .ref = .src0,31990 .ref = .src0,
28279 .rc = .sse,31991 .rc = .sse,
28280 .info = .{ .kind = .all, .scalar = .dword },31992 .info = .{ .kind = .all, .scalar = .dword },
28281 } }},31993 } }, .unused },
28282 .each = .{ .once = &.{31994 .each = .{ .once = &.{
28283 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },31995 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
28284 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },31996 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -28312,11 +32024,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28312,11 +32024,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28312 .unused,32024 .unused,
28313 .unused,32025 .unused,
28314 },32026 },
28315 .dst_temps = .{.{ .mut_rc_mask = .{32027 .dst_temps = .{ .{ .mut_rc_mask = .{
28316 .ref = .src0,32028 .ref = .src0,
28317 .rc = .sse,32029 .rc = .sse,
28318 .info = .{ .kind = .all, .scalar = .dword },32030 .info = .{ .kind = .all, .scalar = .dword },
28319 } }},32031 } }, .unused },
28320 .each = .{ .once = &.{32032 .each = .{ .once = &.{
28321 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },32033 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
28322 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },32034 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -28350,11 +32062,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28350,11 +32062,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28350 .unused,32062 .unused,
28351 .unused,32063 .unused,
28352 },32064 },
28353 .dst_temps = .{.{ .mut_rc_mask = .{32065 .dst_temps = .{ .{ .mut_rc_mask = .{
28354 .ref = .src0,32066 .ref = .src0,
28355 .rc = .sse,32067 .rc = .sse,
28356 .info = .{ .kind = .all, .scalar = .dword },32068 .info = .{ .kind = .all, .scalar = .dword },
28357 } }},32069 } }, .unused },
28358 .each = .{ .once = &.{32070 .each = .{ .once = &.{
28359 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },32071 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
28360 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },32072 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
...@@ -28376,11 +32088,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28376,11 +32088,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28376 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },32088 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28377 .{ .src = .{ .to_sse, .to_sse, .none } },32089 .{ .src = .{ .to_sse, .to_sse, .none } },
28378 },32090 },
28379 .dst_temps = .{.{ .mut_rc_mask = .{32091 .dst_temps = .{ .{ .mut_rc_mask = .{
28380 .ref = .src0,32092 .ref = .src0,
28381 .rc = .sse,32093 .rc = .sse,
28382 .info = .{ .kind = .all, .scalar = .dword },32094 .info = .{ .kind = .all, .scalar = .dword },
28383 } }},32095 } }, .unused },
28384 .each = .{ .once = &.{32096 .each = .{ .once = &.{
28385 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {32097 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {
28386 else => unreachable,32098 else => unreachable,
...@@ -28400,10 +32112,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28400,10 +32112,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28400 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },32112 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
28401 .{ .src = .{ .to_mut_sse, .to_sse, .none } },32113 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
28402 },32114 },
28403 .dst_temps = .{.{ .ref_mask = .{32115 .dst_temps = .{ .{ .ref_mask = .{
28404 .ref = .src0,32116 .ref = .src0,
28405 .info = .{ .kind = .all, .scalar = .dword },32117 .info = .{ .kind = .all, .scalar = .dword },
28406 } }},32118 } }, .unused },
28407 .each = .{ .once = &.{32119 .each = .{ .once = &.{
28408 .{ ._, ._ss, .cmp, .dst0x, .src1d, .sp(switch (cc) {32120 .{ ._, ._ss, .cmp, .dst0x, .src1d, .sp(switch (cc) {
28409 else => unreachable,32121 else => unreachable,
...@@ -28423,11 +32135,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28423,11 +32135,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28423 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },32135 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28424 .{ .src = .{ .to_sse, .to_sse, .none } },32136 .{ .src = .{ .to_sse, .to_sse, .none } },
28425 },32137 },
28426 .dst_temps = .{.{ .mut_rc_mask = .{32138 .dst_temps = .{ .{ .mut_rc_mask = .{
28427 .ref = .src0,32139 .ref = .src0,
28428 .rc = .sse,32140 .rc = .sse,
28429 .info = .{ .kind = .all, .scalar = .dword },32141 .info = .{ .kind = .all, .scalar = .dword },
28430 } }},32142 } }, .unused },
28431 .each = .{ .once = &.{32143 .each = .{ .once = &.{
28432 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {32144 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
28433 else => unreachable,32145 else => unreachable,
...@@ -28447,10 +32159,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28447,10 +32159,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28447 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },32159 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
28448 .{ .src = .{ .to_mut_sse, .to_sse, .none } },32160 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
28449 },32161 },
28450 .dst_temps = .{.{ .ref_mask = .{32162 .dst_temps = .{ .{ .ref_mask = .{
28451 .ref = .src0,32163 .ref = .src0,
28452 .info = .{ .kind = .all, .scalar = .dword },32164 .info = .{ .kind = .all, .scalar = .dword },
28453 } }},32165 } }, .unused },
28454 .each = .{ .once = &.{32166 .each = .{ .once = &.{
28455 .{ ._, ._ps, .cmp, .dst0x, .src1x, .sp(switch (cc) {32167 .{ ._, ._ps, .cmp, .dst0x, .src1x, .sp(switch (cc) {
28456 else => unreachable,32168 else => unreachable,
...@@ -28470,11 +32182,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28470,11 +32182,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28470 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },32182 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28471 .{ .src = .{ .to_sse, .to_sse, .none } },32183 .{ .src = .{ .to_sse, .to_sse, .none } },
28472 },32184 },
28473 .dst_temps = .{.{ .mut_rc_mask = .{32185 .dst_temps = .{ .{ .mut_rc_mask = .{
28474 .ref = .src0,32186 .ref = .src0,
28475 .rc = .sse,32187 .rc = .sse,
28476 .info = .{ .kind = .all, .scalar = .dword },32188 .info = .{ .kind = .all, .scalar = .dword },
28477 } }},32189 } }, .unused },
28478 .each = .{ .once = &.{32190 .each = .{ .once = &.{
28479 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {32191 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
28480 else => unreachable,32192 else => unreachable,
...@@ -28494,11 +32206,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28494,11 +32206,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28494 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },32206 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28495 .{ .src = .{ .to_sse, .to_sse, .none } },32207 .{ .src = .{ .to_sse, .to_sse, .none } },
28496 },32208 },
28497 .dst_temps = .{.{ .mut_rc_mask = .{32209 .dst_temps = .{ .{ .mut_rc_mask = .{
28498 .ref = .src0,32210 .ref = .src0,
28499 .rc = .sse,32211 .rc = .sse,
28500 .info = .{ .kind = .all, .scalar = .qword },32212 .info = .{ .kind = .all, .scalar = .qword },
28501 } }},32213 } }, .unused },
28502 .each = .{ .once = &.{32214 .each = .{ .once = &.{
28503 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {32215 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {
28504 else => unreachable,32216 else => unreachable,
...@@ -28518,10 +32230,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28518,10 +32230,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28518 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },32230 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
28519 .{ .src = .{ .to_mut_sse, .to_sse, .none } },32231 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
28520 },32232 },
28521 .dst_temps = .{.{ .ref_mask = .{32233 .dst_temps = .{ .{ .ref_mask = .{
28522 .ref = .src0,32234 .ref = .src0,
28523 .info = .{ .kind = .all, .scalar = .qword },32235 .info = .{ .kind = .all, .scalar = .qword },
28524 } }},32236 } }, .unused },
28525 .each = .{ .once = &.{32237 .each = .{ .once = &.{
28526 .{ ._, ._sd, .cmp, .dst0x, .src1q, .sp(switch (cc) {32238 .{ ._, ._sd, .cmp, .dst0x, .src1q, .sp(switch (cc) {
28527 else => unreachable,32239 else => unreachable,
...@@ -28541,11 +32253,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28541,11 +32253,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28541 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },32253 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28542 .{ .src = .{ .to_sse, .to_sse, .none } },32254 .{ .src = .{ .to_sse, .to_sse, .none } },
28543 },32255 },
28544 .dst_temps = .{.{ .mut_rc_mask = .{32256 .dst_temps = .{ .{ .mut_rc_mask = .{
28545 .ref = .src0,32257 .ref = .src0,
28546 .rc = .sse,32258 .rc = .sse,
28547 .info = .{ .kind = .all, .scalar = .qword },32259 .info = .{ .kind = .all, .scalar = .qword },
28548 } }},32260 } }, .unused },
28549 .each = .{ .once = &.{32261 .each = .{ .once = &.{
28550 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {32262 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
28551 else => unreachable,32263 else => unreachable,
...@@ -28565,10 +32277,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28565,10 +32277,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28565 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },32277 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
28566 .{ .src = .{ .to_mut_sse, .to_sse, .none } },32278 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
28567 },32279 },
28568 .dst_temps = .{.{ .ref_mask = .{32280 .dst_temps = .{ .{ .ref_mask = .{
28569 .ref = .src0,32281 .ref = .src0,
28570 .info = .{ .kind = .all, .scalar = .qword },32282 .info = .{ .kind = .all, .scalar = .qword },
28571 } }},32283 } }, .unused },
28572 .each = .{ .once = &.{32284 .each = .{ .once = &.{
28573 .{ ._, ._pd, .cmp, .dst0x, .src1x, .sp(switch (cc) {32285 .{ ._, ._pd, .cmp, .dst0x, .src1x, .sp(switch (cc) {
28574 else => unreachable,32286 else => unreachable,
...@@ -28588,11 +32300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28588,11 +32300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28588 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },32300 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28589 .{ .src = .{ .to_sse, .to_sse, .none } },32301 .{ .src = .{ .to_sse, .to_sse, .none } },
28590 },32302 },
28591 .dst_temps = .{.{ .mut_rc_mask = .{32303 .dst_temps = .{ .{ .mut_rc_mask = .{
28592 .ref = .src0,32304 .ref = .src0,
28593 .rc = .sse,32305 .rc = .sse,
28594 .info = .{ .kind = .all, .scalar = .qword },32306 .info = .{ .kind = .all, .scalar = .qword },
28595 } }},32307 } }, .unused },
28596 .each = .{ .once = &.{32308 .each = .{ .once = &.{
28597 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {32309 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
28598 else => unreachable,32310 else => unreachable,
...@@ -28621,7 +32333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28621,7 +32333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28621 .unused,32333 .unused,
28622 .unused,32334 .unused,
28623 },32335 },
28624 .dst_temps = .{.mem},32336 .dst_temps = .{ .mem, .unused },
28625 .clobbers = .{ .eflags = true },32337 .clobbers = .{ .eflags = true },
28626 .each = .{ .once = &.{32338 .each = .{ .once = &.{
28627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },32339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -28660,7 +32372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28660,7 +32372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28660 .unused,32372 .unused,
28661 .unused,32373 .unused,
28662 },32374 },
28663 .dst_temps = .{.mem},32375 .dst_temps = .{ .mem, .unused },
28664 .clobbers = .{ .eflags = true },32376 .clobbers = .{ .eflags = true },
28665 .each = .{ .once = &.{32377 .each = .{ .once = &.{
28666 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },32378 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -28685,7 +32397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28685,7 +32397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28685 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },32397 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
28686 .any,32398 .any,
28687 },32399 },
28688 .dst_constraints = .{.{ .bool_vec = .dword }},32400 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
28689 .patterns = &.{32401 .patterns = &.{
28690 .{ .src = .{ .to_mem, .to_mem, .none } },32402 .{ .src = .{ .to_mem, .to_mem, .none } },
28691 },32403 },
...@@ -28701,7 +32413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28701,7 +32413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28701 .unused,32413 .unused,
28702 .unused,32414 .unused,
28703 },32415 },
28704 .dst_temps = .{.{ .rc = .general_purpose }},32416 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28705 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32417 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28706 .each = .{ .once = &.{32418 .each = .{ .once = &.{
28707 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },32419 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28727,7 +32439,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28727,7 +32439,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28727 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },32439 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
28728 .any,32440 .any,
28729 },32441 },
28730 .dst_constraints = .{.{ .bool_vec = .dword }},32442 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
28731 .patterns = &.{32443 .patterns = &.{
28732 .{ .src = .{ .to_mem, .to_mem, .none } },32444 .{ .src = .{ .to_mem, .to_mem, .none } },
28733 },32445 },
...@@ -28743,7 +32455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28743,7 +32455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28743 .unused,32455 .unused,
28744 .unused,32456 .unused,
28745 },32457 },
28746 .dst_temps = .{.{ .rc = .general_purpose }},32458 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28747 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32459 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28748 .each = .{ .once = &.{32460 .each = .{ .once = &.{
28749 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },32461 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28769,7 +32481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28769,7 +32481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28769 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },32481 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
28770 .any,32482 .any,
28771 },32483 },
28772 .dst_constraints = .{.{ .bool_vec = .dword }},32484 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
28773 .patterns = &.{32485 .patterns = &.{
28774 .{ .src = .{ .to_mem, .to_mem, .none } },32486 .{ .src = .{ .to_mem, .to_mem, .none } },
28775 },32487 },
...@@ -28785,7 +32497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28785,7 +32497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28785 .unused,32497 .unused,
28786 .unused,32498 .unused,
28787 },32499 },
28788 .dst_temps = .{.{ .rc = .general_purpose }},32500 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28789 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32501 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28790 .each = .{ .once = &.{32502 .each = .{ .once = &.{
28791 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },32503 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28812,7 +32524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28812,7 +32524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28812 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },32524 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
28813 .any,32525 .any,
28814 },32526 },
28815 .dst_constraints = .{.{ .bool_vec = .dword }},32527 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
28816 .patterns = &.{32528 .patterns = &.{
28817 .{ .src = .{ .to_mem, .to_mem, .none } },32529 .{ .src = .{ .to_mem, .to_mem, .none } },
28818 },32530 },
...@@ -28828,7 +32540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28828,7 +32540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28828 .unused,32540 .unused,
28829 .unused,32541 .unused,
28830 },32542 },
28831 .dst_temps = .{.{ .rc = .general_purpose }},32543 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28832 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32544 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28833 .each = .{ .once = &.{32545 .each = .{ .once = &.{
28834 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },32546 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28855,7 +32567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28855,7 +32567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28855 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },32567 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
28856 .any,32568 .any,
28857 },32569 },
28858 .dst_constraints = .{.{ .bool_vec = .dword }},32570 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
28859 .patterns = &.{32571 .patterns = &.{
28860 .{ .src = .{ .to_mem, .to_mem, .none } },32572 .{ .src = .{ .to_mem, .to_mem, .none } },
28861 },32573 },
...@@ -28871,7 +32583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28871,7 +32583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28871 .{ .type = .f32, .kind = .mem },32583 .{ .type = .f32, .kind = .mem },
28872 .unused,32584 .unused,
28873 },32585 },
28874 .dst_temps = .{.{ .rc = .general_purpose }},32586 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28875 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32587 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28876 .each = .{ .once = &.{32588 .each = .{ .once = &.{
28877 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },32589 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28900,7 +32612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28900,7 +32612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28900 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },32612 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
28901 .any,32613 .any,
28902 },32614 },
28903 .dst_constraints = .{.{ .bool_vec = .dword }},32615 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
28904 .patterns = &.{32616 .patterns = &.{
28905 .{ .src = .{ .to_mem, .to_mem, .none } },32617 .{ .src = .{ .to_mem, .to_mem, .none } },
28906 },32618 },
...@@ -28916,7 +32628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28916,7 +32628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28916 .{ .type = .f32, .kind = .mem },32628 .{ .type = .f32, .kind = .mem },
28917 .unused,32629 .unused,
28918 },32630 },
28919 .dst_temps = .{.{ .rc = .general_purpose }},32631 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
28920 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32632 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28921 .each = .{ .once = &.{32633 .each = .{ .once = &.{
28922 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },32634 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -28960,7 +32672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28960,7 +32672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28960 .{ .type = .u64, .kind = .{ .reg = .rdx } },32672 .{ .type = .u64, .kind = .{ .reg = .rdx } },
28961 .unused,32673 .unused,
28962 },32674 },
28963 .dst_temps = .{.mem},32675 .dst_temps = .{ .mem, .unused },
28964 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32676 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
28965 .each = .{ .once = &.{32677 .each = .{ .once = &.{
28966 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },32678 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -29011,7 +32723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29011,7 +32723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29011 .{ .type = .u64, .kind = .{ .reg = .rdx } },32723 .{ .type = .u64, .kind = .{ .reg = .rdx } },
29012 .unused,32724 .unused,
29013 },32725 },
29014 .dst_temps = .{.mem},32726 .dst_temps = .{ .mem, .unused },
29015 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32727 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
29016 .each = .{ .once = &.{32728 .each = .{ .once = &.{
29017 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },32729 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -29062,7 +32774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29062,7 +32774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29062 .{ .type = .u64, .kind = .{ .reg = .rdx } },32774 .{ .type = .u64, .kind = .{ .reg = .rdx } },
29063 .unused,32775 .unused,
29064 },32776 },
29065 .dst_temps = .{.mem},32777 .dst_temps = .{ .mem, .unused },
29066 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32778 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
29067 .each = .{ .once = &.{32779 .each = .{ .once = &.{
29068 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },32780 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -29114,7 +32826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29114,7 +32826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29114 .{ .type = .u64, .kind = .{ .reg = .rdx } },32826 .{ .type = .u64, .kind = .{ .reg = .rdx } },
29115 .unused,32827 .unused,
29116 },32828 },
29117 .dst_temps = .{.mem},32829 .dst_temps = .{ .mem, .unused },
29118 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32830 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
29119 .each = .{ .once = &.{32831 .each = .{ .once = &.{
29120 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },32832 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -29166,7 +32878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29166,7 +32878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29166 .{ .type = .u64, .kind = .{ .reg = .rdx } },32878 .{ .type = .u64, .kind = .{ .reg = .rdx } },
29167 .{ .type = .f32, .kind = .mem },32879 .{ .type = .f32, .kind = .mem },
29168 },32880 },
29169 .dst_temps = .{.mem},32881 .dst_temps = .{ .mem, .unused },
29170 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32882 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
29171 .each = .{ .once = &.{32883 .each = .{ .once = &.{
29172 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },32884 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -29220,7 +32932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29220,7 +32932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29220 .{ .type = .u64, .kind = .{ .reg = .rdx } },32932 .{ .type = .u64, .kind = .{ .reg = .rdx } },
29221 .{ .type = .f32, .kind = .mem },32933 .{ .type = .f32, .kind = .mem },
29222 },32934 },
29223 .dst_temps = .{.mem},32935 .dst_temps = .{ .mem, .unused },
29224 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },32936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
29225 .each = .{ .once = &.{32937 .each = .{ .once = &.{
29226 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },32938 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -29273,7 +32985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29273,7 +32985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29273 .unused,32985 .unused,
29274 .unused,32986 .unused,
29275 },32987 },
29276 .dst_temps = .{.mem},32988 .dst_temps = .{ .mem, .unused },
29277 .clobbers = .{ .eflags = true },32989 .clobbers = .{ .eflags = true },
29278 .each = .{ .once = &.{32990 .each = .{ .once = &.{
29279 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },32991 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29311,7 +33023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29311,7 +33023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29311 .unused,33023 .unused,
29312 .unused,33024 .unused,
29313 },33025 },
29314 .dst_temps = .{.mem},33026 .dst_temps = .{ .mem, .unused },
29315 .clobbers = .{ .eflags = true },33027 .clobbers = .{ .eflags = true },
29316 .each = .{ .once = &.{33028 .each = .{ .once = &.{
29317 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33029 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29349,7 +33061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29349,7 +33061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29349 .unused,33061 .unused,
29350 .unused,33062 .unused,
29351 },33063 },
29352 .dst_temps = .{.mem},33064 .dst_temps = .{ .mem, .unused },
29353 .clobbers = .{ .eflags = true },33065 .clobbers = .{ .eflags = true },
29354 .each = .{ .once = &.{33066 .each = .{ .once = &.{
29355 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33067 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29395,7 +33107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29395,7 +33107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29395 .unused,33107 .unused,
29396 .unused,33108 .unused,
29397 },33109 },
29398 .dst_temps = .{.mem},33110 .dst_temps = .{ .mem, .unused },
29399 .clobbers = .{ .eflags = true },33111 .clobbers = .{ .eflags = true },
29400 .each = .{ .once = &.{33112 .each = .{ .once = &.{
29401 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33113 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29442,7 +33154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29442,7 +33154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29442 .unused,33154 .unused,
29443 .unused,33155 .unused,
29444 },33156 },
29445 .dst_temps = .{.mem},33157 .dst_temps = .{ .mem, .unused },
29446 .clobbers = .{ .eflags = true },33158 .clobbers = .{ .eflags = true },
29447 .each = .{ .once = &.{33159 .each = .{ .once = &.{
29448 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33160 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29491,7 +33203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29491,7 +33203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29491 .unused,33203 .unused,
29492 .unused,33204 .unused,
29493 },33205 },
29494 .dst_temps = .{.mem},33206 .dst_temps = .{ .mem, .unused },
29495 .clobbers = .{ .eflags = true },33207 .clobbers = .{ .eflags = true },
29496 .each = .{ .once = &.{33208 .each = .{ .once = &.{
29497 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33209 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29538,7 +33250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29538,7 +33250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29538 .unused,33250 .unused,
29539 .unused,33251 .unused,
29540 },33252 },
29541 .dst_temps = .{.mem},33253 .dst_temps = .{ .mem, .unused },
29542 .clobbers = .{ .eflags = true },33254 .clobbers = .{ .eflags = true },
29543 .each = .{ .once = &.{33255 .each = .{ .once = &.{
29544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33256 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29585,7 +33297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29585,7 +33297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29585 .unused,33297 .unused,
29586 .unused,33298 .unused,
29587 },33299 },
29588 .dst_temps = .{.mem},33300 .dst_temps = .{ .mem, .unused },
29589 .clobbers = .{ .eflags = true },33301 .clobbers = .{ .eflags = true },
29590 .each = .{ .once = &.{33302 .each = .{ .once = &.{
29591 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29635,7 +33347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29635,7 +33347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29635 .unused,33347 .unused,
29636 .unused,33348 .unused,
29637 },33349 },
29638 .dst_temps = .{.mem},33350 .dst_temps = .{ .mem, .unused },
29639 .clobbers = .{ .eflags = true },33351 .clobbers = .{ .eflags = true },
29640 .each = .{ .once = &.{33352 .each = .{ .once = &.{
29641 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33353 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29685,7 +33397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29685,7 +33397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29685 .unused,33397 .unused,
29686 .unused,33398 .unused,
29687 },33399 },
29688 .dst_temps = .{.mem},33400 .dst_temps = .{ .mem, .unused },
29689 .clobbers = .{ .eflags = true },33401 .clobbers = .{ .eflags = true },
29690 .each = .{ .once = &.{33402 .each = .{ .once = &.{
29691 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33403 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29745,7 +33457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29745,7 +33457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29745 .unused,33457 .unused,
29746 .unused,33458 .unused,
29747 },33459 },
29748 .dst_temps = .{.mem},33460 .dst_temps = .{ .mem, .unused },
29749 .clobbers = .{ .eflags = true },33461 .clobbers = .{ .eflags = true },
29750 .each = .{ .once = &.{33462 .each = .{ .once = &.{
29751 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29805,7 +33517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29805,7 +33517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29805 .unused,33517 .unused,
29806 .unused,33518 .unused,
29807 },33519 },
29808 .dst_temps = .{.mem},33520 .dst_temps = .{ .mem, .unused },
29809 .clobbers = .{ .eflags = true },33521 .clobbers = .{ .eflags = true },
29810 .each = .{ .once = &.{33522 .each = .{ .once = &.{
29811 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33523 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29856,7 +33568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29856,7 +33568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29856 .unused,33568 .unused,
29857 .unused,33569 .unused,
29858 },33570 },
29859 .dst_temps = .{.mem},33571 .dst_temps = .{ .mem, .unused },
29860 .clobbers = .{ .eflags = true },33572 .clobbers = .{ .eflags = true },
29861 .each = .{ .once = &.{33573 .each = .{ .once = &.{
29862 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33574 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29916,7 +33628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29916,7 +33628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29916 .unused,33628 .unused,
29917 .unused,33629 .unused,
29918 },33630 },
29919 .dst_temps = .{.mem},33631 .dst_temps = .{ .mem, .unused },
29920 .clobbers = .{ .eflags = true },33632 .clobbers = .{ .eflags = true },
29921 .each = .{ .once = &.{33633 .each = .{ .once = &.{
29922 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33634 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -29976,7 +33688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29976,7 +33688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29976 .unused,33688 .unused,
29977 .unused,33689 .unused,
29978 },33690 },
29979 .dst_temps = .{.mem},33691 .dst_temps = .{ .mem, .unused },
29980 .clobbers = .{ .eflags = true },33692 .clobbers = .{ .eflags = true },
29981 .each = .{ .once = &.{33693 .each = .{ .once = &.{
29982 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33694 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30013,7 +33725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30013,7 +33725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30013 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },33725 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
30014 .any,33726 .any,
30015 },33727 },
30016 .dst_constraints = .{.{ .bool_vec = .dword }},33728 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
30017 .patterns = &.{33729 .patterns = &.{
30018 .{ .src = .{ .to_mem, .to_mem, .none } },33730 .{ .src = .{ .to_mem, .to_mem, .none } },
30019 },33731 },
...@@ -30029,7 +33741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30029,7 +33741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30029 .{ .type = .u32, .kind = .{ .reg = .edx } },33741 .{ .type = .u32, .kind = .{ .reg = .edx } },
30030 .unused,33742 .unused,
30031 },33743 },
30032 .dst_temps = .{.{ .rc = .general_purpose }},33744 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
30033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33745 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30034 .each = .{ .once = &.{33746 .each = .{ .once = &.{
30035 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },33747 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -30055,7 +33767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30055,7 +33767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30055 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },33767 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
30056 .any,33768 .any,
30057 },33769 },
30058 .dst_constraints = .{.{ .bool_vec = .dword }},33770 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
30059 .patterns = &.{33771 .patterns = &.{
30060 .{ .src = .{ .to_mem, .to_mem, .none } },33772 .{ .src = .{ .to_mem, .to_mem, .none } },
30061 },33773 },
...@@ -30071,7 +33783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30071,7 +33783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30071 .{ .type = .u32, .kind = .{ .reg = .edx } },33783 .{ .type = .u32, .kind = .{ .reg = .edx } },
30072 .unused,33784 .unused,
30073 },33785 },
30074 .dst_temps = .{.{ .rc = .general_purpose }},33786 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
30075 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33787 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30076 .each = .{ .once = &.{33788 .each = .{ .once = &.{
30077 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },33789 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -30097,7 +33809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30097,7 +33809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30097 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },33809 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
30098 .any,33810 .any,
30099 },33811 },
30100 .dst_constraints = .{.{ .bool_vec = .dword }},33812 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
30101 .patterns = &.{33813 .patterns = &.{
30102 .{ .src = .{ .to_mem, .to_mem, .none } },33814 .{ .src = .{ .to_mem, .to_mem, .none } },
30103 },33815 },
...@@ -30113,7 +33825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30113,7 +33825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30113 .{ .type = .u32, .kind = .{ .reg = .edx } },33825 .{ .type = .u32, .kind = .{ .reg = .edx } },
30114 .unused,33826 .unused,
30115 },33827 },
30116 .dst_temps = .{.{ .rc = .general_purpose }},33828 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
30117 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30118 .each = .{ .once = &.{33830 .each = .{ .once = &.{
30119 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },33831 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -30139,7 +33851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30139,7 +33851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30139 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },33851 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
30140 .any,33852 .any,
30141 },33853 },
30142 .dst_constraints = .{.{ .bool_vec = .dword }},33854 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
30143 .patterns = &.{33855 .patterns = &.{
30144 .{ .src = .{ .to_mem, .to_mem, .none } },33856 .{ .src = .{ .to_mem, .to_mem, .none } },
30145 },33857 },
...@@ -30155,7 +33867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30155,7 +33867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30155 .{ .type = .u32, .kind = .{ .reg = .edx } },33867 .{ .type = .u32, .kind = .{ .reg = .edx } },
30156 .unused,33868 .unused,
30157 },33869 },
30158 .dst_temps = .{.{ .rc = .general_purpose }},33870 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
30159 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33871 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30160 .each = .{ .once = &.{33872 .each = .{ .once = &.{
30161 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },33873 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -30181,7 +33893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30181,7 +33893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30181 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },33893 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
30182 .any,33894 .any,
30183 },33895 },
30184 .dst_constraints = .{.{ .bool_vec = .dword }},33896 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
30185 .patterns = &.{33897 .patterns = &.{
30186 .{ .src = .{ .to_mem, .to_mem, .none } },33898 .{ .src = .{ .to_mem, .to_mem, .none } },
30187 },33899 },
...@@ -30197,7 +33909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30197,7 +33909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30197 .{ .type = .u32, .kind = .{ .reg = .edx } },33909 .{ .type = .u32, .kind = .{ .reg = .edx } },
30198 .unused,33910 .unused,
30199 },33911 },
30200 .dst_temps = .{.{ .rc = .general_purpose }},33912 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
30201 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33913 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30202 .each = .{ .once = &.{33914 .each = .{ .once = &.{
30203 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },33915 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -30223,7 +33935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30223,7 +33935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30223 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },33935 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
30224 .any,33936 .any,
30225 },33937 },
30226 .dst_constraints = .{.{ .bool_vec = .dword }},33938 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
30227 .patterns = &.{33939 .patterns = &.{
30228 .{ .src = .{ .to_mem, .to_mem, .none } },33940 .{ .src = .{ .to_mem, .to_mem, .none } },
30229 },33941 },
...@@ -30239,7 +33951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30239,7 +33951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30239 .{ .type = .u32, .kind = .{ .reg = .edx } },33951 .{ .type = .u32, .kind = .{ .reg = .edx } },
30240 .unused,33952 .unused,
30241 },33953 },
30242 .dst_temps = .{.{ .rc = .general_purpose }},33954 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
30243 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33955 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30244 .each = .{ .once = &.{33956 .each = .{ .once = &.{
30245 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },33957 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -30280,7 +33992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30280,7 +33992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30280 .{ .type = .u8, .kind = .{ .reg = .cl } },33992 .{ .type = .u8, .kind = .{ .reg = .cl } },
30281 .{ .type = .u64, .kind = .{ .reg = .rdx } },33993 .{ .type = .u64, .kind = .{ .reg = .rdx } },
30282 },33994 },
30283 .dst_temps = .{.mem},33995 .dst_temps = .{ .mem, .unused },
30284 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },33996 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30285 .each = .{ .once = &.{33997 .each = .{ .once = &.{
30286 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },33998 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30331,7 +34043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30331,7 +34043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30331 .{ .type = .u8, .kind = .{ .reg = .cl } },34043 .{ .type = .u8, .kind = .{ .reg = .cl } },
30332 .{ .type = .u64, .kind = .{ .reg = .rdx } },34044 .{ .type = .u64, .kind = .{ .reg = .rdx } },
30333 },34045 },
30334 .dst_temps = .{.mem},34046 .dst_temps = .{ .mem, .unused },
30335 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34047 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30336 .each = .{ .once = &.{34048 .each = .{ .once = &.{
30337 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },34049 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30382,7 +34094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30382,7 +34094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30382 .{ .type = .u8, .kind = .{ .reg = .cl } },34094 .{ .type = .u8, .kind = .{ .reg = .cl } },
30383 .{ .type = .u64, .kind = .{ .reg = .rdx } },34095 .{ .type = .u64, .kind = .{ .reg = .rdx } },
30384 },34096 },
30385 .dst_temps = .{.mem},34097 .dst_temps = .{ .mem, .unused },
30386 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34098 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30387 .each = .{ .once = &.{34099 .each = .{ .once = &.{
30388 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },34100 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30433,7 +34145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30433,7 +34145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30433 .{ .type = .u8, .kind = .{ .reg = .cl } },34145 .{ .type = .u8, .kind = .{ .reg = .cl } },
30434 .{ .type = .u64, .kind = .{ .reg = .rdx } },34146 .{ .type = .u64, .kind = .{ .reg = .rdx } },
30435 },34147 },
30436 .dst_temps = .{.mem},34148 .dst_temps = .{ .mem, .unused },
30437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34149 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30438 .each = .{ .once = &.{34150 .each = .{ .once = &.{
30439 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },34151 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30484,7 +34196,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30484,7 +34196,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30484 .{ .type = .u8, .kind = .{ .reg = .cl } },34196 .{ .type = .u8, .kind = .{ .reg = .cl } },
30485 .{ .type = .u64, .kind = .{ .reg = .rdx } },34197 .{ .type = .u64, .kind = .{ .reg = .rdx } },
30486 },34198 },
30487 .dst_temps = .{.mem},34199 .dst_temps = .{ .mem, .unused },
30488 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34200 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30489 .each = .{ .once = &.{34201 .each = .{ .once = &.{
30490 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },34202 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30535,7 +34247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30535,7 +34247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30535 .{ .type = .u8, .kind = .{ .reg = .cl } },34247 .{ .type = .u8, .kind = .{ .reg = .cl } },
30536 .{ .type = .u64, .kind = .{ .reg = .rdx } },34248 .{ .type = .u64, .kind = .{ .reg = .rdx } },
30537 },34249 },
30538 .dst_temps = .{.mem},34250 .dst_temps = .{ .mem, .unused },
30539 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34251 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30540 .each = .{ .once = &.{34252 .each = .{ .once = &.{
30541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },34253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -30589,7 +34301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30589,7 +34301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30589 .patterns = &.{34301 .patterns = &.{
30590 .{ .src = .{ .to_sse, .none, .none } },34302 .{ .src = .{ .to_sse, .none, .none } },
30591 },34303 },
30592 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34304 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30593 .each = .{ .once = &.{34305 .each = .{ .once = &.{
30594 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },34306 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
30595 .{ ._, .v_ss, .sqrt, .dst0x, .dst0x, .dst0d, ._ },34307 .{ ._, .v_ss, .sqrt, .dst0x, .dst0x, .dst0d, ._ },
...@@ -30613,7 +34325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30613,7 +34325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30613 .unused,34325 .unused,
30614 .unused,34326 .unused,
30615 },34327 },
30616 .dst_temps = .{.{ .ref = .src0 }},34328 .dst_temps = .{ .{ .ref = .src0 }, .unused },
30617 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34329 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30618 .each = .{ .once = &.{34330 .each = .{ .once = &.{
30619 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },34331 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -30625,7 +34337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30625,7 +34337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30625 .{ .src = .{ .mem, .none, .none } },34337 .{ .src = .{ .mem, .none, .none } },
30626 .{ .src = .{ .to_sse, .none, .none } },34338 .{ .src = .{ .to_sse, .none, .none } },
30627 },34339 },
30628 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34340 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30629 .each = .{ .once = &.{34341 .each = .{ .once = &.{
30630 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },34342 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
30631 .{ ._, .v_ps, .sqrt, .dst0x, .dst0x, ._, ._ },34343 .{ ._, .v_ps, .sqrt, .dst0x, .dst0x, ._, ._ },
...@@ -30638,7 +34350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30638,7 +34350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30638 .{ .src = .{ .mem, .none, .none } },34350 .{ .src = .{ .mem, .none, .none } },
30639 .{ .src = .{ .to_sse, .none, .none } },34351 .{ .src = .{ .to_sse, .none, .none } },
30640 },34352 },
30641 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34353 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30642 .each = .{ .once = &.{34354 .each = .{ .once = &.{
30643 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },34355 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
30644 .{ ._, .v_ps, .sqrt, .dst0y, .dst0y, ._, ._ },34356 .{ ._, .v_ps, .sqrt, .dst0y, .dst0y, ._, ._ },
...@@ -30661,7 +34373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30661,7 +34373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30661 .unused,34373 .unused,
30662 .unused,34374 .unused,
30663 },34375 },
30664 .dst_temps = .{.mem},34376 .dst_temps = .{ .mem, .unused },
30665 .clobbers = .{ .eflags = true },34377 .clobbers = .{ .eflags = true },
30666 .each = .{ .once = &.{34378 .each = .{ .once = &.{
30667 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34379 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30689,7 +34401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30689,7 +34401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30689 .unused,34401 .unused,
30690 .unused,34402 .unused,
30691 },34403 },
30692 .dst_temps = .{.mem},34404 .dst_temps = .{ .mem, .unused },
30693 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34405 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30694 .each = .{ .once = &.{34406 .each = .{ .once = &.{
30695 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34407 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30718,7 +34430,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30718,7 +34430,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30718 .unused,34430 .unused,
30719 .unused,34431 .unused,
30720 },34432 },
30721 .dst_temps = .{.mem},34433 .dst_temps = .{ .mem, .unused },
30722 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34434 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30723 .each = .{ .once = &.{34435 .each = .{ .once = &.{
30724 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30747,7 +34459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30747,7 +34459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30747 .unused,34459 .unused,
30748 .unused,34460 .unused,
30749 },34461 },
30750 .dst_temps = .{.mem},34462 .dst_temps = .{ .mem, .unused },
30751 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30752 .each = .{ .once = &.{34464 .each = .{ .once = &.{
30753 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34465 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30777,7 +34489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30777,7 +34489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30777 .unused,34489 .unused,
30778 .unused,34490 .unused,
30779 },34491 },
30780 .dst_temps = .{.mem},34492 .dst_temps = .{ .mem, .unused },
30781 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30782 .each = .{ .once = &.{34494 .each = .{ .once = &.{
30783 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34495 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30797,7 +34509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30797,7 +34509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30797 .patterns = &.{34509 .patterns = &.{
30798 .{ .src = .{ .mem, .none, .none } },34510 .{ .src = .{ .mem, .none, .none } },
30799 },34511 },
30800 .dst_temps = .{.{ .rc = .sse }},34512 .dst_temps = .{ .{ .rc = .sse }, .unused },
30801 .each = .{ .once = &.{34513 .each = .{ .once = &.{
30802 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },34514 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
30803 .{ ._, .v_ss, .sqrt, .dst0x, .dst0x, .src0d, ._ },34515 .{ ._, .v_ss, .sqrt, .dst0x, .dst0x, .src0d, ._ },
...@@ -30808,7 +34520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30808,7 +34520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30808 .patterns = &.{34520 .patterns = &.{
30809 .{ .src = .{ .to_sse, .none, .none } },34521 .{ .src = .{ .to_sse, .none, .none } },
30810 },34522 },
30811 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34523 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30812 .each = .{ .once = &.{34524 .each = .{ .once = &.{
30813 .{ ._, .v_ss, .sqrt, .dst0x, .src0x, .src0d, ._ },34525 .{ ._, .v_ss, .sqrt, .dst0x, .src0x, .src0d, ._ },
30814 } },34526 } },
...@@ -30818,7 +34530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30818,7 +34530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30818 .patterns = &.{34530 .patterns = &.{
30819 .{ .src = .{ .mem, .none, .none } },34531 .{ .src = .{ .mem, .none, .none } },
30820 },34532 },
30821 .dst_temps = .{.{ .rc = .sse }},34533 .dst_temps = .{ .{ .rc = .sse }, .unused },
30822 .each = .{ .once = &.{34534 .each = .{ .once = &.{
30823 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },34535 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
30824 .{ ._, ._ss, .sqrt, .dst0x, .src0d, ._, ._ },34536 .{ ._, ._ss, .sqrt, .dst0x, .src0d, ._, ._ },
...@@ -30829,7 +34541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30829,7 +34541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30829 .patterns = &.{34541 .patterns = &.{
30830 .{ .src = .{ .to_mut_sse, .none, .none } },34542 .{ .src = .{ .to_mut_sse, .none, .none } },
30831 },34543 },
30832 .dst_temps = .{.{ .ref = .src0 }},34544 .dst_temps = .{ .{ .ref = .src0 }, .unused },
30833 .each = .{ .once = &.{34545 .each = .{ .once = &.{
30834 .{ ._, ._ss, .sqrt, .dst0x, .src0d, ._, ._ },34546 .{ ._, ._ss, .sqrt, .dst0x, .src0d, ._, ._ },
30835 } },34547 } },
...@@ -30851,7 +34563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30851,7 +34563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30851 .unused,34563 .unused,
30852 .unused,34564 .unused,
30853 },34565 },
30854 .dst_temps = .{.{ .ref = .src0 }},34566 .dst_temps = .{ .{ .ref = .src0 }, .unused },
30855 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34567 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30856 .each = .{ .once = &.{34568 .each = .{ .once = &.{
30857 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },34569 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -30863,7 +34575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30863,7 +34575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30863 .{ .src = .{ .mem, .none, .none } },34575 .{ .src = .{ .mem, .none, .none } },
30864 .{ .src = .{ .to_sse, .none, .none } },34576 .{ .src = .{ .to_sse, .none, .none } },
30865 },34577 },
30866 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34578 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30867 .each = .{ .once = &.{34579 .each = .{ .once = &.{
30868 .{ ._, .v_ps, .sqrt, .dst0x, .src0x, ._, ._ },34580 .{ ._, .v_ps, .sqrt, .dst0x, .src0x, ._, ._ },
30869 } },34581 } },
...@@ -30874,7 +34586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30874,7 +34586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30874 .{ .src = .{ .mem, .none, .none } },34586 .{ .src = .{ .mem, .none, .none } },
30875 .{ .src = .{ .to_sse, .none, .none } },34587 .{ .src = .{ .to_sse, .none, .none } },
30876 },34588 },
30877 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34589 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30878 .each = .{ .once = &.{34590 .each = .{ .once = &.{
30879 .{ ._, ._ps, .sqrt, .dst0x, .src0x, ._, ._ },34591 .{ ._, ._ps, .sqrt, .dst0x, .src0x, ._, ._ },
30880 } },34592 } },
...@@ -30885,7 +34597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30885,7 +34597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30885 .{ .src = .{ .mem, .none, .none } },34597 .{ .src = .{ .mem, .none, .none } },
30886 .{ .src = .{ .to_sse, .none, .none } },34598 .{ .src = .{ .to_sse, .none, .none } },
30887 },34599 },
30888 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34600 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30889 .each = .{ .once = &.{34601 .each = .{ .once = &.{
30890 .{ ._, .v_ps, .sqrt, .dst0y, .src0y, ._, ._ },34602 .{ ._, .v_ps, .sqrt, .dst0y, .src0y, ._, ._ },
30891 } },34603 } },
...@@ -30906,7 +34618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30906,7 +34618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30906 .unused,34618 .unused,
30907 .unused,34619 .unused,
30908 },34620 },
30909 .dst_temps = .{.mem},34621 .dst_temps = .{ .mem, .unused },
30910 .clobbers = .{ .eflags = true },34622 .clobbers = .{ .eflags = true },
30911 .each = .{ .once = &.{34623 .each = .{ .once = &.{
30912 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34624 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30932,7 +34644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30932,7 +34644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30932 .unused,34644 .unused,
30933 .unused,34645 .unused,
30934 },34646 },
30935 .dst_temps = .{.mem},34647 .dst_temps = .{ .mem, .unused },
30936 .clobbers = .{ .eflags = true },34648 .clobbers = .{ .eflags = true },
30937 .each = .{ .once = &.{34649 .each = .{ .once = &.{
30938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34650 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30959,7 +34671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30959,7 +34671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30959 .unused,34671 .unused,
30960 .unused,34672 .unused,
30961 },34673 },
30962 .dst_temps = .{.mem},34674 .dst_temps = .{ .mem, .unused },
30963 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34675 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30964 .each = .{ .once = &.{34676 .each = .{ .once = &.{
30965 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34677 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -30987,7 +34699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -30987,7 +34699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30987 .unused,34699 .unused,
30988 .unused,34700 .unused,
30989 },34701 },
30990 .dst_temps = .{.mem},34702 .dst_temps = .{ .mem, .unused },
30991 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34703 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
30992 .each = .{ .once = &.{34704 .each = .{ .once = &.{
30993 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34705 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31003,7 +34715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31003,7 +34715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31003 .patterns = &.{34715 .patterns = &.{
31004 .{ .src = .{ .mem, .none, .none } },34716 .{ .src = .{ .mem, .none, .none } },
31005 },34717 },
31006 .dst_temps = .{.{ .rc = .sse }},34718 .dst_temps = .{ .{ .rc = .sse }, .unused },
31007 .each = .{ .once = &.{34719 .each = .{ .once = &.{
31008 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },34720 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
31009 .{ ._, .v_sd, .sqrt, .dst0x, .dst0x, .src0q, ._ },34721 .{ ._, .v_sd, .sqrt, .dst0x, .dst0x, .src0q, ._ },
...@@ -31014,7 +34726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31014,7 +34726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31014 .patterns = &.{34726 .patterns = &.{
31015 .{ .src = .{ .to_sse, .none, .none } },34727 .{ .src = .{ .to_sse, .none, .none } },
31016 },34728 },
31017 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34729 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
31018 .each = .{ .once = &.{34730 .each = .{ .once = &.{
31019 .{ ._, .v_sd, .sqrt, .dst0x, .src0x, .src0q, ._ },34731 .{ ._, .v_sd, .sqrt, .dst0x, .src0x, .src0q, ._ },
31020 } },34732 } },
...@@ -31024,7 +34736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31024,7 +34736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31024 .patterns = &.{34736 .patterns = &.{
31025 .{ .src = .{ .mem, .none, .none } },34737 .{ .src = .{ .mem, .none, .none } },
31026 },34738 },
31027 .dst_temps = .{.{ .rc = .sse }},34739 .dst_temps = .{ .{ .rc = .sse }, .unused },
31028 .each = .{ .once = &.{34740 .each = .{ .once = &.{
31029 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },34741 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
31030 .{ ._, ._sd, .sqrt, .dst0x, .src0q, ._, ._ },34742 .{ ._, ._sd, .sqrt, .dst0x, .src0q, ._, ._ },
...@@ -31035,7 +34747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31035,7 +34747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31035 .patterns = &.{34747 .patterns = &.{
31036 .{ .src = .{ .to_mut_sse, .none, .none } },34748 .{ .src = .{ .to_mut_sse, .none, .none } },
31037 },34749 },
31038 .dst_temps = .{.{ .ref = .src0 }},34750 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31039 .each = .{ .once = &.{34751 .each = .{ .once = &.{
31040 .{ ._, ._sd, .sqrt, .dst0x, .src0q, ._, ._ },34752 .{ ._, ._sd, .sqrt, .dst0x, .src0q, ._, ._ },
31041 } },34753 } },
...@@ -31057,7 +34769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31057,7 +34769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31057 .unused,34769 .unused,
31058 .unused,34770 .unused,
31059 },34771 },
31060 .dst_temps = .{.{ .ref = .src0 }},34772 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31061 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34773 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31062 .each = .{ .once = &.{34774 .each = .{ .once = &.{
31063 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },34775 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -31069,7 +34781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31069,7 +34781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31069 .{ .src = .{ .mem, .none, .none } },34781 .{ .src = .{ .mem, .none, .none } },
31070 .{ .src = .{ .to_sse, .none, .none } },34782 .{ .src = .{ .to_sse, .none, .none } },
31071 },34783 },
31072 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34784 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
31073 .each = .{ .once = &.{34785 .each = .{ .once = &.{
31074 .{ ._, .v_pd, .sqrt, .dst0x, .src0x, ._, ._ },34786 .{ ._, .v_pd, .sqrt, .dst0x, .src0x, ._, ._ },
31075 } },34787 } },
...@@ -31080,7 +34792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31080,7 +34792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31080 .{ .src = .{ .mem, .none, .none } },34792 .{ .src = .{ .mem, .none, .none } },
31081 .{ .src = .{ .to_sse, .none, .none } },34793 .{ .src = .{ .to_sse, .none, .none } },
31082 },34794 },
31083 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34795 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
31084 .each = .{ .once = &.{34796 .each = .{ .once = &.{
31085 .{ ._, ._pd, .sqrt, .dst0x, .src0x, ._, ._ },34797 .{ ._, ._pd, .sqrt, .dst0x, .src0x, ._, ._ },
31086 } },34798 } },
...@@ -31091,7 +34803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31091,7 +34803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31091 .{ .src = .{ .mem, .none, .none } },34803 .{ .src = .{ .mem, .none, .none } },
31092 .{ .src = .{ .to_sse, .none, .none } },34804 .{ .src = .{ .to_sse, .none, .none } },
31093 },34805 },
31094 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},34806 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
31095 .each = .{ .once = &.{34807 .each = .{ .once = &.{
31096 .{ ._, .v_pd, .sqrt, .dst0y, .src0y, ._, ._ },34808 .{ ._, .v_pd, .sqrt, .dst0y, .src0y, ._, ._ },
31097 } },34809 } },
...@@ -31112,7 +34824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31112,7 +34824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31112 .unused,34824 .unused,
31113 .unused,34825 .unused,
31114 },34826 },
31115 .dst_temps = .{.mem},34827 .dst_temps = .{ .mem, .unused },
31116 .clobbers = .{ .eflags = true },34828 .clobbers = .{ .eflags = true },
31117 .each = .{ .once = &.{34829 .each = .{ .once = &.{
31118 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34830 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31138,7 +34850,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31138,7 +34850,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31138 .unused,34850 .unused,
31139 .unused,34851 .unused,
31140 },34852 },
31141 .dst_temps = .{.mem},34853 .dst_temps = .{ .mem, .unused },
31142 .clobbers = .{ .eflags = true },34854 .clobbers = .{ .eflags = true },
31143 .each = .{ .once = &.{34855 .each = .{ .once = &.{
31144 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34856 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31165,7 +34877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31165,7 +34877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31165 .unused,34877 .unused,
31166 .unused,34878 .unused,
31167 },34879 },
31168 .dst_temps = .{.mem},34880 .dst_temps = .{ .mem, .unused },
31169 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34881 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31170 .each = .{ .once = &.{34882 .each = .{ .once = &.{
31171 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34883 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31193,7 +34905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31193,7 +34905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31193 .unused,34905 .unused,
31194 .unused,34906 .unused,
31195 },34907 },
31196 .dst_temps = .{.mem},34908 .dst_temps = .{ .mem, .unused },
31197 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34909 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31198 .each = .{ .once = &.{34910 .each = .{ .once = &.{
31199 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34911 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31221,7 +34933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31221,7 +34933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31221 .unused,34933 .unused,
31222 .unused,34934 .unused,
31223 },34935 },
31224 .dst_temps = .{.mem},34936 .dst_temps = .{ .mem, .unused },
31225 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },34937 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31226 .each = .{ .once = &.{34938 .each = .{ .once = &.{
31227 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31250,7 +34962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31250,7 +34962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31250 .unused,34962 .unused,
31251 .unused,34963 .unused,
31252 },34964 },
31253 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }},34965 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused },
31254 .each = .{ .once = &.{34966 .each = .{ .once = &.{
31255 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },34967 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
31256 .{ ._, .f_, .sqrt, ._, ._, ._, ._ },34968 .{ ._, .f_, .sqrt, ._, ._, ._, ._ },
...@@ -31273,7 +34985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31273,7 +34985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31273 .unused,34985 .unused,
31274 .unused,34986 .unused,
31275 },34987 },
31276 .dst_temps = .{.mem},34988 .dst_temps = .{ .mem, .unused },
31277 .clobbers = .{ .eflags = true },34989 .clobbers = .{ .eflags = true },
31278 .each = .{ .once = &.{34990 .each = .{ .once = &.{
31279 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },34991 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31301,7 +35013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31301,7 +35013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31301 .unused,35013 .unused,
31302 .unused,35014 .unused,
31303 },35015 },
31304 .dst_temps = .{.{ .ref = .src0 }},35016 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31305 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35017 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31306 .each = .{ .once = &.{35018 .each = .{ .once = &.{
31307 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },35019 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -31324,7 +35036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31324,7 +35036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31324 .unused,35036 .unused,
31325 .unused,35037 .unused,
31326 },35038 },
31327 .dst_temps = .{.mem},35039 .dst_temps = .{ .mem, .unused },
31328 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35040 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31329 .each = .{ .once = &.{35041 .each = .{ .once = &.{
31330 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35042 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31352,7 +35064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31352,7 +35064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31352 .unused,35064 .unused,
31353 .unused,35065 .unused,
31354 },35066 },
31355 .dst_temps = .{.mem},35067 .dst_temps = .{ .mem, .unused },
31356 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35068 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31357 .each = .{ .once = &.{35069 .each = .{ .once = &.{
31358 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35070 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31380,7 +35092,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31380,7 +35092,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31380 .unused,35092 .unused,
31381 .unused,35093 .unused,
31382 },35094 },
31383 .dst_temps = .{.mem},35095 .dst_temps = .{ .mem, .unused },
31384 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35096 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31385 .each = .{ .once = &.{35097 .each = .{ .once = &.{
31386 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35098 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31424,7 +35136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31424,7 +35136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31424 .unused,35136 .unused,
31425 .unused,35137 .unused,
31426 },35138 },
31427 .dst_temps = .{.{ .ref = .src0 }},35139 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31428 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35140 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31429 .each = .{ .once = &.{35141 .each = .{ .once = &.{
31430 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },35142 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -31447,7 +35159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31447,7 +35159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31447 .unused,35159 .unused,
31448 .unused,35160 .unused,
31449 },35161 },
31450 .dst_temps = .{.mem},35162 .dst_temps = .{ .mem, .unused },
31451 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35163 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31452 .each = .{ .once = &.{35164 .each = .{ .once = &.{
31453 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35165 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31476,7 +35188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31476,7 +35188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31476 .unused,35188 .unused,
31477 .unused,35189 .unused,
31478 },35190 },
31479 .dst_temps = .{.mem},35191 .dst_temps = .{ .mem, .unused },
31480 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35192 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31481 .each = .{ .once = &.{35193 .each = .{ .once = &.{
31482 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31505,7 +35217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31505,7 +35217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31505 .unused,35217 .unused,
31506 .unused,35218 .unused,
31507 },35219 },
31508 .dst_temps = .{.mem},35220 .dst_temps = .{ .mem, .unused },
31509 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35221 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31510 .each = .{ .once = &.{35222 .each = .{ .once = &.{
31511 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35223 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31535,7 +35247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31535,7 +35247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31535 .unused,35247 .unused,
31536 .unused,35248 .unused,
31537 },35249 },
31538 .dst_temps = .{.mem},35250 .dst_temps = .{ .mem, .unused },
31539 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35251 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31540 .each = .{ .once = &.{35252 .each = .{ .once = &.{
31541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31567,7 +35279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31567,7 +35279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31567 .unused,35279 .unused,
31568 .unused,35280 .unused,
31569 },35281 },
31570 .dst_temps = .{.{ .ref = .src0 }},35282 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31571 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35283 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31572 .each = .{ .once = &.{35284 .each = .{ .once = &.{
31573 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },35285 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -31590,7 +35302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31590,7 +35302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31590 .unused,35302 .unused,
31591 .unused,35303 .unused,
31592 },35304 },
31593 .dst_temps = .{.mem},35305 .dst_temps = .{ .mem, .unused },
31594 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35306 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31595 .each = .{ .once = &.{35307 .each = .{ .once = &.{
31596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35308 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31618,7 +35330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31618,7 +35330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31618 .unused,35330 .unused,
31619 .unused,35331 .unused,
31620 },35332 },
31621 .dst_temps = .{.mem},35333 .dst_temps = .{ .mem, .unused },
31622 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35334 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31623 .each = .{ .once = &.{35335 .each = .{ .once = &.{
31624 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35336 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31646,7 +35358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31646,7 +35358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31646 .unused,35358 .unused,
31647 .unused,35359 .unused,
31648 },35360 },
31649 .dst_temps = .{.{ .ref = .src0 }},35361 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31650 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35362 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31651 .each = .{ .once = &.{35363 .each = .{ .once = &.{
31652 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },35364 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -31669,7 +35381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31669,7 +35381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31669 .unused,35381 .unused,
31670 .unused,35382 .unused,
31671 },35383 },
31672 .dst_temps = .{.mem},35384 .dst_temps = .{ .mem, .unused },
31673 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35385 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31674 .each = .{ .once = &.{35386 .each = .{ .once = &.{
31675 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35387 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31697,7 +35409,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31697,7 +35409,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31697 .unused,35409 .unused,
31698 .unused,35410 .unused,
31699 },35411 },
31700 .dst_temps = .{.mem},35412 .dst_temps = .{ .mem, .unused },
31701 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35413 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31702 .each = .{ .once = &.{35414 .each = .{ .once = &.{
31703 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35415 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31725,7 +35437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31725,7 +35437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31725 .unused,35437 .unused,
31726 .unused,35438 .unused,
31727 },35439 },
31728 .dst_temps = .{.mem},35440 .dst_temps = .{ .mem, .unused },
31729 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35441 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31730 .each = .{ .once = &.{35442 .each = .{ .once = &.{
31731 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35443 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31754,7 +35466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31754,7 +35466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31754 .unused,35466 .unused,
31755 .unused,35467 .unused,
31756 },35468 },
31757 .dst_temps = .{.{ .reg = .st0 }},35469 .dst_temps = .{ .{ .reg = .st0 }, .unused },
31758 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35470 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31759 .each = .{ .once = &.{35471 .each = .{ .once = &.{
31760 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },35472 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -31779,7 +35491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31779,7 +35491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31779 .unused,35491 .unused,
31780 .unused,35492 .unused,
31781 },35493 },
31782 .dst_temps = .{.{ .reg = .st0 }},35494 .dst_temps = .{ .{ .reg = .st0 }, .unused },
31783 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35495 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31784 .each = .{ .once = &.{35496 .each = .{ .once = &.{
31785 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },35497 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -31804,7 +35516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31804,7 +35516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31804 .unused,35516 .unused,
31805 .unused,35517 .unused,
31806 },35518 },
31807 .dst_temps = .{.{ .reg = .st0 }},35519 .dst_temps = .{ .{ .reg = .st0 }, .unused },
31808 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35520 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31809 .each = .{ .once = &.{35521 .each = .{ .once = &.{
31810 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },35522 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -31829,7 +35541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31829,7 +35541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31829 .unused,35541 .unused,
31830 .unused,35542 .unused,
31831 },35543 },
31832 .dst_temps = .{.mem},35544 .dst_temps = .{ .mem, .unused },
31833 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35545 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31834 .each = .{ .once = &.{35546 .each = .{ .once = &.{
31835 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35547 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31859,7 +35571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31859,7 +35571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31859 .unused,35571 .unused,
31860 .unused,35572 .unused,
31861 },35573 },
31862 .dst_temps = .{.mem},35574 .dst_temps = .{ .mem, .unused },
31863 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35575 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31864 .each = .{ .once = &.{35576 .each = .{ .once = &.{
31865 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35577 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31889,7 +35601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31889,7 +35601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31889 .unused,35601 .unused,
31890 .unused,35602 .unused,
31891 },35603 },
31892 .dst_temps = .{.mem},35604 .dst_temps = .{ .mem, .unused },
31893 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35605 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31894 .each = .{ .once = &.{35606 .each = .{ .once = &.{
31895 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35607 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31919,7 +35631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31919,7 +35631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31919 .unused,35631 .unused,
31920 .unused,35632 .unused,
31921 },35633 },
31922 .dst_temps = .{.{ .ref = .src0 }},35634 .dst_temps = .{ .{ .ref = .src0 }, .unused },
31923 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35635 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31924 .each = .{ .once = &.{35636 .each = .{ .once = &.{
31925 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },35637 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -31942,7 +35654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31942,7 +35654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31942 .unused,35654 .unused,
31943 .unused,35655 .unused,
31944 },35656 },
31945 .dst_temps = .{.mem},35657 .dst_temps = .{ .mem, .unused },
31946 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31947 .each = .{ .once = &.{35659 .each = .{ .once = &.{
31948 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31970,7 +35682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31970,7 +35682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31970 .unused,35682 .unused,
31971 .unused,35683 .unused,
31972 },35684 },
31973 .dst_temps = .{.mem},35685 .dst_temps = .{ .mem, .unused },
31974 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
31975 .each = .{ .once = &.{35687 .each = .{ .once = &.{
31976 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -31998,7 +35710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -31998,7 +35710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31998 .unused,35710 .unused,
31999 .unused,35711 .unused,
32000 },35712 },
32001 .dst_temps = .{.mem},35713 .dst_temps = .{ .mem, .unused },
32002 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },35714 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
32003 .each = .{ .once = &.{35715 .each = .{ .once = &.{
32004 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },35716 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -32029,7 +35741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32029,7 +35741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32029 .patterns = &.{35741 .patterns = &.{
32030 .{ .src = .{ .to_gpr, .none, .none } },35742 .{ .src = .{ .to_gpr, .none, .none } },
32031 },35743 },
32032 .dst_temps = .{.{ .rc = .general_purpose }},35744 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
32033 .clobbers = .{ .eflags = true },35745 .clobbers = .{ .eflags = true },
32034 .each = .{ .once = &.{35746 .each = .{ .once = &.{
32035 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },35747 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -32041,7 +35753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32041,7 +35753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32041 .patterns = &.{35753 .patterns = &.{
32042 .{ .src = .{ .mut_mem, .none, .none } },35754 .{ .src = .{ .mut_mem, .none, .none } },
32043 },35755 },
32044 .dst_temps = .{.{ .ref = .src0 }},35756 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32045 .clobbers = .{ .eflags = true },35757 .clobbers = .{ .eflags = true },
32046 .each = .{ .once = &.{35758 .each = .{ .once = &.{
32047 .{ ._, ._, .cmp, .src0b, .si(0), ._, ._ },35759 .{ ._, ._, .cmp, .src0b, .si(0), ._, ._ },
...@@ -32053,7 +35765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32053,7 +35765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32053 .patterns = &.{35765 .patterns = &.{
32054 .{ .src = .{ .to_mut_gpr, .none, .none } },35766 .{ .src = .{ .to_mut_gpr, .none, .none } },
32055 },35767 },
32056 .dst_temps = .{.{ .ref = .src0 }},35768 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32057 .clobbers = .{ .eflags = true },35769 .clobbers = .{ .eflags = true },
32058 .each = .{ .once = &.{35770 .each = .{ .once = &.{
32059 .{ ._, ._, .@"test", .src0b, .src0b, ._, ._ },35771 .{ ._, ._, .@"test", .src0b, .src0b, ._, ._ },
...@@ -32066,7 +35778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32066,7 +35778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32066 .patterns = &.{35778 .patterns = &.{
32067 .{ .src = .{ .mem, .none, .none } },35779 .{ .src = .{ .mem, .none, .none } },
32068 },35780 },
32069 .dst_temps = .{.{ .rc = .general_purpose }},35781 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
32070 .clobbers = .{ .eflags = true },35782 .clobbers = .{ .eflags = true },
32071 .each = .{ .once = &.{35783 .each = .{ .once = &.{
32072 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },35784 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -32079,7 +35791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32079,7 +35791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32079 .patterns = &.{35791 .patterns = &.{
32080 .{ .src = .{ .to_gpr, .none, .none } },35792 .{ .src = .{ .to_gpr, .none, .none } },
32081 },35793 },
32082 .dst_temps = .{.{ .rc = .general_purpose }},35794 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
32083 .clobbers = .{ .eflags = true },35795 .clobbers = .{ .eflags = true },
32084 .each = .{ .once = &.{35796 .each = .{ .once = &.{
32085 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },35797 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -32091,7 +35803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32091,7 +35803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32091 .patterns = &.{35803 .patterns = &.{
32092 .{ .src = .{ .mut_mem, .none, .none } },35804 .{ .src = .{ .mut_mem, .none, .none } },
32093 },35805 },
32094 .dst_temps = .{.{ .ref = .src0 }},35806 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32095 .clobbers = .{ .eflags = true },35807 .clobbers = .{ .eflags = true },
32096 .each = .{ .once = &.{35808 .each = .{ .once = &.{
32097 .{ ._, ._, .cmp, .src0w, .si(0), ._, ._ },35809 .{ ._, ._, .cmp, .src0w, .si(0), ._, ._ },
...@@ -32103,7 +35815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32103,7 +35815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32103 .patterns = &.{35815 .patterns = &.{
32104 .{ .src = .{ .to_mut_gpr, .none, .none } },35816 .{ .src = .{ .to_mut_gpr, .none, .none } },
32105 },35817 },
32106 .dst_temps = .{.{ .ref = .src0 }},35818 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32107 .clobbers = .{ .eflags = true },35819 .clobbers = .{ .eflags = true },
32108 .each = .{ .once = &.{35820 .each = .{ .once = &.{
32109 .{ ._, ._, .@"test", .src0w, .src0w, ._, ._ },35821 .{ ._, ._, .@"test", .src0w, .src0w, ._, ._ },
...@@ -32117,7 +35829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32117,7 +35829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32117 .{ .src = .{ .mem, .none, .none } },35829 .{ .src = .{ .mem, .none, .none } },
32118 .{ .src = .{ .to_gpr, .none, .none } },35830 .{ .src = .{ .to_gpr, .none, .none } },
32119 },35831 },
32120 .dst_temps = .{.{ .rc = .general_purpose }},35832 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
32121 .clobbers = .{ .eflags = true },35833 .clobbers = .{ .eflags = true },
32122 .each = .{ .once = &.{35834 .each = .{ .once = &.{
32123 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },35835 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -32129,7 +35841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32129,7 +35841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32129 .patterns = &.{35841 .patterns = &.{
32130 .{ .src = .{ .mut_mem, .none, .none } },35842 .{ .src = .{ .mut_mem, .none, .none } },
32131 },35843 },
32132 .dst_temps = .{.{ .ref = .src0 }},35844 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32133 .clobbers = .{ .eflags = true },35845 .clobbers = .{ .eflags = true },
32134 .each = .{ .once = &.{35846 .each = .{ .once = &.{
32135 .{ ._, ._, .cmp, .src0d, .si(0), ._, ._ },35847 .{ ._, ._, .cmp, .src0d, .si(0), ._, ._ },
...@@ -32141,7 +35853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32141,7 +35853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32141 .patterns = &.{35853 .patterns = &.{
32142 .{ .src = .{ .to_mut_gpr, .none, .none } },35854 .{ .src = .{ .to_mut_gpr, .none, .none } },
32143 },35855 },
32144 .dst_temps = .{.{ .ref = .src0 }},35856 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32145 .clobbers = .{ .eflags = true },35857 .clobbers = .{ .eflags = true },
32146 .each = .{ .once = &.{35858 .each = .{ .once = &.{
32147 .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ },35859 .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ },
...@@ -32155,7 +35867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32155,7 +35867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32155 .{ .src = .{ .mem, .none, .none } },35867 .{ .src = .{ .mem, .none, .none } },
32156 .{ .src = .{ .to_gpr, .none, .none } },35868 .{ .src = .{ .to_gpr, .none, .none } },
32157 },35869 },
32158 .dst_temps = .{.{ .rc = .general_purpose }},35870 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
32159 .clobbers = .{ .eflags = true },35871 .clobbers = .{ .eflags = true },
32160 .each = .{ .once = &.{35872 .each = .{ .once = &.{
32161 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },35873 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -32168,7 +35880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32168,7 +35880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32168 .patterns = &.{35880 .patterns = &.{
32169 .{ .src = .{ .mut_mem, .none, .none } },35881 .{ .src = .{ .mut_mem, .none, .none } },
32170 },35882 },
32171 .dst_temps = .{.{ .ref = .src0 }},35883 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32172 .clobbers = .{ .eflags = true },35884 .clobbers = .{ .eflags = true },
32173 .each = .{ .once = &.{35885 .each = .{ .once = &.{
32174 .{ ._, ._, .cmp, .src0q, .si(0), ._, ._ },35886 .{ ._, ._, .cmp, .src0q, .si(0), ._, ._ },
...@@ -32181,7 +35893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32181,7 +35893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32181 .patterns = &.{35893 .patterns = &.{
32182 .{ .src = .{ .to_mut_gpr, .none, .none } },35894 .{ .src = .{ .to_mut_gpr, .none, .none } },
32183 },35895 },
32184 .dst_temps = .{.{ .ref = .src0 }},35896 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32185 .clobbers = .{ .eflags = true },35897 .clobbers = .{ .eflags = true },
32186 .each = .{ .once = &.{35898 .each = .{ .once = &.{
32187 .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ },35899 .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ },
...@@ -32205,7 +35917,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32205,7 +35917,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32205 .unused,35917 .unused,
32206 .unused,35918 .unused,
32207 },35919 },
32208 .dst_temps = .{.mem},35920 .dst_temps = .{ .mem, .unused },
32209 .clobbers = .{ .eflags = true },35921 .clobbers = .{ .eflags = true },
32210 .each = .{ .once = &.{35922 .each = .{ .once = &.{
32211 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },35923 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32228,7 +35940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32228,7 +35940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32228 .{ .src = .{ .mem, .none, .none } },35940 .{ .src = .{ .mem, .none, .none } },
32229 .{ .src = .{ .to_mm, .none, .none } },35941 .{ .src = .{ .to_mm, .none, .none } },
32230 },35942 },
32231 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }},35943 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }, .unused },
32232 .each = .{ .once = &.{35944 .each = .{ .once = &.{
32233 .{ ._, .p_b, .abs, .dst0q, .src0q, ._, ._ },35945 .{ ._, .p_b, .abs, .dst0q, .src0q, ._, ._ },
32234 } },35946 } },
...@@ -32239,7 +35951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32239,7 +35951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32239 .{ .src = .{ .mem, .none, .none } },35951 .{ .src = .{ .mem, .none, .none } },
32240 .{ .src = .{ .to_mm, .none, .none } },35952 .{ .src = .{ .to_mm, .none, .none } },
32241 },35953 },
32242 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }},35954 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }, .unused },
32243 .each = .{ .once = &.{35955 .each = .{ .once = &.{
32244 .{ ._, .p_w, .abs, .dst0q, .src0q, ._, ._ },35956 .{ ._, .p_w, .abs, .dst0q, .src0q, ._, ._ },
32245 } },35957 } },
...@@ -32250,7 +35962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32250,7 +35962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32250 .{ .src = .{ .mem, .none, .none } },35962 .{ .src = .{ .mem, .none, .none } },
32251 .{ .src = .{ .to_mm, .none, .none } },35963 .{ .src = .{ .to_mm, .none, .none } },
32252 },35964 },
32253 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }},35965 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }, .unused },
32254 .each = .{ .once = &.{35966 .each = .{ .once = &.{
32255 .{ ._, .p_d, .abs, .dst0q, .src0q, ._, ._ },35967 .{ ._, .p_d, .abs, .dst0q, .src0q, ._, ._ },
32256 } },35968 } },
...@@ -32261,7 +35973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32261,7 +35973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32261 .{ .src = .{ .mem, .none, .none } },35973 .{ .src = .{ .mem, .none, .none } },
32262 .{ .src = .{ .to_sse, .none, .none } },35974 .{ .src = .{ .to_sse, .none, .none } },
32263 },35975 },
32264 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},35976 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32265 .each = .{ .once = &.{35977 .each = .{ .once = &.{
32266 .{ ._, .p_b, .abs, .dst0x, .src0x, ._, ._ },35978 .{ ._, .p_b, .abs, .dst0x, .src0x, ._, ._ },
32267 } },35979 } },
...@@ -32272,7 +35984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32272,7 +35984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32272 .{ .src = .{ .mem, .none, .none } },35984 .{ .src = .{ .mem, .none, .none } },
32273 .{ .src = .{ .to_sse, .none, .none } },35985 .{ .src = .{ .to_sse, .none, .none } },
32274 },35986 },
32275 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},35987 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32276 .each = .{ .once = &.{35988 .each = .{ .once = &.{
32277 .{ ._, .p_w, .abs, .dst0x, .src0x, ._, ._ },35989 .{ ._, .p_w, .abs, .dst0x, .src0x, ._, ._ },
32278 } },35990 } },
...@@ -32283,7 +35995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32283,7 +35995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32283 .{ .src = .{ .mem, .none, .none } },35995 .{ .src = .{ .mem, .none, .none } },
32284 .{ .src = .{ .to_sse, .none, .none } },35996 .{ .src = .{ .to_sse, .none, .none } },
32285 },35997 },
32286 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},35998 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32287 .each = .{ .once = &.{35999 .each = .{ .once = &.{
32288 .{ ._, .p_d, .abs, .dst0x, .src0x, ._, ._ },36000 .{ ._, .p_d, .abs, .dst0x, .src0x, ._, ._ },
32289 } },36001 } },
...@@ -32294,7 +36006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32294,7 +36006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32294 .{ .src = .{ .mem, .none, .none } },36006 .{ .src = .{ .mem, .none, .none } },
32295 .{ .src = .{ .to_sse, .none, .none } },36007 .{ .src = .{ .to_sse, .none, .none } },
32296 },36008 },
32297 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36009 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32298 .each = .{ .once = &.{36010 .each = .{ .once = &.{
32299 .{ ._, .vp_b, .abs, .dst0x, .src0x, ._, ._ },36011 .{ ._, .vp_b, .abs, .dst0x, .src0x, ._, ._ },
32300 } },36012 } },
...@@ -32305,7 +36017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32305,7 +36017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32305 .{ .src = .{ .mem, .none, .none } },36017 .{ .src = .{ .mem, .none, .none } },
32306 .{ .src = .{ .to_sse, .none, .none } },36018 .{ .src = .{ .to_sse, .none, .none } },
32307 },36019 },
32308 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36020 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32309 .each = .{ .once = &.{36021 .each = .{ .once = &.{
32310 .{ ._, .vp_w, .abs, .dst0x, .src0x, ._, ._ },36022 .{ ._, .vp_w, .abs, .dst0x, .src0x, ._, ._ },
32311 } },36023 } },
...@@ -32316,7 +36028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32316,7 +36028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32316 .{ .src = .{ .mem, .none, .none } },36028 .{ .src = .{ .mem, .none, .none } },
32317 .{ .src = .{ .to_sse, .none, .none } },36029 .{ .src = .{ .to_sse, .none, .none } },
32318 },36030 },
32319 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36031 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32320 .each = .{ .once = &.{36032 .each = .{ .once = &.{
32321 .{ ._, .vp_d, .abs, .dst0x, .src0x, ._, ._ },36033 .{ ._, .vp_d, .abs, .dst0x, .src0x, ._, ._ },
32322 } },36034 } },
...@@ -32327,7 +36039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32327,7 +36039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32327 .{ .src = .{ .mem, .none, .none } },36039 .{ .src = .{ .mem, .none, .none } },
32328 .{ .src = .{ .to_sse, .none, .none } },36040 .{ .src = .{ .to_sse, .none, .none } },
32329 },36041 },
32330 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36042 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32331 .each = .{ .once = &.{36043 .each = .{ .once = &.{
32332 .{ ._, .vp_b, .abs, .dst0y, .src0y, ._, ._ },36044 .{ ._, .vp_b, .abs, .dst0y, .src0y, ._, ._ },
32333 } },36045 } },
...@@ -32338,7 +36050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32338,7 +36050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32338 .{ .src = .{ .mem, .none, .none } },36050 .{ .src = .{ .mem, .none, .none } },
32339 .{ .src = .{ .to_sse, .none, .none } },36051 .{ .src = .{ .to_sse, .none, .none } },
32340 },36052 },
32341 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36053 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32342 .each = .{ .once = &.{36054 .each = .{ .once = &.{
32343 .{ ._, .vp_w, .abs, .dst0y, .src0y, ._, ._ },36055 .{ ._, .vp_w, .abs, .dst0y, .src0y, ._, ._ },
32344 } },36056 } },
...@@ -32349,7 +36061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32349,7 +36061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32349 .{ .src = .{ .mem, .none, .none } },36061 .{ .src = .{ .mem, .none, .none } },
32350 .{ .src = .{ .to_sse, .none, .none } },36062 .{ .src = .{ .to_sse, .none, .none } },
32351 },36063 },
32352 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36064 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
32353 .each = .{ .once = &.{36065 .each = .{ .once = &.{
32354 .{ ._, .vp_d, .abs, .dst0y, .src0y, ._, ._ },36066 .{ ._, .vp_d, .abs, .dst0y, .src0y, ._, ._ },
32355 } },36067 } },
...@@ -32370,7 +36082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32370,7 +36082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32370 .unused,36082 .unused,
32371 .unused,36083 .unused,
32372 },36084 },
32373 .dst_temps = .{.mem},36085 .dst_temps = .{ .mem, .unused },
32374 .clobbers = .{ .eflags = true },36086 .clobbers = .{ .eflags = true },
32375 .each = .{ .once = &.{36087 .each = .{ .once = &.{
32376 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32396,7 +36108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32396,7 +36108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32396 .unused,36108 .unused,
32397 .unused,36109 .unused,
32398 },36110 },
32399 .dst_temps = .{.mem},36111 .dst_temps = .{ .mem, .unused },
32400 .clobbers = .{ .eflags = true },36112 .clobbers = .{ .eflags = true },
32401 .each = .{ .once = &.{36113 .each = .{ .once = &.{
32402 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36114 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32422,7 +36134,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32422,7 +36134,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32422 .unused,36134 .unused,
32423 .unused,36135 .unused,
32424 },36136 },
32425 .dst_temps = .{.mem},36137 .dst_temps = .{ .mem, .unused },
32426 .clobbers = .{ .eflags = true },36138 .clobbers = .{ .eflags = true },
32427 .each = .{ .once = &.{36139 .each = .{ .once = &.{
32428 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32448,7 +36160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32448,7 +36160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32448 .unused,36160 .unused,
32449 .unused,36161 .unused,
32450 },36162 },
32451 .dst_temps = .{.mem},36163 .dst_temps = .{ .mem, .unused },
32452 .clobbers = .{ .eflags = true },36164 .clobbers = .{ .eflags = true },
32453 .each = .{ .once = &.{36165 .each = .{ .once = &.{
32454 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32474,7 +36186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32474,7 +36186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32474 .unused,36186 .unused,
32475 .unused,36187 .unused,
32476 },36188 },
32477 .dst_temps = .{.mem},36189 .dst_temps = .{ .mem, .unused },
32478 .clobbers = .{ .eflags = true },36190 .clobbers = .{ .eflags = true },
32479 .each = .{ .once = &.{36191 .each = .{ .once = &.{
32480 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36192 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32500,7 +36212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32500,7 +36212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32500 .unused,36212 .unused,
32501 .unused,36213 .unused,
32502 },36214 },
32503 .dst_temps = .{.mem},36215 .dst_temps = .{ .mem, .unused },
32504 .clobbers = .{ .eflags = true },36216 .clobbers = .{ .eflags = true },
32505 .each = .{ .once = &.{36217 .each = .{ .once = &.{
32506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36218 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32526,7 +36238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32526,7 +36238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32526 .unused,36238 .unused,
32527 .unused,36239 .unused,
32528 },36240 },
32529 .dst_temps = .{.mem},36241 .dst_temps = .{ .mem, .unused },
32530 .clobbers = .{ .eflags = true },36242 .clobbers = .{ .eflags = true },
32531 .each = .{ .once = &.{36243 .each = .{ .once = &.{
32532 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36244 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32552,7 +36264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32552,7 +36264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32552 .unused,36264 .unused,
32553 .unused,36265 .unused,
32554 },36266 },
32555 .dst_temps = .{.mem},36267 .dst_temps = .{ .mem, .unused },
32556 .clobbers = .{ .eflags = true },36268 .clobbers = .{ .eflags = true },
32557 .each = .{ .once = &.{36269 .each = .{ .once = &.{
32558 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36270 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32578,7 +36290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32578,7 +36290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32578 .unused,36290 .unused,
32579 .unused,36291 .unused,
32580 },36292 },
32581 .dst_temps = .{.mem},36293 .dst_temps = .{ .mem, .unused },
32582 .clobbers = .{ .eflags = true },36294 .clobbers = .{ .eflags = true },
32583 .each = .{ .once = &.{36295 .each = .{ .once = &.{
32584 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36296 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32604,7 +36316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32604,7 +36316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32604 .unused,36316 .unused,
32605 .unused,36317 .unused,
32606 },36318 },
32607 .dst_temps = .{.mem},36319 .dst_temps = .{ .mem, .unused },
32608 .clobbers = .{ .eflags = true },36320 .clobbers = .{ .eflags = true },
32609 .each = .{ .once = &.{36321 .each = .{ .once = &.{
32610 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32630,7 +36342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32630,7 +36342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32630 .unused,36342 .unused,
32631 .unused,36343 .unused,
32632 },36344 },
32633 .dst_temps = .{.mem},36345 .dst_temps = .{ .mem, .unused },
32634 .clobbers = .{ .eflags = true },36346 .clobbers = .{ .eflags = true },
32635 .each = .{ .once = &.{36347 .each = .{ .once = &.{
32636 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36348 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32656,7 +36368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32656,7 +36368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32656 .unused,36368 .unused,
32657 .unused,36369 .unused,
32658 },36370 },
32659 .dst_temps = .{.mem},36371 .dst_temps = .{ .mem, .unused },
32660 .clobbers = .{ .eflags = true },36372 .clobbers = .{ .eflags = true },
32661 .each = .{ .once = &.{36373 .each = .{ .once = &.{
32662 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36374 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32682,7 +36394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32682,7 +36394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32682 .unused,36394 .unused,
32683 .unused,36395 .unused,
32684 },36396 },
32685 .dst_temps = .{.mem},36397 .dst_temps = .{ .mem, .unused },
32686 .clobbers = .{ .eflags = true },36398 .clobbers = .{ .eflags = true },
32687 .each = .{ .once = &.{36399 .each = .{ .once = &.{
32688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32711,7 +36423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32711,7 +36423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32711 .unused,36423 .unused,
32712 .unused,36424 .unused,
32713 },36425 },
32714 .dst_temps = .{.mem},36426 .dst_temps = .{ .mem, .unused },
32715 .clobbers = .{ .eflags = true },36427 .clobbers = .{ .eflags = true },
32716 .each = .{ .once = &.{36428 .each = .{ .once = &.{
32717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32740,7 +36452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32740,7 +36452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32740 .unused,36452 .unused,
32741 .unused,36453 .unused,
32742 },36454 },
32743 .dst_temps = .{.mem},36455 .dst_temps = .{ .mem, .unused },
32744 .clobbers = .{ .eflags = true },36456 .clobbers = .{ .eflags = true },
32745 .each = .{ .once = &.{36457 .each = .{ .once = &.{
32746 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36458 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32768,7 +36480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32768,7 +36480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32768 .unused,36480 .unused,
32769 .unused,36481 .unused,
32770 },36482 },
32771 .dst_temps = .{.mem},36483 .dst_temps = .{ .mem, .unused },
32772 .clobbers = .{ .eflags = true },36484 .clobbers = .{ .eflags = true },
32773 .each = .{ .once = &.{36485 .each = .{ .once = &.{
32774 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36486 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32797,7 +36509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32797,7 +36509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32797 .unused,36509 .unused,
32798 .unused,36510 .unused,
32799 },36511 },
32800 .dst_temps = .{.mem},36512 .dst_temps = .{ .mem, .unused },
32801 .clobbers = .{ .eflags = true },36513 .clobbers = .{ .eflags = true },
32802 .each = .{ .once = &.{36514 .each = .{ .once = &.{
32803 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36515 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32824,7 +36536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32824,7 +36536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32824 .unused,36536 .unused,
32825 .unused,36537 .unused,
32826 },36538 },
32827 .dst_temps = .{.mem},36539 .dst_temps = .{ .mem, .unused },
32828 .clobbers = .{ .eflags = true },36540 .clobbers = .{ .eflags = true },
32829 .each = .{ .once = &.{36541 .each = .{ .once = &.{
32830 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36542 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32853,7 +36565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32853,7 +36565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32853 .unused,36565 .unused,
32854 .unused,36566 .unused,
32855 },36567 },
32856 .dst_temps = .{.mem},36568 .dst_temps = .{ .mem, .unused },
32857 .clobbers = .{ .eflags = true },36569 .clobbers = .{ .eflags = true },
32858 .each = .{ .once = &.{36570 .each = .{ .once = &.{
32859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36571 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32880,7 +36592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32880,7 +36592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32880 .unused,36592 .unused,
32881 .unused,36593 .unused,
32882 },36594 },
32883 .dst_temps = .{.mem},36595 .dst_temps = .{ .mem, .unused },
32884 .clobbers = .{ .eflags = true },36596 .clobbers = .{ .eflags = true },
32885 .each = .{ .once = &.{36597 .each = .{ .once = &.{
32886 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32909,7 +36621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32909,7 +36621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32909 .unused,36621 .unused,
32910 .unused,36622 .unused,
32911 },36623 },
32912 .dst_temps = .{.mem},36624 .dst_temps = .{ .mem, .unused },
32913 .clobbers = .{ .eflags = true },36625 .clobbers = .{ .eflags = true },
32914 .each = .{ .once = &.{36626 .each = .{ .once = &.{
32915 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32937,7 +36649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32937,7 +36649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32937 .unused,36649 .unused,
32938 .unused,36650 .unused,
32939 },36651 },
32940 .dst_temps = .{.mem},36652 .dst_temps = .{ .mem, .unused },
32941 .clobbers = .{ .eflags = true },36653 .clobbers = .{ .eflags = true },
32942 .each = .{ .once = &.{36654 .each = .{ .once = &.{
32943 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },36655 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -32966,7 +36678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -32966,7 +36678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32966 .unused,36678 .unused,
32967 .unused,36679 .unused,
32968 },36680 },
32969 .dst_temps = .{.mem},36681 .dst_temps = .{ .mem, .unused },
32970 .clobbers = .{ .eflags = true },36682 .clobbers = .{ .eflags = true },
32971 .each = .{ .once = &.{36683 .each = .{ .once = &.{
32972 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },36684 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
...@@ -33003,7 +36715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33003,7 +36715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33003 .unused,36715 .unused,
33004 .unused,36716 .unused,
33005 },36717 },
33006 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36718 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33007 .each = .{ .once = &.{36719 .each = .{ .once = &.{
33008 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36720 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33009 .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },36721 .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -33025,7 +36737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33025,7 +36737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33025 .unused,36737 .unused,
33026 .unused,36738 .unused,
33027 },36739 },
33028 .dst_temps = .{.{ .ref = .src0 }},36740 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33029 .each = .{ .once = &.{36741 .each = .{ .once = &.{
33030 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36742 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33031 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },36743 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -33047,7 +36759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33047,7 +36759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33047 .unused,36759 .unused,
33048 .unused,36760 .unused,
33049 },36761 },
33050 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36762 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33051 .each = .{ .once = &.{36763 .each = .{ .once = &.{
33052 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36764 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33053 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },36765 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -33069,7 +36781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33069,7 +36781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33069 .unused,36781 .unused,
33070 .unused,36782 .unused,
33071 },36783 },
33072 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36784 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33073 .each = .{ .once = &.{36785 .each = .{ .once = &.{
33074 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36786 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33075 .{ ._, .v_pd, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },36787 .{ ._, .v_pd, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -33091,7 +36803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33091,7 +36803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33091 .unused,36803 .unused,
33092 .unused,36804 .unused,
33093 },36805 },
33094 .dst_temps = .{.{ .ref = .src0 }},36806 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33095 .each = .{ .once = &.{36807 .each = .{ .once = &.{
33096 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36808 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33097 .{ ._, ._pd, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },36809 .{ ._, ._pd, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -33113,7 +36825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33113,7 +36825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33113 .unused,36825 .unused,
33114 .unused,36826 .unused,
33115 },36827 },
33116 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36828 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33117 .each = .{ .once = &.{36829 .each = .{ .once = &.{
33118 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36830 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33119 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },36831 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -33136,7 +36848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33136,7 +36848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33136 .unused,36848 .unused,
33137 .unused,36849 .unused,
33138 },36850 },
33139 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }},36851 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused },
33140 .each = .{ .once = &.{36852 .each = .{ .once = &.{
33141 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },36853 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
33142 .{ ._, .f_, .abs, ._, ._, ._, ._ },36854 .{ ._, .f_, .abs, ._, ._, ._, ._ },
...@@ -33159,7 +36871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33159,7 +36871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33159 .unused,36871 .unused,
33160 .unused,36872 .unused,
33161 },36873 },
33162 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36874 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33163 .each = .{ .once = &.{36875 .each = .{ .once = &.{
33164 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36876 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33165 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },36877 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -33181,7 +36893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33181,7 +36893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33181 .unused,36893 .unused,
33182 .unused,36894 .unused,
33183 },36895 },
33184 .dst_temps = .{.{ .ref = .src0 }},36896 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33185 .each = .{ .once = &.{36897 .each = .{ .once = &.{
33186 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36898 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33187 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },36899 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -33203,7 +36915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33203,7 +36915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33203 .unused,36915 .unused,
33204 .unused,36916 .unused,
33205 },36917 },
33206 .dst_temps = .{.{ .ref = .src0 }},36918 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33207 .each = .{ .once = &.{36919 .each = .{ .once = &.{
33208 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36920 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33209 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },36921 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -33225,7 +36937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33225,7 +36937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33225 .unused,36937 .unused,
33226 .unused,36938 .unused,
33227 },36939 },
33228 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36940 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33229 .each = .{ .once = &.{36941 .each = .{ .once = &.{
33230 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36942 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33231 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },36943 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -33247,7 +36959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33247,7 +36959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33247 .unused,36959 .unused,
33248 .unused,36960 .unused,
33249 },36961 },
33250 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},36962 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33251 .each = .{ .once = &.{36963 .each = .{ .once = &.{
33252 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36964 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33253 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },36965 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -33269,7 +36981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33269,7 +36981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33269 .unused,36981 .unused,
33270 .unused,36982 .unused,
33271 },36983 },
33272 .dst_temps = .{.mem},36984 .dst_temps = .{ .mem, .unused },
33273 .each = .{ .once = &.{36985 .each = .{ .once = &.{
33274 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },36986 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33275 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },36987 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -33296,7 +37008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33296,7 +37008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33296 .unused,37008 .unused,
33297 .unused,37009 .unused,
33298 },37010 },
33299 .dst_temps = .{.mem},37011 .dst_temps = .{ .mem, .unused },
33300 .each = .{ .once = &.{37012 .each = .{ .once = &.{
33301 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37013 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33302 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },37014 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -33324,7 +37036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33324,7 +37036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33324 .unused,37036 .unused,
33325 .unused,37037 .unused,
33326 },37038 },
33327 .dst_temps = .{.mem},37039 .dst_temps = .{ .mem, .unused },
33328 .each = .{ .once = &.{37040 .each = .{ .once = &.{
33329 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37041 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33330 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },37042 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -33351,7 +37063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33351,7 +37063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33351 .unused,37063 .unused,
33352 .unused,37064 .unused,
33353 },37065 },
33354 .dst_temps = .{.mem},37066 .dst_temps = .{ .mem, .unused },
33355 .each = .{ .once = &.{37067 .each = .{ .once = &.{
33356 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37068 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33357 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },37069 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -33379,7 +37091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33379,7 +37091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33379 .unused,37091 .unused,
33380 .unused,37092 .unused,
33381 },37093 },
33382 .dst_temps = .{.mem},37094 .dst_temps = .{ .mem, .unused },
33383 .each = .{ .once = &.{37095 .each = .{ .once = &.{
33384 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37096 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33385 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },37097 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -33406,7 +37118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33406,7 +37118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33406 .unused,37118 .unused,
33407 .unused,37119 .unused,
33408 },37120 },
33409 .dst_temps = .{.mem},37121 .dst_temps = .{ .mem, .unused },
33410 .each = .{ .once = &.{37122 .each = .{ .once = &.{
33411 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37123 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33412 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },37124 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -33433,7 +37145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33433,7 +37145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33433 .unused,37145 .unused,
33434 .unused,37146 .unused,
33435 },37147 },
33436 .dst_temps = .{.mem},37148 .dst_temps = .{ .mem, .unused },
33437 .each = .{ .once = &.{37149 .each = .{ .once = &.{
33438 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37150 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33439 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },37151 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -33461,7 +37173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33461,7 +37173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33461 .unused,37173 .unused,
33462 .unused,37174 .unused,
33463 },37175 },
33464 .dst_temps = .{.mem},37176 .dst_temps = .{ .mem, .unused },
33465 .each = .{ .once = &.{37177 .each = .{ .once = &.{
33466 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },37178 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
33467 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },37179 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -33504,7 +37216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33504,7 +37216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33504 .patterns = &.{37216 .patterns = &.{
33505 .{ .src = .{ .to_sse, .none, .none } },37217 .{ .src = .{ .to_sse, .none, .none } },
33506 },37218 },
33507 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37219 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33508 .each = .{ .once = &.{37220 .each = .{ .once = &.{
33509 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },37221 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
33510 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },37222 .{ ._, .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 {...@@ -33533,7 +37245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33533 .unused,37245 .unused,
33534 .unused,37246 .unused,
33535 },37247 },
33536 .dst_temps = .{.{ .ref = .src0 }},37248 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33537 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37249 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33538 .each = .{ .once = &.{37250 .each = .{ .once = &.{
33539 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },37251 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -33545,7 +37257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33545,7 +37257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33545 .{ .src = .{ .mem, .none, .none } },37257 .{ .src = .{ .mem, .none, .none } },
33546 .{ .src = .{ .to_sse, .none, .none } },37258 .{ .src = .{ .to_sse, .none, .none } },
33547 },37259 },
33548 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37260 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33549 .each = .{ .once = &.{37261 .each = .{ .once = &.{
33550 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },37262 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
33551 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37263 .{ ._, .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 {...@@ -33558,7 +37270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33558 .{ .src = .{ .mem, .none, .none } },37270 .{ .src = .{ .mem, .none, .none } },
33559 .{ .src = .{ .to_sse, .none, .none } },37271 .{ .src = .{ .to_sse, .none, .none } },
33560 },37272 },
33561 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37273 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33562 .each = .{ .once = &.{37274 .each = .{ .once = &.{
33563 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },37275 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
33564 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37276 .{ ._, .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 {...@@ -33581,7 +37293,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33581 .unused,37293 .unused,
33582 .unused,37294 .unused,
33583 },37295 },
33584 .dst_temps = .{.mem},37296 .dst_temps = .{ .mem, .unused },
33585 .clobbers = .{ .eflags = true },37297 .clobbers = .{ .eflags = true },
33586 .each = .{ .once = &.{37298 .each = .{ .once = &.{
33587 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37299 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33614,7 +37326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33614,7 +37326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33614 .unused,37326 .unused,
33615 .unused,37327 .unused,
33616 },37328 },
33617 .dst_temps = .{.mem},37329 .dst_temps = .{ .mem, .unused },
33618 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37330 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33619 .each = .{ .once = &.{37331 .each = .{ .once = &.{
33620 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37332 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33648,7 +37360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33648,7 +37360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33648 .unused,37360 .unused,
33649 .unused,37361 .unused,
33650 },37362 },
33651 .dst_temps = .{.mem},37363 .dst_temps = .{ .mem, .unused },
33652 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33653 .each = .{ .once = &.{37365 .each = .{ .once = &.{
33654 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37366 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33682,7 +37394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33682,7 +37394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33682 .unused,37394 .unused,
33683 .unused,37395 .unused,
33684 },37396 },
33685 .dst_temps = .{.mem},37397 .dst_temps = .{ .mem, .unused },
33686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37398 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33687 .each = .{ .once = &.{37399 .each = .{ .once = &.{
33688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33717,7 +37429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33717,7 +37429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33717 .unused,37429 .unused,
33718 .unused,37430 .unused,
33719 },37431 },
33720 .dst_temps = .{.mem},37432 .dst_temps = .{ .mem, .unused },
33721 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37433 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33722 .each = .{ .once = &.{37434 .each = .{ .once = &.{
33723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33737,7 +37449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33737,7 +37449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33737 .patterns = &.{37449 .patterns = &.{
33738 .{ .src = .{ .mem, .none, .none } },37450 .{ .src = .{ .mem, .none, .none } },
33739 },37451 },
33740 .dst_temps = .{.{ .rc = .sse }},37452 .dst_temps = .{ .{ .rc = .sse }, .unused },
33741 .each = .{ .once = &.{37453 .each = .{ .once = &.{
33742 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },37454 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
33743 .{ ._, .v_ss, .round, .dst0x, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }) },37455 .{ ._, .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 {...@@ -33748,7 +37460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33748 .patterns = &.{37460 .patterns = &.{
33749 .{ .src = .{ .to_sse, .none, .none } },37461 .{ .src = .{ .to_sse, .none, .none } },
33750 },37462 },
33751 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37463 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33752 .each = .{ .once = &.{37464 .each = .{ .once = &.{
33753 .{ ._, .v_ss, .round, .dst0x, .src0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }) },37465 .{ ._, .v_ss, .round, .dst0x, .src0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }) },
33754 } },37466 } },
...@@ -33758,7 +37470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33758,7 +37470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33758 .patterns = &.{37470 .patterns = &.{
33759 .{ .src = .{ .mem, .none, .none } },37471 .{ .src = .{ .mem, .none, .none } },
33760 },37472 },
33761 .dst_temps = .{.{ .rc = .sse }},37473 .dst_temps = .{ .{ .rc = .sse }, .unused },
33762 .each = .{ .once = &.{37474 .each = .{ .once = &.{
33763 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },37475 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
33764 .{ ._, ._ss, .round, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37476 .{ ._, ._ss, .round, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
...@@ -33769,7 +37481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33769,7 +37481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33769 .patterns = &.{37481 .patterns = &.{
33770 .{ .src = .{ .to_mut_sse, .none, .none } },37482 .{ .src = .{ .to_mut_sse, .none, .none } },
33771 },37483 },
33772 .dst_temps = .{.{ .ref = .src0 }},37484 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33773 .each = .{ .once = &.{37485 .each = .{ .once = &.{
33774 .{ ._, ._ss, .round, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37486 .{ ._, ._ss, .round, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
33775 } },37487 } },
...@@ -33796,7 +37508,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33796,7 +37508,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33796 .unused,37508 .unused,
33797 .unused,37509 .unused,
33798 },37510 },
33799 .dst_temps = .{.{ .ref = .src0 }},37511 .dst_temps = .{ .{ .ref = .src0 }, .unused },
33800 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37512 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33801 .each = .{ .once = &.{37513 .each = .{ .once = &.{
33802 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },37514 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -33808,7 +37520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33808,7 +37520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33808 .{ .src = .{ .mem, .none, .none } },37520 .{ .src = .{ .mem, .none, .none } },
33809 .{ .src = .{ .to_sse, .none, .none } },37521 .{ .src = .{ .to_sse, .none, .none } },
33810 },37522 },
33811 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37523 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33812 .each = .{ .once = &.{37524 .each = .{ .once = &.{
33813 .{ ._, .v_ps, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37525 .{ ._, .v_ps, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
33814 } },37526 } },
...@@ -33819,7 +37531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33819,7 +37531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33819 .{ .src = .{ .mem, .none, .none } },37531 .{ .src = .{ .mem, .none, .none } },
33820 .{ .src = .{ .to_sse, .none, .none } },37532 .{ .src = .{ .to_sse, .none, .none } },
33821 },37533 },
33822 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37534 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33823 .each = .{ .once = &.{37535 .each = .{ .once = &.{
33824 .{ ._, ._ps, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37536 .{ ._, ._ps, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
33825 } },37537 } },
...@@ -33830,7 +37542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33830,7 +37542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33830 .{ .src = .{ .mem, .none, .none } },37542 .{ .src = .{ .mem, .none, .none } },
33831 .{ .src = .{ .to_sse, .none, .none } },37543 .{ .src = .{ .to_sse, .none, .none } },
33832 },37544 },
33833 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37545 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33834 .each = .{ .once = &.{37546 .each = .{ .once = &.{
33835 .{ ._, .v_ps, .round, .dst0y, .src0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37547 .{ ._, .v_ps, .round, .dst0y, .src0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
33836 } },37548 } },
...@@ -33851,7 +37563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33851,7 +37563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33851 .unused,37563 .unused,
33852 .unused,37564 .unused,
33853 },37565 },
33854 .dst_temps = .{.mem},37566 .dst_temps = .{ .mem, .unused },
33855 .clobbers = .{ .eflags = true },37567 .clobbers = .{ .eflags = true },
33856 .each = .{ .once = &.{37568 .each = .{ .once = &.{
33857 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37569 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33880,7 +37592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33880,7 +37592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33880 .unused,37592 .unused,
33881 .unused,37593 .unused,
33882 },37594 },
33883 .dst_temps = .{.mem},37595 .dst_temps = .{ .mem, .unused },
33884 .clobbers = .{ .eflags = true },37596 .clobbers = .{ .eflags = true },
33885 .each = .{ .once = &.{37597 .each = .{ .once = &.{
33886 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33915,7 +37627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33915,7 +37627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33915 .unused,37627 .unused,
33916 .unused,37628 .unused,
33917 },37629 },
33918 .dst_temps = .{.mem},37630 .dst_temps = .{ .mem, .unused },
33919 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37631 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33920 .each = .{ .once = &.{37632 .each = .{ .once = &.{
33921 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37633 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33948,7 +37660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33948,7 +37660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33948 .unused,37660 .unused,
33949 .unused,37661 .unused,
33950 },37662 },
33951 .dst_temps = .{.mem},37663 .dst_temps = .{ .mem, .unused },
33952 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37664 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
33953 .each = .{ .once = &.{37665 .each = .{ .once = &.{
33954 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37666 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -33964,7 +37676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33964,7 +37676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33964 .patterns = &.{37676 .patterns = &.{
33965 .{ .src = .{ .mem, .none, .none } },37677 .{ .src = .{ .mem, .none, .none } },
33966 },37678 },
33967 .dst_temps = .{.{ .rc = .sse }},37679 .dst_temps = .{ .{ .rc = .sse }, .unused },
33968 .each = .{ .once = &.{37680 .each = .{ .once = &.{
33969 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },37681 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
33970 .{ ._, .v_sd, .round, .dst0x, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }) },37682 .{ ._, .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 {...@@ -33975,7 +37687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33975 .patterns = &.{37687 .patterns = &.{
33976 .{ .src = .{ .to_sse, .none, .none } },37688 .{ .src = .{ .to_sse, .none, .none } },
33977 },37689 },
33978 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37690 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
33979 .each = .{ .once = &.{37691 .each = .{ .once = &.{
33980 .{ ._, .v_sd, .round, .dst0x, .src0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }) },37692 .{ ._, .v_sd, .round, .dst0x, .src0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }) },
33981 } },37693 } },
...@@ -33985,7 +37697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33985,7 +37697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33985 .patterns = &.{37697 .patterns = &.{
33986 .{ .src = .{ .mem, .none, .none } },37698 .{ .src = .{ .mem, .none, .none } },
33987 },37699 },
33988 .dst_temps = .{.{ .rc = .sse }},37700 .dst_temps = .{ .{ .rc = .sse }, .unused },
33989 .each = .{ .once = &.{37701 .each = .{ .once = &.{
33990 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },37702 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
33991 .{ ._, ._sd, .round, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37703 .{ ._, ._sd, .round, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
...@@ -33996,7 +37708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -33996,7 +37708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
33996 .patterns = &.{37708 .patterns = &.{
33997 .{ .src = .{ .to_mut_sse, .none, .none } },37709 .{ .src = .{ .to_mut_sse, .none, .none } },
33998 },37710 },
33999 .dst_temps = .{.{ .ref = .src0 }},37711 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34000 .each = .{ .once = &.{37712 .each = .{ .once = &.{
34001 .{ ._, ._sd, .round, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37713 .{ ._, ._sd, .round, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
34002 } },37714 } },
...@@ -34023,7 +37735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34023,7 +37735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34023 .unused,37735 .unused,
34024 .unused,37736 .unused,
34025 },37737 },
34026 .dst_temps = .{.{ .ref = .src0 }},37738 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34027 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37739 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34028 .each = .{ .once = &.{37740 .each = .{ .once = &.{
34029 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },37741 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -34035,7 +37747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34035,7 +37747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34035 .{ .src = .{ .mem, .none, .none } },37747 .{ .src = .{ .mem, .none, .none } },
34036 .{ .src = .{ .to_sse, .none, .none } },37748 .{ .src = .{ .to_sse, .none, .none } },
34037 },37749 },
34038 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37750 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34039 .each = .{ .once = &.{37751 .each = .{ .once = &.{
34040 .{ ._, .v_pd, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37752 .{ ._, .v_pd, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
34041 } },37753 } },
...@@ -34046,7 +37758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34046,7 +37758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34046 .{ .src = .{ .mem, .none, .none } },37758 .{ .src = .{ .mem, .none, .none } },
34047 .{ .src = .{ .to_sse, .none, .none } },37759 .{ .src = .{ .to_sse, .none, .none } },
34048 },37760 },
34049 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37761 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34050 .each = .{ .once = &.{37762 .each = .{ .once = &.{
34051 .{ ._, ._pd, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37763 .{ ._, ._pd, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
34052 } },37764 } },
...@@ -34057,7 +37769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34057,7 +37769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34057 .{ .src = .{ .mem, .none, .none } },37769 .{ .src = .{ .mem, .none, .none } },
34058 .{ .src = .{ .to_sse, .none, .none } },37770 .{ .src = .{ .to_sse, .none, .none } },
34059 },37771 },
34060 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},37772 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34061 .each = .{ .once = &.{37773 .each = .{ .once = &.{
34062 .{ ._, .v_pd, .round, .dst0y, .src0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },37774 .{ ._, .v_pd, .round, .dst0y, .src0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
34063 } },37775 } },
...@@ -34078,7 +37790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34078,7 +37790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34078 .unused,37790 .unused,
34079 .unused,37791 .unused,
34080 },37792 },
34081 .dst_temps = .{.mem},37793 .dst_temps = .{ .mem, .unused },
34082 .clobbers = .{ .eflags = true },37794 .clobbers = .{ .eflags = true },
34083 .each = .{ .once = &.{37795 .each = .{ .once = &.{
34084 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37796 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34107,7 +37819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34107,7 +37819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34107 .unused,37819 .unused,
34108 .unused,37820 .unused,
34109 },37821 },
34110 .dst_temps = .{.mem},37822 .dst_temps = .{ .mem, .unused },
34111 .clobbers = .{ .eflags = true },37823 .clobbers = .{ .eflags = true },
34112 .each = .{ .once = &.{37824 .each = .{ .once = &.{
34113 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37825 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34142,7 +37854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34142,7 +37854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34142 .unused,37854 .unused,
34143 .unused,37855 .unused,
34144 },37856 },
34145 .dst_temps = .{.mem},37857 .dst_temps = .{ .mem, .unused },
34146 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34147 .each = .{ .once = &.{37859 .each = .{ .once = &.{
34148 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34175,7 +37887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34175,7 +37887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34175 .unused,37887 .unused,
34176 .unused,37888 .unused,
34177 },37889 },
34178 .dst_temps = .{.mem},37890 .dst_temps = .{ .mem, .unused },
34179 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37891 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34180 .each = .{ .once = &.{37892 .each = .{ .once = &.{
34181 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37893 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34208,7 +37920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34208,7 +37920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34208 .unused,37920 .unused,
34209 .unused,37921 .unused,
34210 },37922 },
34211 .dst_temps = .{.mem},37923 .dst_temps = .{ .mem, .unused },
34212 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37924 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34213 .each = .{ .once = &.{37925 .each = .{ .once = &.{
34214 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },37926 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34242,7 +37954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34242,7 +37954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34242 .unused,37954 .unused,
34243 .unused,37955 .unused,
34244 },37956 },
34245 .dst_temps = .{.{ .reg = .st0 }},37957 .dst_temps = .{ .{ .reg = .st0 }, .unused },
34246 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37958 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34247 .each = .{ .once = &.{37959 .each = .{ .once = &.{
34248 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },37960 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -34272,7 +37984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34272,7 +37984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34272 .unused,37984 .unused,
34273 .unused,37985 .unused,
34274 },37986 },
34275 .dst_temps = .{.{ .reg = .st0 }},37987 .dst_temps = .{ .{ .reg = .st0 }, .unused },
34276 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },37988 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34277 .each = .{ .once = &.{37989 .each = .{ .once = &.{
34278 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },37990 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -34302,7 +38014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34302,7 +38014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34302 .unused,38014 .unused,
34303 .unused,38015 .unused,
34304 },38016 },
34305 .dst_temps = .{.{ .reg = .st0 }},38017 .dst_temps = .{ .{ .reg = .st0 }, .unused },
34306 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38018 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34307 .each = .{ .once = &.{38019 .each = .{ .once = &.{
34308 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },38020 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -34332,7 +38044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34332,7 +38044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34332 .unused,38044 .unused,
34333 .unused,38045 .unused,
34334 },38046 },
34335 .dst_temps = .{.mem},38047 .dst_temps = .{ .mem, .unused },
34336 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38048 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34337 .each = .{ .once = &.{38049 .each = .{ .once = &.{
34338 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },38050 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34367,7 +38079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34367,7 +38079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34367 .unused,38079 .unused,
34368 .unused,38080 .unused,
34369 },38081 },
34370 .dst_temps = .{.mem},38082 .dst_temps = .{ .mem, .unused },
34371 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38083 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34372 .each = .{ .once = &.{38084 .each = .{ .once = &.{
34373 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },38085 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34402,7 +38114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34402,7 +38114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34402 .unused,38114 .unused,
34403 .unused,38115 .unused,
34404 },38116 },
34405 .dst_temps = .{.mem},38117 .dst_temps = .{ .mem, .unused },
34406 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38118 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34407 .each = .{ .once = &.{38119 .each = .{ .once = &.{
34408 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },38120 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34437,7 +38149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34437,7 +38149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34437 .unused,38149 .unused,
34438 .unused,38150 .unused,
34439 },38151 },
34440 .dst_temps = .{.{ .ref = .src0 }},38152 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34441 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38153 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34442 .each = .{ .once = &.{38154 .each = .{ .once = &.{
34443 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },38155 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -34465,7 +38177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34465,7 +38177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34465 .unused,38177 .unused,
34466 .unused,38178 .unused,
34467 },38179 },
34468 .dst_temps = .{.mem},38180 .dst_temps = .{ .mem, .unused },
34469 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38181 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34470 .each = .{ .once = &.{38182 .each = .{ .once = &.{
34471 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },38183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34498,7 +38210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34498,7 +38210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34498 .unused,38210 .unused,
34499 .unused,38211 .unused,
34500 },38212 },
34501 .dst_temps = .{.mem},38213 .dst_temps = .{ .mem, .unused },
34502 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38214 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34503 .each = .{ .once = &.{38215 .each = .{ .once = &.{
34504 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },38216 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34531,7 +38243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34531,7 +38243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34531 .unused,38243 .unused,
34532 .unused,38244 .unused,
34533 },38245 },
34534 .dst_temps = .{.mem},38246 .dst_temps = .{ .mem, .unused },
34535 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34536 .each = .{ .once = &.{38248 .each = .{ .once = &.{
34537 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },38249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -34573,7 +38285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34573,7 +38285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34573 .unused,38285 .unused,
34574 .unused,38286 .unused,
34575 },38287 },
34576 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38288 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34577 .each = .{ .once = &.{38289 .each = .{ .once = &.{
34578 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38290 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34579 .{ ._, .v_ps, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },38291 .{ ._, .v_ps, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -34595,7 +38307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34595,7 +38307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34595 .unused,38307 .unused,
34596 .unused,38308 .unused,
34597 },38309 },
34598 .dst_temps = .{.{ .ref = .src0 }},38310 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34599 .each = .{ .once = &.{38311 .each = .{ .once = &.{
34600 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38312 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34601 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },38313 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -34617,7 +38329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34617,7 +38329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34617 .unused,38329 .unused,
34618 .unused,38330 .unused,
34619 },38331 },
34620 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38332 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34621 .each = .{ .once = &.{38333 .each = .{ .once = &.{
34622 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38334 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34623 .{ ._, .v_ps, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },38335 .{ ._, .v_ps, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -34639,7 +38351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34639,7 +38351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34639 .unused,38351 .unused,
34640 .unused,38352 .unused,
34641 },38353 },
34642 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38354 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34643 .each = .{ .once = &.{38355 .each = .{ .once = &.{
34644 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38356 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34645 .{ ._, .v_pd, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },38357 .{ ._, .v_pd, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -34661,7 +38373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34661,7 +38373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34661 .unused,38373 .unused,
34662 .unused,38374 .unused,
34663 },38375 },
34664 .dst_temps = .{.{ .ref = .src0 }},38376 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34665 .each = .{ .once = &.{38377 .each = .{ .once = &.{
34666 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38378 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34667 .{ ._, ._pd, .xor, .dst0x, .lea(.tmp0x), ._, ._ },38379 .{ ._, ._pd, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -34683,7 +38395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34683,7 +38395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34683 .unused,38395 .unused,
34684 .unused,38396 .unused,
34685 },38397 },
34686 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38398 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34687 .each = .{ .once = &.{38399 .each = .{ .once = &.{
34688 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38400 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34689 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },38401 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -34706,7 +38418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34706,7 +38418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34706 .unused,38418 .unused,
34707 .unused,38419 .unused,
34708 },38420 },
34709 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }},38421 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused },
34710 .each = .{ .once = &.{38422 .each = .{ .once = &.{
34711 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },38423 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
34712 .{ ._, .f_, .chs, ._, ._, ._, ._ },38424 .{ ._, .f_, .chs, ._, ._, ._, ._ },
...@@ -34729,7 +38441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34729,7 +38441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34729 .unused,38441 .unused,
34730 .unused,38442 .unused,
34731 },38443 },
34732 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38444 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34733 .each = .{ .once = &.{38445 .each = .{ .once = &.{
34734 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38446 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34735 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },38447 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -34751,7 +38463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34751,7 +38463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34751 .unused,38463 .unused,
34752 .unused,38464 .unused,
34753 },38465 },
34754 .dst_temps = .{.{ .ref = .src0 }},38466 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34755 .each = .{ .once = &.{38467 .each = .{ .once = &.{
34756 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38468 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34757 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },38469 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -34773,7 +38485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34773,7 +38485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34773 .unused,38485 .unused,
34774 .unused,38486 .unused,
34775 },38487 },
34776 .dst_temps = .{.{ .ref = .src0 }},38488 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34777 .each = .{ .once = &.{38489 .each = .{ .once = &.{
34778 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38490 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34779 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },38491 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -34795,7 +38507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34795,7 +38507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34795 .unused,38507 .unused,
34796 .unused,38508 .unused,
34797 },38509 },
34798 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38510 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34799 .each = .{ .once = &.{38511 .each = .{ .once = &.{
34800 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38512 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34801 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },38513 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -34817,7 +38529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34817,7 +38529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34817 .unused,38529 .unused,
34818 .unused,38530 .unused,
34819 },38531 },
34820 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},38532 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34821 .each = .{ .once = &.{38533 .each = .{ .once = &.{
34822 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38534 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34823 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },38535 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -34839,7 +38551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34839,7 +38551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34839 .unused,38551 .unused,
34840 .unused,38552 .unused,
34841 },38553 },
34842 .dst_temps = .{.mem},38554 .dst_temps = .{ .mem, .unused },
34843 .each = .{ .once = &.{38555 .each = .{ .once = &.{
34844 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38556 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34845 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },38557 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -34866,7 +38578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34866,7 +38578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34866 .unused,38578 .unused,
34867 .unused,38579 .unused,
34868 },38580 },
34869 .dst_temps = .{.mem},38581 .dst_temps = .{ .mem, .unused },
34870 .each = .{ .once = &.{38582 .each = .{ .once = &.{
34871 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38583 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34872 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },38584 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -34894,7 +38606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34894,7 +38606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34894 .unused,38606 .unused,
34895 .unused,38607 .unused,
34896 },38608 },
34897 .dst_temps = .{.mem},38609 .dst_temps = .{ .mem, .unused },
34898 .each = .{ .once = &.{38610 .each = .{ .once = &.{
34899 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38611 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34900 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },38612 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -34921,7 +38633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34921,7 +38633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34921 .unused,38633 .unused,
34922 .unused,38634 .unused,
34923 },38635 },
34924 .dst_temps = .{.mem},38636 .dst_temps = .{ .mem, .unused },
34925 .each = .{ .once = &.{38637 .each = .{ .once = &.{
34926 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38638 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34927 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },38639 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -34949,7 +38661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34949,7 +38661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34949 .unused,38661 .unused,
34950 .unused,38662 .unused,
34951 },38663 },
34952 .dst_temps = .{.mem},38664 .dst_temps = .{ .mem, .unused },
34953 .each = .{ .once = &.{38665 .each = .{ .once = &.{
34954 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38666 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34955 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },38667 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -34976,7 +38688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -34976,7 +38688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34976 .unused,38688 .unused,
34977 .unused,38689 .unused,
34978 },38690 },
34979 .dst_temps = .{.mem},38691 .dst_temps = .{ .mem, .unused },
34980 .each = .{ .once = &.{38692 .each = .{ .once = &.{
34981 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38693 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
34982 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },38694 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
...@@ -35003,7 +38715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35003,7 +38715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35003 .unused,38715 .unused,
35004 .unused,38716 .unused,
35005 },38717 },
35006 .dst_temps = .{.mem},38718 .dst_temps = .{ .mem, .unused },
35007 .each = .{ .once = &.{38719 .each = .{ .once = &.{
35008 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38720 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
35009 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },38721 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -35031,7 +38743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35031,7 +38743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35031 .unused,38743 .unused,
35032 .unused,38744 .unused,
35033 },38745 },
35034 .dst_temps = .{.mem},38746 .dst_temps = .{ .mem, .unused },
35035 .each = .{ .once = &.{38747 .each = .{ .once = &.{
35036 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },38748 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
35037 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },38749 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -35094,10 +38806,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35094,10 +38806,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35094 .unused,38806 .unused,
35095 .unused,38807 .unused,
35096 },38808 },
35097 .dst_temps = .{.{ .cc = switch (strict) {38809 .dst_temps = .{ .{ .cc = switch (strict) {
35098 true => .a,38810 true => .a,
35099 false => .ae,38811 false => .ae,
35100 } }},38812 } }, .unused },
35101 .clobbers = .{ .eflags = true },38813 .clobbers = .{ .eflags = true },
35102 .each = .{ .once = &.{38814 .each = .{ .once = &.{
35103 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },38815 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
...@@ -35122,10 +38834,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35122,10 +38834,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35122 .unused,38834 .unused,
35123 .unused,38835 .unused,
35124 },38836 },
35125 .dst_temps = .{.{ .cc = switch (strict) {38837 .dst_temps = .{ .{ .cc = switch (strict) {
35126 true => .l,38838 true => .l,
35127 false => .le,38839 false => .le,
35128 } }},38840 } }, .unused },
35129 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },38841 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
35130 .each = .{ .once = &.{38842 .each = .{ .once = &.{
35131 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },38843 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -35138,10 +38850,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35138,10 +38850,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35138 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },38850 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35139 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },38851 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
35140 },38852 },
35141 .dst_temps = .{.{ .cc = switch (strict) {38853 .dst_temps = .{ .{ .cc = switch (strict) {
35142 true => .a,38854 true => .a,
35143 false => .ae,38855 false => .ae,
35144 } }},38856 } }, .unused },
35145 .clobbers = .{ .eflags = true },38857 .clobbers = .{ .eflags = true },
35146 .each = .{ .once = &.{38858 .each = .{ .once = &.{
35147 .{ ._, .v_ss, .ucomi, .src0x, .src1d, ._, ._ },38859 .{ ._, .v_ss, .ucomi, .src0x, .src1d, ._, ._ },
...@@ -35153,10 +38865,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35153,10 +38865,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35153 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },38865 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35154 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },38866 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
35155 },38867 },
35156 .dst_temps = .{.{ .cc = switch (strict) {38868 .dst_temps = .{ .{ .cc = switch (strict) {
35157 true => .a,38869 true => .a,
35158 false => .ae,38870 false => .ae,
35159 } }},38871 } }, .unused },
35160 .clobbers = .{ .eflags = true },38872 .clobbers = .{ .eflags = true },
35161 .each = .{ .once = &.{38873 .each = .{ .once = &.{
35162 .{ ._, ._ss, .ucomi, .src0x, .src1d, ._, ._ },38874 .{ ._, ._ss, .ucomi, .src0x, .src1d, ._, ._ },
...@@ -35168,10 +38880,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35168,10 +38880,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35168 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },38880 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35169 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },38881 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
35170 },38882 },
35171 .dst_temps = .{.{ .cc = switch (strict) {38883 .dst_temps = .{ .{ .cc = switch (strict) {
35172 true => .a,38884 true => .a,
35173 false => .ae,38885 false => .ae,
35174 } }},38886 } }, .unused },
35175 .clobbers = .{ .eflags = true },38887 .clobbers = .{ .eflags = true },
35176 .each = .{ .once = &.{38888 .each = .{ .once = &.{
35177 .{ ._, .v_sd, .ucomi, .src0x, .src1q, ._, ._ },38889 .{ ._, .v_sd, .ucomi, .src0x, .src1q, ._, ._ },
...@@ -35183,10 +38895,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35183,10 +38895,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35183 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },38895 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35184 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },38896 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
35185 },38897 },
35186 .dst_temps = .{.{ .cc = switch (strict) {38898 .dst_temps = .{ .{ .cc = switch (strict) {
35187 true => .a,38899 true => .a,
35188 false => .ae,38900 false => .ae,
35189 } }},38901 } }, .unused },
35190 .clobbers = .{ .eflags = true },38902 .clobbers = .{ .eflags = true },
35191 .each = .{ .once = &.{38903 .each = .{ .once = &.{
35192 .{ ._, ._sd, .ucomi, .src0x, .src1q, ._, ._ },38904 .{ ._, ._sd, .ucomi, .src0x, .src1q, ._, ._ },
...@@ -35208,10 +38920,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35208,10 +38920,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35208 .unused,38920 .unused,
35209 .unused,38921 .unused,
35210 },38922 },
35211 .dst_temps = .{.{ .cc = switch (strict) {38923 .dst_temps = .{ .{ .cc = switch (strict) {
35212 true => .a,38924 true => .a,
35213 false => .ae,38925 false => .ae,
35214 } }},38926 } }, .unused },
35215 .clobbers = .{ .eflags = true },38927 .clobbers = .{ .eflags = true },
35216 .each = .{ .once = &.{38928 .each = .{ .once = &.{
35217 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },38929 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
...@@ -35236,10 +38948,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35236,10 +38948,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35236 .unused,38948 .unused,
35237 .unused,38949 .unused,
35238 },38950 },
35239 .dst_temps = .{.{ .cc = switch (strict) {38951 .dst_temps = .{ .{ .cc = switch (strict) {
35240 true => .a,38952 true => .a,
35241 false => .ae,38953 false => .ae,
35242 } }},38954 } }, .unused },
35243 .clobbers = .{ .eflags = true },38955 .clobbers = .{ .eflags = true },
35244 .each = .{ .once = &.{38956 .each = .{ .once = &.{
35245 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },38957 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
...@@ -35265,10 +38977,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35265,10 +38977,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35265 .unused,38977 .unused,
35266 .unused,38978 .unused,
35267 },38979 },
35268 .dst_temps = .{.{ .cc = switch (strict) {38980 .dst_temps = .{ .{ .cc = switch (strict) {
35269 true => .z,38981 true => .z,
35270 false => .nc,38982 false => .nc,
35271 } }},38983 } }, .unused },
35272 .clobbers = .{ .eflags = true },38984 .clobbers = .{ .eflags = true },
35273 .each = .{ .once = &.{38985 .each = .{ .once = &.{
35274 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },38986 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
...@@ -35298,10 +39010,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35298,10 +39010,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35298 .unused,39010 .unused,
35299 .unused,39011 .unused,
35300 },39012 },
35301 .dst_temps = .{.{ .cc = switch (strict) {39013 .dst_temps = .{ .{ .cc = switch (strict) {
35302 true => .a,39014 true => .a,
35303 false => .ae,39015 false => .ae,
35304 } }},39016 } }, .unused },
35305 .clobbers = .{ .eflags = true },39017 .clobbers = .{ .eflags = true },
35306 .each = .{ .once = &.{39018 .each = .{ .once = &.{
35307 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },39019 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -35324,10 +39036,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35324,10 +39036,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35324 .unused,39036 .unused,
35325 .unused,39037 .unused,
35326 },39038 },
35327 .dst_temps = .{.{ .cc = switch (strict) {39039 .dst_temps = .{ .{ .cc = switch (strict) {
35328 true => .a,39040 true => .a,
35329 false => .ae,39041 false => .ae,
35330 } }},39042 } }, .unused },
35331 .clobbers = .{ .eflags = true },39043 .clobbers = .{ .eflags = true },
35332 .each = .{ .once = &.{39044 .each = .{ .once = &.{
35333 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },39045 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
...@@ -35354,10 +39066,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35354,10 +39066,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35354 .unused,39066 .unused,
35355 .unused,39067 .unused,
35356 },39068 },
35357 .dst_temps = .{.{ .cc = switch (strict) {39069 .dst_temps = .{ .{ .cc = switch (strict) {
35358 true => .a,39070 true => .a,
35359 false => .ae,39071 false => .ae,
35360 } }},39072 } }, .unused },
35361 .clobbers = .{ .eflags = true },39073 .clobbers = .{ .eflags = true },
35362 .each = .{ .once = &.{39074 .each = .{ .once = &.{
35363 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },39075 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -35382,10 +39094,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35382,10 +39094,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35382 .unused,39094 .unused,
35383 .unused,39095 .unused,
35384 },39096 },
35385 .dst_temps = .{.{ .cc = switch (strict) {39097 .dst_temps = .{ .{ .cc = switch (strict) {
35386 true => .z,39098 true => .z,
35387 false => .nc,39099 false => .nc,
35388 } }},39100 } }, .unused },
35389 .clobbers = .{ .eflags = true },39101 .clobbers = .{ .eflags = true },
35390 .each = .{ .once = &.{39102 .each = .{ .once = &.{
35391 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },39103 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
...@@ -35415,10 +39127,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35415,10 +39127,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35415 .unused,39127 .unused,
35416 .unused,39128 .unused,
35417 },39129 },
35418 .dst_temps = .{.{ .cc = switch (strict) {39130 .dst_temps = .{ .{ .cc = switch (strict) {
35419 true => .z,39131 true => .z,
35420 false => .nc,39132 false => .nc,
35421 } }},39133 } }, .unused },
35422 .clobbers = .{ .eflags = true },39134 .clobbers = .{ .eflags = true },
35423 .each = .{ .once = &.{39135 .each = .{ .once = &.{
35424 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },39136 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -35447,10 +39159,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35447,10 +39159,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35447 .unused,39159 .unused,
35448 .unused,39160 .unused,
35449 },39161 },
35450 .dst_temps = .{.{ .cc = switch (strict) {39162 .dst_temps = .{ .{ .cc = switch (strict) {
35451 true => .l,39163 true => .l,
35452 false => .le,39164 false => .le,
35453 } }},39165 } }, .unused },
35454 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },39166 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
35455 .each = .{ .once = &.{39167 .each = .{ .once = &.{
35456 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },39168 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -35521,7 +39233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35521,7 +39233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35521 .{ .src = .{ .to_gpr, .mem, .none }, .commute = .{ 0, 1 } },39233 .{ .src = .{ .to_gpr, .mem, .none }, .commute = .{ 0, 1 } },
35522 .{ .src = .{ .to_gpr, .to_gpr, .none } },39234 .{ .src = .{ .to_gpr, .to_gpr, .none } },
35523 },39235 },
35524 .dst_temps = .{.{ .rc = .general_purpose }},39236 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
35525 .clobbers = .{ .eflags = true },39237 .clobbers = .{ .eflags = true },
35526 .each = .{ .once = &.{39238 .each = .{ .once = &.{
35527 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },39239 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
...@@ -35576,10 +39288,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35576,10 +39288,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35576 .unused,39288 .unused,
35577 .unused,39289 .unused,
35578 },39290 },
35579 .dst_temps = .{.{ .cc = switch (optimized) {39291 .dst_temps = .{ .{ .cc = switch (optimized) {
35580 false => .z_and_np,39292 false => .z_and_np,
35581 true => .z,39293 true => .z,
35582 } }},39294 } }, .unused },
35583 .clobbers = .{ .eflags = true },39295 .clobbers = .{ .eflags = true },
35584 .each = .{ .once = &.{39296 .each = .{ .once = &.{
35585 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },39297 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
...@@ -35604,7 +39316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35604,7 +39316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35604 .unused,39316 .unused,
35605 .unused,39317 .unused,
35606 },39318 },
35607 .dst_temps = .{.{ .cc = .z }},39319 .dst_temps = .{ .{ .cc = .z }, .unused },
35608 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },39320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
35609 .each = .{ .once = &.{39321 .each = .{ .once = &.{
35610 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },39322 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -35618,10 +39330,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35618,10 +39330,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35618 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },39330 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35619 .{ .src = .{ .to_sse, .to_sse, .none } },39331 .{ .src = .{ .to_sse, .to_sse, .none } },
35620 },39332 },
35621 .dst_temps = .{.{ .cc = switch (optimized) {39333 .dst_temps = .{ .{ .cc = switch (optimized) {
35622 false => .z_and_np,39334 false => .z_and_np,
35623 true => .z,39335 true => .z,
35624 } }},39336 } }, .unused },
35625 .clobbers = .{ .eflags = true },39337 .clobbers = .{ .eflags = true },
35626 .each = .{ .once = &.{39338 .each = .{ .once = &.{
35627 .{ ._, .v_ss, .ucomi, .src0x, .src1d, ._, ._ },39339 .{ ._, .v_ss, .ucomi, .src0x, .src1d, ._, ._ },
...@@ -35634,10 +39346,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35634,10 +39346,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35634 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },39346 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35635 .{ .src = .{ .to_sse, .to_sse, .none } },39347 .{ .src = .{ .to_sse, .to_sse, .none } },
35636 },39348 },
35637 .dst_temps = .{.{ .cc = switch (optimized) {39349 .dst_temps = .{ .{ .cc = switch (optimized) {
35638 false => .z_and_np,39350 false => .z_and_np,
35639 true => .z,39351 true => .z,
35640 } }},39352 } }, .unused },
35641 .clobbers = .{ .eflags = true },39353 .clobbers = .{ .eflags = true },
35642 .each = .{ .once = &.{39354 .each = .{ .once = &.{
35643 .{ ._, ._ss, .ucomi, .src0x, .src1d, ._, ._ },39355 .{ ._, ._ss, .ucomi, .src0x, .src1d, ._, ._ },
...@@ -35650,10 +39362,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35650,10 +39362,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35650 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },39362 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35651 .{ .src = .{ .to_sse, .to_sse, .none } },39363 .{ .src = .{ .to_sse, .to_sse, .none } },
35652 },39364 },
35653 .dst_temps = .{.{ .cc = switch (optimized) {39365 .dst_temps = .{ .{ .cc = switch (optimized) {
35654 false => .z_and_np,39366 false => .z_and_np,
35655 true => .z,39367 true => .z,
35656 } }},39368 } }, .unused },
35657 .clobbers = .{ .eflags = true },39369 .clobbers = .{ .eflags = true },
35658 .each = .{ .once = &.{39370 .each = .{ .once = &.{
35659 .{ ._, .v_sd, .ucomi, .src0x, .src1q, ._, ._ },39371 .{ ._, .v_sd, .ucomi, .src0x, .src1q, ._, ._ },
...@@ -35666,10 +39378,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35666,10 +39378,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35666 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },39378 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
35667 .{ .src = .{ .to_sse, .to_sse, .none } },39379 .{ .src = .{ .to_sse, .to_sse, .none } },
35668 },39380 },
35669 .dst_temps = .{.{ .cc = switch (optimized) {39381 .dst_temps = .{ .{ .cc = switch (optimized) {
35670 false => .z_and_np,39382 false => .z_and_np,
35671 true => .z,39383 true => .z,
35672 } }},39384 } }, .unused },
35673 .clobbers = .{ .eflags = true },39385 .clobbers = .{ .eflags = true },
35674 .each = .{ .once = &.{39386 .each = .{ .once = &.{
35675 .{ ._, ._sd, .ucomi, .src0x, .src1q, ._, ._ },39387 .{ ._, ._sd, .ucomi, .src0x, .src1q, ._, ._ },
...@@ -35691,10 +39403,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35691,10 +39403,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35691 .unused,39403 .unused,
35692 .unused,39404 .unused,
35693 },39405 },
35694 .dst_temps = .{.{ .cc = switch (optimized) {39406 .dst_temps = .{ .{ .cc = switch (optimized) {
35695 false => .z_and_np,39407 false => .z_and_np,
35696 true => .z,39408 true => .z,
35697 } }},39409 } }, .unused },
35698 .clobbers = .{ .eflags = true },39410 .clobbers = .{ .eflags = true },
35699 .each = .{ .once = &.{39411 .each = .{ .once = &.{
35700 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },39412 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
...@@ -35719,10 +39431,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35719,10 +39431,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35719 .unused,39431 .unused,
35720 .unused,39432 .unused,
35721 },39433 },
35722 .dst_temps = .{.{ .cc = switch (optimized) {39434 .dst_temps = .{ .{ .cc = switch (optimized) {
35723 false => .z_and_np,39435 false => .z_and_np,
35724 true => .z,39436 true => .z,
35725 } }},39437 } }, .unused },
35726 .clobbers = .{ .eflags = true },39438 .clobbers = .{ .eflags = true },
35727 .each = .{ .once = &.{39439 .each = .{ .once = &.{
35728 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },39440 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
...@@ -35748,10 +39460,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35748,10 +39460,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35748 .unused,39460 .unused,
35749 .unused,39461 .unused,
35750 },39462 },
35751 .dst_temps = .{.{ .cc = switch (optimized) {39463 .dst_temps = .{ .{ .cc = switch (optimized) {
35752 false => .z,39464 false => .z,
35753 true => .nz,39465 true => .nz,
35754 } }},39466 } }, .unused },
35755 .clobbers = .{ .eflags = true },39467 .clobbers = .{ .eflags = true },
35756 .each = .{ .once = switch (optimized) {39468 .each = .{ .once = switch (optimized) {
35757 false => &.{39469 false => &.{
...@@ -35789,10 +39501,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35789,10 +39501,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35789 .unused,39501 .unused,
35790 .unused,39502 .unused,
35791 },39503 },
35792 .dst_temps = .{.{ .cc = switch (optimized) {39504 .dst_temps = .{ .{ .cc = switch (optimized) {
35793 false => .z_and_np,39505 false => .z_and_np,
35794 true => .z,39506 true => .z,
35795 } }},39507 } }, .unused },
35796 .clobbers = .{ .eflags = true },39508 .clobbers = .{ .eflags = true },
35797 .each = .{ .once = &.{39509 .each = .{ .once = &.{
35798 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },39510 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -35815,10 +39527,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35815,10 +39527,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35815 .unused,39527 .unused,
35816 .unused,39528 .unused,
35817 },39529 },
35818 .dst_temps = .{.{ .cc = switch (optimized) {39530 .dst_temps = .{ .{ .cc = switch (optimized) {
35819 false => .z_and_np,39531 false => .z_and_np,
35820 true => .z,39532 true => .z,
35821 } }},39533 } }, .unused },
35822 .clobbers = .{ .eflags = true },39534 .clobbers = .{ .eflags = true },
35823 .each = .{ .once = &.{39535 .each = .{ .once = &.{
35824 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },39536 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
...@@ -35846,10 +39558,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35846,10 +39558,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35846 .unused,39558 .unused,
35847 .unused,39559 .unused,
35848 },39560 },
35849 .dst_temps = .{.{ .cc = switch (optimized) {39561 .dst_temps = .{ .{ .cc = switch (optimized) {
35850 false => .z_and_np,39562 false => .z_and_np,
35851 true => .z,39563 true => .z,
35852 } }},39564 } }, .unused },
35853 .clobbers = .{ .eflags = true },39565 .clobbers = .{ .eflags = true },
35854 .each = .{ .once = &.{39566 .each = .{ .once = &.{
35855 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },39567 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -35874,10 +39586,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35874,10 +39586,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35874 .unused,39586 .unused,
35875 .unused,39587 .unused,
35876 },39588 },
35877 .dst_temps = .{.{ .cc = switch (optimized) {39589 .dst_temps = .{ .{ .cc = switch (optimized) {
35878 false => .z,39590 false => .z,
35879 true => .nz,39591 true => .nz,
35880 } }},39592 } }, .unused },
35881 .clobbers = .{ .eflags = true },39593 .clobbers = .{ .eflags = true },
35882 .each = .{ .once = switch (optimized) {39594 .each = .{ .once = switch (optimized) {
35883 false => &.{39595 false => &.{
...@@ -35915,10 +39627,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35915,10 +39627,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35915 .unused,39627 .unused,
35916 .unused,39628 .unused,
35917 },39629 },
35918 .dst_temps = .{.{ .cc = switch (optimized) {39630 .dst_temps = .{ .{ .cc = switch (optimized) {
35919 false => .z,39631 false => .z,
35920 true => .nz,39632 true => .nz,
35921 } }},39633 } }, .unused },
35922 .clobbers = .{ .eflags = true },39634 .clobbers = .{ .eflags = true },
35923 .each = .{ .once = switch (optimized) {39635 .each = .{ .once = switch (optimized) {
35924 false => &.{39636 false => &.{
...@@ -35953,7 +39665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -35953,7 +39665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35953 .unused,39665 .unused,
35954 .unused,39666 .unused,
35955 },39667 },
35956 .dst_temps = .{.{ .cc = .z }},39668 .dst_temps = .{ .{ .cc = .z }, .unused },
35957 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },39669 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
35958 .each = .{ .once = &.{39670 .each = .{ .once = &.{
35959 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },39671 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -36064,12 +39776,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36064,12 +39776,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36064 try cg.genLocalDebugInfo(inst, ops[0].tracking(cg).short);39776 try cg.genLocalDebugInfo(inst, ops[0].tracking(cg).short);
36065 try ops[0].die(cg);39777 try ops[0].die(cg);
36066 },39778 },
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 },
36067 .is_null_ptr => if (use_old) try cg.airIsNullPtr(inst) else {39829 .is_null_ptr => if (use_old) try cg.airIsNullPtr(inst) else {
36068 const un_op = air_datas[@intFromEnum(inst)].un_op;39830 const un_op = air_datas[@intFromEnum(inst)].un_op;
36069 const opt_ty = cg.typeOf(un_op).childType(zcu);39831 const opt_ty = cg.typeOf(un_op).childType(zcu);
36070 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);39832 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);
36071 const opt_child_ty = opt_ty.optionalChild(zcu);39833 const opt_child_ty = opt_ty.optionalChild(zcu);
36072 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));39834 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));
39835 try cg.spillEflagsIfOccupied();
36073 var ops = try cg.tempsFromOperands(inst, .{un_op});39836 var ops = try cg.tempsFromOperands(inst, .{un_op});
36074 if (!opt_repr_is_pl) try ops[0].toOffset(opt_child_abi_size, cg);39837 if (!opt_repr_is_pl) try ops[0].toOffset(opt_child_abi_size, cg);
36075 while (try ops[0].toLea(cg)) {}39838 while (try ops[0].toLea(cg)) {}
...@@ -36078,7 +39841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36078,7 +39841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36078 try ops[0].tracking(cg).short.deref().mem(cg, .{ .size = if (!opt_repr_is_pl)39841 try ops[0].tracking(cg).short.deref().mem(cg, .{ .size = if (!opt_repr_is_pl)
36079 .byte39842 .byte
36080 else if (opt_child_ty.isSlice(zcu))39843 else if (opt_child_ty.isSlice(zcu))
36081 .qword39844 .ptr
36082 else39845 else
36083 .fromSize(opt_child_abi_size) }),39846 .fromSize(opt_child_abi_size) }),
36084 .u(0),39847 .u(0),
...@@ -36092,6 +39855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36092,6 +39855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36092 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);39855 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);
36093 const opt_child_ty = opt_ty.optionalChild(zcu);39856 const opt_child_ty = opt_ty.optionalChild(zcu);
36094 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));39857 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));
39858 try cg.spillEflagsIfOccupied();
36095 var ops = try cg.tempsFromOperands(inst, .{un_op});39859 var ops = try cg.tempsFromOperands(inst, .{un_op});
36096 if (!opt_repr_is_pl) try ops[0].toOffset(opt_child_abi_size, cg);39860 if (!opt_repr_is_pl) try ops[0].toOffset(opt_child_abi_size, cg);
36097 while (try ops[0].toLea(cg)) {}39861 while (try ops[0].toLea(cg)) {}
...@@ -36100,7 +39864,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36100,7 +39864,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36100 try ops[0].tracking(cg).short.deref().mem(cg, .{ .size = if (!opt_repr_is_pl)39864 try ops[0].tracking(cg).short.deref().mem(cg, .{ .size = if (!opt_repr_is_pl)
36101 .byte39865 .byte
36102 else if (opt_child_ty.isSlice(zcu))39866 else if (opt_child_ty.isSlice(zcu))
36103 .qword39867 .ptr
36104 else39868 else
36105 .fromSize(opt_child_abi_size) }),39869 .fromSize(opt_child_abi_size) }),
36106 .u(0),39870 .u(0),
...@@ -36108,12 +39872,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36108,12 +39872,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36108 const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne });39872 const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne });
36109 try is_non_null.finish(inst, &.{un_op}, &ops, cg);39873 try is_non_null.finish(inst, &.{un_op}, &ops, cg);
36110 },39874 },
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 },
36111 .is_err_ptr => if (use_old) try cg.airIsErrPtr(inst) else {39907 .is_err_ptr => if (use_old) try cg.airIsErrPtr(inst) else {
36112 const un_op = air_datas[@intFromEnum(inst)].un_op;39908 const un_op = air_datas[@intFromEnum(inst)].un_op;
36113 const eu_ty = cg.typeOf(un_op).childType(zcu);39909 const eu_ty = cg.typeOf(un_op).childType(zcu);
36114 const eu_err_ty = eu_ty.errorUnionSet(zcu);39910 const eu_err_ty = eu_ty.errorUnionSet(zcu);
36115 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);39911 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();
36117 var ops = try cg.tempsFromOperands(inst, .{un_op});39914 var ops = try cg.tempsFromOperands(inst, .{un_op});
36118 try ops[0].toOffset(eu_err_off, cg);39915 try ops[0].toOffset(eu_err_off, cg);
36119 while (try ops[0].toLea(cg)) {}39916 while (try ops[0].toLea(cg)) {}
...@@ -36130,7 +39927,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36130,7 +39927,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36130 const eu_ty = cg.typeOf(un_op).childType(zcu);39927 const eu_ty = cg.typeOf(un_op).childType(zcu);
36131 const eu_err_ty = eu_ty.errorUnionSet(zcu);39928 const eu_err_ty = eu_ty.errorUnionSet(zcu);
36132 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);39929 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();
36134 var ops = try cg.tempsFromOperands(inst, .{un_op});39932 var ops = try cg.tempsFromOperands(inst, .{un_op});
36135 try ops[0].toOffset(eu_err_off, cg);39933 try ops[0].toOffset(eu_err_off, cg);
36136 while (try ops[0].toLea(cg)) {}39934 while (try ops[0].toLea(cg)) {}
...@@ -36202,40 +40000,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36202,40 +40000,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36202 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{40000 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
36203 .required_features = .{ .f16c, null, null, null },40001 .required_features = .{ .f16c, null, null, null },
36204 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },40002 .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 },
36206 .patterns = &.{40004 .patterns = &.{
36207 .{ .src = .{ .to_sse, .none, .none } },40005 .{ .src = .{ .to_sse, .none, .none } },
36208 },40006 },
36209 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40007 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36210 .each = .{ .once = &.{40008 .each = .{ .once = &.{
36211 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },40009 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },
36212 } },40010 } },
36213 }, .{40011 }, .{
36214 .required_features = .{ .f16c, null, null, null },40012 .required_features = .{ .f16c, null, null, null },
36215 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },40013 .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 },
36217 .patterns = &.{40015 .patterns = &.{
36218 .{ .src = .{ .to_sse, .none, .none } },40016 .{ .src = .{ .to_sse, .none, .none } },
36219 },40017 },
36220 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40018 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36221 .each = .{ .once = &.{40019 .each = .{ .once = &.{
36222 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },40020 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },
36223 } },40021 } },
36224 }, .{40022 }, .{
36225 .required_features = .{ .f16c, null, null, null },40023 .required_features = .{ .f16c, null, null, null },
36226 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any },40024 .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 },
36228 .patterns = &.{40026 .patterns = &.{
36229 .{ .src = .{ .to_sse, .none, .none } },40027 .{ .src = .{ .to_sse, .none, .none } },
36230 },40028 },
36231 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40029 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36232 .each = .{ .once = &.{40030 .each = .{ .once = &.{
36233 .{ ._, .v_, .cvtps2ph, .dst0x, .src0y, .rm(.{}), ._ },40031 .{ ._, .v_, .cvtps2ph, .dst0x, .src0y, .rm(.{}), ._ },
36234 } },40032 } },
36235 }, .{40033 }, .{
36236 .required_features = .{ .sse, null, null, null },40034 .required_features = .{ .sse, null, null, null },
36237 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },40035 .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 },
36239 .patterns = &.{40037 .patterns = &.{
36240 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },40038 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
36241 },40039 },
...@@ -36251,7 +40049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36251,7 +40049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36251 .unused,40049 .unused,
36252 .unused,40050 .unused,
36253 },40051 },
36254 .dst_temps = .{.{ .ref = .src0 }},40052 .dst_temps = .{ .{ .ref = .src0 }, .unused },
36255 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40053 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36256 .each = .{ .once = &.{40054 .each = .{ .once = &.{
36257 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },40055 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -36259,7 +40057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36259,7 +40057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36259 }, .{40057 }, .{
36260 .required_features = .{ .f16c, null, null, null },40058 .required_features = .{ .f16c, null, null, null },
36261 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any },40059 .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 },
36263 .patterns = &.{40061 .patterns = &.{
36264 .{ .src = .{ .to_mem, .none, .none } },40062 .{ .src = .{ .to_mem, .none, .none } },
36265 },40063 },
...@@ -36274,7 +40072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36274,7 +40072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36274 .unused,40072 .unused,
36275 .unused,40073 .unused,
36276 },40074 },
36277 .dst_temps = .{.mem},40075 .dst_temps = .{ .mem, .unused },
36278 .clobbers = .{ .eflags = true },40076 .clobbers = .{ .eflags = true },
36279 .each = .{ .once = &.{40077 .each = .{ .once = &.{
36280 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40078 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36286,7 +40084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36286,7 +40084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36286 }, .{40084 }, .{
36287 .required_features = .{ .avx, null, null, null },40085 .required_features = .{ .avx, null, null, null },
36288 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },40086 .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 },
36290 .patterns = &.{40088 .patterns = &.{
36291 .{ .src = .{ .to_mem, .none, .none } },40089 .{ .src = .{ .to_mem, .none, .none } },
36292 },40090 },
...@@ -36302,7 +40100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36302,7 +40100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36302 .unused,40100 .unused,
36303 .unused,40101 .unused,
36304 },40102 },
36305 .dst_temps = .{.mem},40103 .dst_temps = .{ .mem, .unused },
36306 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40104 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36307 .each = .{ .once = &.{40105 .each = .{ .once = &.{
36308 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40106 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36315,7 +40113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36315,7 +40113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36315 }, .{40113 }, .{
36316 .required_features = .{ .sse4_1, null, null, null },40114 .required_features = .{ .sse4_1, null, null, null },
36317 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },40115 .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 },
36319 .patterns = &.{40117 .patterns = &.{
36320 .{ .src = .{ .to_mem, .none, .none } },40118 .{ .src = .{ .to_mem, .none, .none } },
36321 },40119 },
...@@ -36331,7 +40129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36331,7 +40129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36331 .unused,40129 .unused,
36332 .unused,40130 .unused,
36333 },40131 },
36334 .dst_temps = .{.mem},40132 .dst_temps = .{ .mem, .unused },
36335 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40133 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36336 .each = .{ .once = &.{40134 .each = .{ .once = &.{
36337 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40135 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36344,7 +40142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36344,7 +40142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36344 }, .{40142 }, .{
36345 .required_features = .{ .sse2, null, null, null },40143 .required_features = .{ .sse2, null, null, null },
36346 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },40144 .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 },
36348 .patterns = &.{40146 .patterns = &.{
36349 .{ .src = .{ .to_mem, .none, .none } },40147 .{ .src = .{ .to_mem, .none, .none } },
36350 },40148 },
...@@ -36360,7 +40158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36360,7 +40158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36360 .unused,40158 .unused,
36361 .unused,40159 .unused,
36362 },40160 },
36363 .dst_temps = .{.mem},40161 .dst_temps = .{ .mem, .unused },
36364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40162 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36365 .each = .{ .once = &.{40163 .each = .{ .once = &.{
36366 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40164 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36374,7 +40172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36374,7 +40172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36374 }, .{40172 }, .{
36375 .required_features = .{ .sse, null, null, null },40173 .required_features = .{ .sse, null, null, null },
36376 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },40174 .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 },
36378 .patterns = &.{40176 .patterns = &.{
36379 .{ .src = .{ .to_mem, .none, .none } },40177 .{ .src = .{ .to_mem, .none, .none } },
36380 },40178 },
...@@ -36390,7 +40188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36390,7 +40188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36390 .unused,40188 .unused,
36391 .unused,40189 .unused,
36392 },40190 },
36393 .dst_temps = .{.mem},40191 .dst_temps = .{ .mem, .unused },
36394 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40192 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36395 .each = .{ .once = &.{40193 .each = .{ .once = &.{
36396 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40194 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36405,7 +40203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36405,7 +40203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36405 }, .{40203 }, .{
36406 .required_features = .{ .sse, null, null, null },40204 .required_features = .{ .sse, null, null, null },
36407 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40205 .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 },
36409 .patterns = &.{40207 .patterns = &.{
36410 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },40208 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
36411 },40209 },
...@@ -36421,7 +40219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36421,7 +40219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36421 .unused,40219 .unused,
36422 .unused,40220 .unused,
36423 },40221 },
36424 .dst_temps = .{.{ .ref = .src0 }},40222 .dst_temps = .{ .{ .ref = .src0 }, .unused },
36425 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40223 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36426 .each = .{ .once = &.{40224 .each = .{ .once = &.{
36427 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },40225 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -36429,7 +40227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36429,7 +40227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36429 }, .{40227 }, .{
36430 .required_features = .{ .avx, null, null, null },40228 .required_features = .{ .avx, null, null, null },
36431 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40229 .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 },
36433 .patterns = &.{40231 .patterns = &.{
36434 .{ .src = .{ .to_mem, .none, .none } },40232 .{ .src = .{ .to_mem, .none, .none } },
36435 },40233 },
...@@ -36445,7 +40243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36445,7 +40243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36445 .unused,40243 .unused,
36446 .unused,40244 .unused,
36447 },40245 },
36448 .dst_temps = .{.mem},40246 .dst_temps = .{ .mem, .unused },
36449 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36450 .each = .{ .once = &.{40248 .each = .{ .once = &.{
36451 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40249 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36458,7 +40256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36458,7 +40256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36458 }, .{40256 }, .{
36459 .required_features = .{ .sse4_1, null, null, null },40257 .required_features = .{ .sse4_1, null, null, null },
36460 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40258 .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 },
36462 .patterns = &.{40260 .patterns = &.{
36463 .{ .src = .{ .to_mem, .none, .none } },40261 .{ .src = .{ .to_mem, .none, .none } },
36464 },40262 },
...@@ -36474,7 +40272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36474,7 +40272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36474 .unused,40272 .unused,
36475 .unused,40273 .unused,
36476 },40274 },
36477 .dst_temps = .{.mem},40275 .dst_temps = .{ .mem, .unused },
36478 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40276 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36479 .each = .{ .once = &.{40277 .each = .{ .once = &.{
36480 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40278 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36487,7 +40285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36487,7 +40285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36487 }, .{40285 }, .{
36488 .required_features = .{ .sse2, null, null, null },40286 .required_features = .{ .sse2, null, null, null },
36489 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40287 .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 },
36491 .patterns = &.{40289 .patterns = &.{
36492 .{ .src = .{ .to_mem, .none, .none } },40290 .{ .src = .{ .to_mem, .none, .none } },
36493 },40291 },
...@@ -36503,7 +40301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36503,7 +40301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36503 .unused,40301 .unused,
36504 .unused,40302 .unused,
36505 },40303 },
36506 .dst_temps = .{.mem},40304 .dst_temps = .{ .mem, .unused },
36507 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40305 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36508 .each = .{ .once = &.{40306 .each = .{ .once = &.{
36509 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40307 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36517,7 +40315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36517,7 +40315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36517 }, .{40315 }, .{
36518 .required_features = .{ .sse, null, null, null },40316 .required_features = .{ .sse, null, null, null },
36519 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40317 .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 },
36521 .patterns = &.{40319 .patterns = &.{
36522 .{ .src = .{ .to_mem, .none, .none } },40320 .{ .src = .{ .to_mem, .none, .none } },
36523 },40321 },
...@@ -36533,7 +40331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36533,7 +40331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36533 .unused,40331 .unused,
36534 .unused,40332 .unused,
36535 },40333 },
36536 .dst_temps = .{.mem},40334 .dst_temps = .{ .mem, .unused },
36537 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40335 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36538 .each = .{ .once = &.{40336 .each = .{ .once = &.{
36539 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40337 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36549,11 +40347,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36549,11 +40347,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36549 }, .{40347 }, .{
36550 .required_features = .{ .avx, null, null, null },40348 .required_features = .{ .avx, null, null, null },
36551 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40349 .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 },
36553 .patterns = &.{40351 .patterns = &.{
36554 .{ .src = .{ .mem, .none, .none } },40352 .{ .src = .{ .mem, .none, .none } },
36555 },40353 },
36556 .dst_temps = .{.{ .rc = .sse }},40354 .dst_temps = .{ .{ .rc = .sse }, .unused },
36557 .each = .{ .once = &.{40355 .each = .{ .once = &.{
36558 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },40356 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
36559 .{ ._, .v_ss, .cvtsd2, .dst0x, .dst0x, .src0q, ._ },40357 .{ ._, .v_ss, .cvtsd2, .dst0x, .dst0x, .src0q, ._ },
...@@ -36561,23 +40359,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36561,23 +40359,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36561 }, .{40359 }, .{
36562 .required_features = .{ .avx, null, null, null },40360 .required_features = .{ .avx, null, null, null },
36563 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40361 .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 },
36565 .patterns = &.{40363 .patterns = &.{
36566 .{ .src = .{ .to_sse, .none, .none } },40364 .{ .src = .{ .to_sse, .none, .none } },
36567 },40365 },
36568 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40366 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36569 .each = .{ .once = &.{40367 .each = .{ .once = &.{
36570 .{ ._, .v_ss, .cvtsd2, .dst0x, .src0x, .src0q, ._ },40368 .{ ._, .v_ss, .cvtsd2, .dst0x, .src0x, .src0q, ._ },
36571 } },40369 } },
36572 }, .{40370 }, .{
36573 .required_features = .{ .sse2, null, null, null },40371 .required_features = .{ .sse2, null, null, null },
36574 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40372 .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 },
36576 .patterns = &.{40374 .patterns = &.{
36577 .{ .src = .{ .mem, .none, .none } },40375 .{ .src = .{ .mem, .none, .none } },
36578 .{ .src = .{ .to_sse, .none, .none } },40376 .{ .src = .{ .to_sse, .none, .none } },
36579 },40377 },
36580 .dst_temps = .{.{ .rc = .sse }},40378 .dst_temps = .{ .{ .rc = .sse }, .unused },
36581 .each = .{ .once = &.{40379 .each = .{ .once = &.{
36582 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },40380 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
36583 .{ ._, ._ss, .cvtsd2, .dst0x, .src0q, ._, ._ },40381 .{ ._, ._ss, .cvtsd2, .dst0x, .src0q, ._, ._ },
...@@ -36585,7 +40383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36585,7 +40383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36585 }, .{40383 }, .{
36586 .required_features = .{ .x87, null, null, null },40384 .required_features = .{ .x87, null, null, null },
36587 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40385 .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 },
36589 .patterns = &.{40387 .patterns = &.{
36590 .{ .src = .{ .to_mem, .none, .none } },40388 .{ .src = .{ .to_mem, .none, .none } },
36591 },40389 },
...@@ -36600,7 +40398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36600,7 +40398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36600 .unused,40398 .unused,
36601 .unused,40399 .unused,
36602 },40400 },
36603 .dst_temps = .{.mem},40401 .dst_temps = .{ .mem, .unused },
36604 .each = .{ .once = &.{40402 .each = .{ .once = &.{
36605 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },40403 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
36606 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },40404 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },
...@@ -36608,43 +40406,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36608,43 +40406,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36608 }, .{40406 }, .{
36609 .required_features = .{ .avx, null, null, null },40407 .required_features = .{ .avx, null, null, null },
36610 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },40408 .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 },
36612 .patterns = &.{40410 .patterns = &.{
36613 .{ .src = .{ .mem, .none, .none } },40411 .{ .src = .{ .mem, .none, .none } },
36614 .{ .src = .{ .to_sse, .none, .none } },40412 .{ .src = .{ .to_sse, .none, .none } },
36615 },40413 },
36616 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40414 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36617 .each = .{ .once = &.{40415 .each = .{ .once = &.{
36618 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0x, ._, ._ },40416 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0x, ._, ._ },
36619 } },40417 } },
36620 }, .{40418 }, .{
36621 .required_features = .{ .sse2, null, null, null },40419 .required_features = .{ .sse2, null, null, null },
36622 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },40420 .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 },
36624 .patterns = &.{40422 .patterns = &.{
36625 .{ .src = .{ .mem, .none, .none } },40423 .{ .src = .{ .mem, .none, .none } },
36626 .{ .src = .{ .to_sse, .none, .none } },40424 .{ .src = .{ .to_sse, .none, .none } },
36627 },40425 },
36628 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40426 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36629 .each = .{ .once = &.{40427 .each = .{ .once = &.{
36630 .{ ._, ._ps, .cvtpd2, .dst0x, .src0x, ._, ._ },40428 .{ ._, ._ps, .cvtpd2, .dst0x, .src0x, ._, ._ },
36631 } },40429 } },
36632 }, .{40430 }, .{
36633 .required_features = .{ .avx, null, null, null },40431 .required_features = .{ .avx, null, null, null },
36634 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },40432 .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 },
36636 .patterns = &.{40434 .patterns = &.{
36637 .{ .src = .{ .mem, .none, .none } },40435 .{ .src = .{ .mem, .none, .none } },
36638 .{ .src = .{ .to_sse, .none, .none } },40436 .{ .src = .{ .to_sse, .none, .none } },
36639 },40437 },
36640 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},40438 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
36641 .each = .{ .once = &.{40439 .each = .{ .once = &.{
36642 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0y, ._, ._ },40440 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0y, ._, ._ },
36643 } },40441 } },
36644 }, .{40442 }, .{
36645 .required_features = .{ .avx, null, null, null },40443 .required_features = .{ .avx, null, null, null },
36646 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },40444 .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 },
36648 .patterns = &.{40446 .patterns = &.{
36649 .{ .src = .{ .to_mem, .none, .none } },40447 .{ .src = .{ .to_mem, .none, .none } },
36650 },40448 },
...@@ -36659,7 +40457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36659,7 +40457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36659 .unused,40457 .unused,
36660 .unused,40458 .unused,
36661 },40459 },
36662 .dst_temps = .{.mem},40460 .dst_temps = .{ .mem, .unused },
36663 .clobbers = .{ .eflags = true },40461 .clobbers = .{ .eflags = true },
36664 .each = .{ .once = &.{40462 .each = .{ .once = &.{
36665 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40463 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36671,7 +40469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36671,7 +40469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36671 }, .{40469 }, .{
36672 .required_features = .{ .sse2, null, null, null },40470 .required_features = .{ .sse2, null, null, null },
36673 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },40471 .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 },
36675 .patterns = &.{40473 .patterns = &.{
36676 .{ .src = .{ .to_mem, .none, .none } },40474 .{ .src = .{ .to_mem, .none, .none } },
36677 },40475 },
...@@ -36686,7 +40484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36686,7 +40484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36686 .unused,40484 .unused,
36687 .unused,40485 .unused,
36688 },40486 },
36689 .dst_temps = .{.mem},40487 .dst_temps = .{ .mem, .unused },
36690 .clobbers = .{ .eflags = true },40488 .clobbers = .{ .eflags = true },
36691 .each = .{ .once = &.{40489 .each = .{ .once = &.{
36692 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40490 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36698,7 +40496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36698,7 +40496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36698 }, .{40496 }, .{
36699 .required_features = .{ .x87, null, null, null },40497 .required_features = .{ .x87, null, null, null },
36700 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },40498 .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 },
36702 .patterns = &.{40500 .patterns = &.{
36703 .{ .src = .{ .to_mem, .none, .none } },40501 .{ .src = .{ .to_mem, .none, .none } },
36704 },40502 },
...@@ -36713,7 +40511,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36713,7 +40511,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36713 .unused,40511 .unused,
36714 .unused,40512 .unused,
36715 },40513 },
36716 .dst_temps = .{.mem},40514 .dst_temps = .{ .mem, .unused },
36717 .clobbers = .{ .eflags = true },40515 .clobbers = .{ .eflags = true },
36718 .each = .{ .once = &.{40516 .each = .{ .once = &.{
36719 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40517 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36725,7 +40523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36725,7 +40523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36725 }, .{40523 }, .{
36726 .required_features = .{ .avx, null, null, null },40524 .required_features = .{ .avx, null, null, null },
36727 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40525 .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 },
36729 .patterns = &.{40527 .patterns = &.{
36730 .{ .src = .{ .to_mem, .none, .none } },40528 .{ .src = .{ .to_mem, .none, .none } },
36731 },40529 },
...@@ -36741,7 +40539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36741,7 +40539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36741 .unused,40539 .unused,
36742 .unused,40540 .unused,
36743 },40541 },
36744 .dst_temps = .{.{ .reg = .xmm0 }},40542 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
36745 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40543 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36746 .each = .{ .once = &.{40544 .each = .{ .once = &.{
36747 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },40545 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
...@@ -36751,7 +40549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36751,7 +40549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36751 }, .{40549 }, .{
36752 .required_features = .{ .sse2, null, null, null },40550 .required_features = .{ .sse2, null, null, null },
36753 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40551 .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 },
36755 .patterns = &.{40553 .patterns = &.{
36756 .{ .src = .{ .to_mem, .none, .none } },40554 .{ .src = .{ .to_mem, .none, .none } },
36757 },40555 },
...@@ -36767,7 +40565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36767,7 +40565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36767 .unused,40565 .unused,
36768 .unused,40566 .unused,
36769 },40567 },
36770 .dst_temps = .{.{ .reg = .xmm0 }},40568 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
36771 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40569 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36772 .each = .{ .once = &.{40570 .each = .{ .once = &.{
36773 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },40571 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
...@@ -36777,7 +40575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36777,7 +40575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36777 }, .{40575 }, .{
36778 .required_features = .{ .sse, null, null, null },40576 .required_features = .{ .sse, null, null, null },
36779 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40577 .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 },
36781 .patterns = &.{40579 .patterns = &.{
36782 .{ .src = .{ .to_mem, .none, .none } },40580 .{ .src = .{ .to_mem, .none, .none } },
36783 },40581 },
...@@ -36793,7 +40591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36793,7 +40591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36793 .unused,40591 .unused,
36794 .unused,40592 .unused,
36795 },40593 },
36796 .dst_temps = .{.{ .reg = .xmm0 }},40594 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
36797 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40595 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36798 .each = .{ .once = &.{40596 .each = .{ .once = &.{
36799 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },40597 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },
...@@ -36803,7 +40601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36803,7 +40601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36803 }, .{40601 }, .{
36804 .required_features = .{ .avx, null, null, null },40602 .required_features = .{ .avx, null, null, null },
36805 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40603 .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 },
36807 .patterns = &.{40605 .patterns = &.{
36808 .{ .src = .{ .to_mem, .none, .none } },40606 .{ .src = .{ .to_mem, .none, .none } },
36809 },40607 },
...@@ -36819,7 +40617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36819,7 +40617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36819 .unused,40617 .unused,
36820 .unused,40618 .unused,
36821 },40619 },
36822 .dst_temps = .{.mem},40620 .dst_temps = .{ .mem, .unused },
36823 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40621 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36824 .each = .{ .once = &.{40622 .each = .{ .once = &.{
36825 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40623 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36833,7 +40631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36833,7 +40631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36833 }, .{40631 }, .{
36834 .required_features = .{ .sse4_1, null, null, null },40632 .required_features = .{ .sse4_1, null, null, null },
36835 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40633 .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 },
36837 .patterns = &.{40635 .patterns = &.{
36838 .{ .src = .{ .to_mem, .none, .none } },40636 .{ .src = .{ .to_mem, .none, .none } },
36839 },40637 },
...@@ -36849,7 +40647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36849,7 +40647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36849 .unused,40647 .unused,
36850 .unused,40648 .unused,
36851 },40649 },
36852 .dst_temps = .{.mem},40650 .dst_temps = .{ .mem, .unused },
36853 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40651 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36854 .each = .{ .once = &.{40652 .each = .{ .once = &.{
36855 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40653 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36863,7 +40661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36863,7 +40661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36863 }, .{40661 }, .{
36864 .required_features = .{ .sse2, null, null, null },40662 .required_features = .{ .sse2, null, null, null },
36865 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40663 .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 },
36867 .patterns = &.{40665 .patterns = &.{
36868 .{ .src = .{ .to_mem, .none, .none } },40666 .{ .src = .{ .to_mem, .none, .none } },
36869 },40667 },
...@@ -36879,7 +40677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36879,7 +40677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36879 .unused,40677 .unused,
36880 .unused,40678 .unused,
36881 },40679 },
36882 .dst_temps = .{.mem},40680 .dst_temps = .{ .mem, .unused },
36883 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40681 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36884 .each = .{ .once = &.{40682 .each = .{ .once = &.{
36885 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40683 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36894,7 +40692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36894,7 +40692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36894 }, .{40692 }, .{
36895 .required_features = .{ .sse, null, null, null },40693 .required_features = .{ .sse, null, null, null },
36896 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40694 .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 },
36898 .patterns = &.{40696 .patterns = &.{
36899 .{ .src = .{ .to_mem, .none, .none } },40697 .{ .src = .{ .to_mem, .none, .none } },
36900 },40698 },
...@@ -36910,7 +40708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36910,7 +40708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36910 .unused,40708 .unused,
36911 .unused,40709 .unused,
36912 },40710 },
36913 .dst_temps = .{.mem},40711 .dst_temps = .{ .mem, .unused },
36914 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40712 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36915 .each = .{ .once = &.{40713 .each = .{ .once = &.{
36916 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40714 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36926,7 +40724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36926,7 +40724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36926 }, .{40724 }, .{
36927 .required_features = .{ .x87, null, null, null },40725 .required_features = .{ .x87, null, null, null },
36928 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40726 .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 },
36930 .patterns = &.{40728 .patterns = &.{
36931 .{ .src = .{ .mem, .none, .none } },40729 .{ .src = .{ .mem, .none, .none } },
36932 .{ .src = .{ .to_x87, .none, .none } },40730 .{ .src = .{ .to_x87, .none, .none } },
...@@ -36942,7 +40740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36942,7 +40740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36942 .unused,40740 .unused,
36943 .unused,40741 .unused,
36944 },40742 },
36945 .dst_temps = .{.mem},40743 .dst_temps = .{ .mem, .unused },
36946 .each = .{ .once = &.{40744 .each = .{ .once = &.{
36947 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },40745 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
36948 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },40746 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },
...@@ -36950,7 +40748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36950,7 +40748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36950 }, .{40748 }, .{
36951 .required_features = .{ .x87, null, null, null },40749 .required_features = .{ .x87, null, null, null },
36952 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40750 .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 },
36954 .patterns = &.{40752 .patterns = &.{
36955 .{ .src = .{ .to_mem, .none, .none } },40753 .{ .src = .{ .to_mem, .none, .none } },
36956 },40754 },
...@@ -36965,7 +40763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36965,7 +40763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36965 .unused,40763 .unused,
36966 .unused,40764 .unused,
36967 },40765 },
36968 .dst_temps = .{.mem},40766 .dst_temps = .{ .mem, .unused },
36969 .clobbers = .{ .eflags = true },40767 .clobbers = .{ .eflags = true },
36970 .each = .{ .once = &.{40768 .each = .{ .once = &.{
36971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40769 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -36977,7 +40775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36977,7 +40775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36977 }, .{40775 }, .{
36978 .required_features = .{ .x87, null, null, null },40776 .required_features = .{ .x87, null, null, null },
36979 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40777 .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 },
36981 .patterns = &.{40779 .patterns = &.{
36982 .{ .src = .{ .mem, .none, .none } },40780 .{ .src = .{ .mem, .none, .none } },
36983 .{ .src = .{ .to_x87, .none, .none } },40781 .{ .src = .{ .to_x87, .none, .none } },
...@@ -36993,7 +40791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -36993,7 +40791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36993 .unused,40791 .unused,
36994 .unused,40792 .unused,
36995 },40793 },
36996 .dst_temps = .{.mem},40794 .dst_temps = .{ .mem, .unused },
36997 .each = .{ .once = &.{40795 .each = .{ .once = &.{
36998 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },40796 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
36999 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },40797 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
...@@ -37001,7 +40799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37001,7 +40799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37001 }, .{40799 }, .{
37002 .required_features = .{ .x87, null, null, null },40800 .required_features = .{ .x87, null, null, null },
37003 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },40801 .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 },
37005 .patterns = &.{40803 .patterns = &.{
37006 .{ .src = .{ .to_mem, .none, .none } },40804 .{ .src = .{ .to_mem, .none, .none } },
37007 },40805 },
...@@ -37016,7 +40814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37016,7 +40814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37016 .unused,40814 .unused,
37017 .unused,40815 .unused,
37018 },40816 },
37019 .dst_temps = .{.mem},40817 .dst_temps = .{ .mem, .unused },
37020 .clobbers = .{ .eflags = true },40818 .clobbers = .{ .eflags = true },
37021 .each = .{ .once = &.{40819 .each = .{ .once = &.{
37022 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40820 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37028,7 +40826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37028,7 +40826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37028 }, .{40826 }, .{
37029 .required_features = .{ .sse, null, null, null },40827 .required_features = .{ .sse, null, null, null },
37030 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40828 .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 },
37032 .patterns = &.{40830 .patterns = &.{
37033 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },40831 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37034 },40832 },
...@@ -37044,7 +40842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37044,7 +40842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37044 .unused,40842 .unused,
37045 .unused,40843 .unused,
37046 },40844 },
37047 .dst_temps = .{.{ .ref = .src0 }},40845 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37048 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40846 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37049 .each = .{ .once = &.{40847 .each = .{ .once = &.{
37050 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },40848 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37052,7 +40850,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37052,7 +40850,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37052 }, .{40850 }, .{
37053 .required_features = .{ .avx, null, null, null },40851 .required_features = .{ .avx, null, null, null },
37054 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40852 .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 },
37056 .patterns = &.{40854 .patterns = &.{
37057 .{ .src = .{ .to_mem, .none, .none } },40855 .{ .src = .{ .to_mem, .none, .none } },
37058 },40856 },
...@@ -37068,7 +40866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37068,7 +40866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37068 .unused,40866 .unused,
37069 .unused,40867 .unused,
37070 },40868 },
37071 .dst_temps = .{.mem},40869 .dst_temps = .{ .mem, .unused },
37072 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40870 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37073 .each = .{ .once = &.{40871 .each = .{ .once = &.{
37074 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40872 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37081,7 +40879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37081,7 +40879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37081 }, .{40879 }, .{
37082 .required_features = .{ .sse4_1, null, null, null },40880 .required_features = .{ .sse4_1, null, null, null },
37083 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40881 .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 },
37085 .patterns = &.{40883 .patterns = &.{
37086 .{ .src = .{ .to_mem, .none, .none } },40884 .{ .src = .{ .to_mem, .none, .none } },
37087 },40885 },
...@@ -37097,7 +40895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37097,7 +40895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37097 .unused,40895 .unused,
37098 .unused,40896 .unused,
37099 },40897 },
37100 .dst_temps = .{.mem},40898 .dst_temps = .{ .mem, .unused },
37101 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40899 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37102 .each = .{ .once = &.{40900 .each = .{ .once = &.{
37103 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40901 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37110,7 +40908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37110,7 +40908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37110 }, .{40908 }, .{
37111 .required_features = .{ .sse2, null, null, null },40909 .required_features = .{ .sse2, null, null, null },
37112 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40910 .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 },
37114 .patterns = &.{40912 .patterns = &.{
37115 .{ .src = .{ .to_mem, .none, .none } },40913 .{ .src = .{ .to_mem, .none, .none } },
37116 },40914 },
...@@ -37126,7 +40924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37126,7 +40924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37126 .unused,40924 .unused,
37127 .unused,40925 .unused,
37128 },40926 },
37129 .dst_temps = .{.mem},40927 .dst_temps = .{ .mem, .unused },
37130 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40928 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37131 .each = .{ .once = &.{40929 .each = .{ .once = &.{
37132 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40930 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37140,7 +40938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37140,7 +40938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37140 }, .{40938 }, .{
37141 .required_features = .{ .sse, null, null, null },40939 .required_features = .{ .sse, null, null, null },
37142 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40940 .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 },
37144 .patterns = &.{40942 .patterns = &.{
37145 .{ .src = .{ .to_mem, .none, .none } },40943 .{ .src = .{ .to_mem, .none, .none } },
37146 },40944 },
...@@ -37156,7 +40954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37156,7 +40954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37156 .unused,40954 .unused,
37157 .unused,40955 .unused,
37158 },40956 },
37159 .dst_temps = .{.mem},40957 .dst_temps = .{ .mem, .unused },
37160 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40958 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37161 .each = .{ .once = &.{40959 .each = .{ .once = &.{
37162 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },40960 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37171,7 +40969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37171,7 +40969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37171 }, .{40969 }, .{
37172 .required_features = .{ .sse, null, null, null },40970 .required_features = .{ .sse, null, null, null },
37173 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40971 .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 },
37175 .patterns = &.{40973 .patterns = &.{
37176 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },40974 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37177 },40975 },
...@@ -37187,7 +40985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37187,7 +40985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37187 .unused,40985 .unused,
37188 .unused,40986 .unused,
37189 },40987 },
37190 .dst_temps = .{.{ .ref = .src0 }},40988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37191 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },40989 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37192 .each = .{ .once = &.{40990 .each = .{ .once = &.{
37193 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },40991 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37195,7 +40993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37195,7 +40993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37195 }, .{40993 }, .{
37196 .required_features = .{ .avx, null, null, null },40994 .required_features = .{ .avx, null, null, null },
37197 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },40995 .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 },
37199 .patterns = &.{40997 .patterns = &.{
37200 .{ .src = .{ .to_mem, .none, .none } },40998 .{ .src = .{ .to_mem, .none, .none } },
37201 },40999 },
...@@ -37211,7 +41009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37211,7 +41009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37211 .unused,41009 .unused,
37212 .unused,41010 .unused,
37213 },41011 },
37214 .dst_temps = .{.mem},41012 .dst_temps = .{ .mem, .unused },
37215 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41013 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37216 .each = .{ .once = &.{41014 .each = .{ .once = &.{
37217 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41015 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37224,7 +41022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37224,7 +41022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37224 }, .{41022 }, .{
37225 .required_features = .{ .sse2, null, null, null },41023 .required_features = .{ .sse2, null, null, null },
37226 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41024 .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 },
37228 .patterns = &.{41026 .patterns = &.{
37229 .{ .src = .{ .to_mem, .none, .none } },41027 .{ .src = .{ .to_mem, .none, .none } },
37230 },41028 },
...@@ -37240,7 +41038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37240,7 +41038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37240 .unused,41038 .unused,
37241 .unused,41039 .unused,
37242 },41040 },
37243 .dst_temps = .{.mem},41041 .dst_temps = .{ .mem, .unused },
37244 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41042 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37245 .each = .{ .once = &.{41043 .each = .{ .once = &.{
37246 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41044 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37253,7 +41051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37253,7 +41051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37253 }, .{41051 }, .{
37254 .required_features = .{ .sse, null, null, null },41052 .required_features = .{ .sse, null, null, null },
37255 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41053 .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 },
37257 .patterns = &.{41055 .patterns = &.{
37258 .{ .src = .{ .to_mem, .none, .none } },41056 .{ .src = .{ .to_mem, .none, .none } },
37259 },41057 },
...@@ -37269,7 +41067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37269,7 +41067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37269 .unused,41067 .unused,
37270 .unused,41068 .unused,
37271 },41069 },
37272 .dst_temps = .{.mem},41070 .dst_temps = .{ .mem, .unused },
37273 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41071 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37274 .each = .{ .once = &.{41072 .each = .{ .once = &.{
37275 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41073 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37282,7 +41080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37282,7 +41080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37282 }, .{41080 }, .{
37283 .required_features = .{ .sse, null, null, null },41081 .required_features = .{ .sse, null, null, null },
37284 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41082 .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 },
37286 .patterns = &.{41084 .patterns = &.{
37287 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },41085 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37288 },41086 },
...@@ -37298,7 +41096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37298,7 +41096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37298 .unused,41096 .unused,
37299 .unused,41097 .unused,
37300 },41098 },
37301 .dst_temps = .{.{ .ref = .src0 }},41099 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37302 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41100 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37303 .each = .{ .once = &.{41101 .each = .{ .once = &.{
37304 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },41102 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37306,7 +41104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37306,7 +41104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37306 }, .{41104 }, .{
37307 .required_features = .{ .avx, null, null, null },41105 .required_features = .{ .avx, null, null, null },
37308 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41106 .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 },
37310 .patterns = &.{41108 .patterns = &.{
37311 .{ .src = .{ .to_mem, .none, .none } },41109 .{ .src = .{ .to_mem, .none, .none } },
37312 },41110 },
...@@ -37322,7 +41120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37322,7 +41120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37322 .unused,41120 .unused,
37323 .unused,41121 .unused,
37324 },41122 },
37325 .dst_temps = .{.mem},41123 .dst_temps = .{ .mem, .unused },
37326 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41124 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37327 .each = .{ .once = &.{41125 .each = .{ .once = &.{
37328 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41126 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37335,7 +41133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37335,7 +41133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37335 }, .{41133 }, .{
37336 .required_features = .{ .sse2, null, null, null },41134 .required_features = .{ .sse2, null, null, null },
37337 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41135 .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 },
37339 .patterns = &.{41137 .patterns = &.{
37340 .{ .src = .{ .to_mem, .none, .none } },41138 .{ .src = .{ .to_mem, .none, .none } },
37341 },41139 },
...@@ -37351,7 +41149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37351,7 +41149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37351 .unused,41149 .unused,
37352 .unused,41150 .unused,
37353 },41151 },
37354 .dst_temps = .{.mem},41152 .dst_temps = .{ .mem, .unused },
37355 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41153 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37356 .each = .{ .once = &.{41154 .each = .{ .once = &.{
37357 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41155 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37364,7 +41162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37364,7 +41162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37364 }, .{41162 }, .{
37365 .required_features = .{ .sse, null, null, null },41163 .required_features = .{ .sse, null, null, null },
37366 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41164 .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 },
37368 .patterns = &.{41166 .patterns = &.{
37369 .{ .src = .{ .to_mem, .none, .none } },41167 .{ .src = .{ .to_mem, .none, .none } },
37370 },41168 },
...@@ -37380,7 +41178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37380,7 +41178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37380 .unused,41178 .unused,
37381 .unused,41179 .unused,
37382 },41180 },
37383 .dst_temps = .{.mem},41181 .dst_temps = .{ .mem, .unused },
37384 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41182 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37385 .each = .{ .once = &.{41183 .each = .{ .once = &.{
37386 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41184 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37393,7 +41191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37393,7 +41191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37393 }, .{41191 }, .{
37394 .required_features = .{ .sse, .x87, null, null },41192 .required_features = .{ .sse, .x87, null, null },
37395 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41193 .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 },
37397 .patterns = &.{41195 .patterns = &.{
37398 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },41196 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37399 },41197 },
...@@ -37409,7 +41207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37409,7 +41207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37409 .unused,41207 .unused,
37410 .unused,41208 .unused,
37411 },41209 },
37412 .dst_temps = .{.{ .reg = .st0 }},41210 .dst_temps = .{ .{ .reg = .st0 }, .unused },
37413 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41211 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37414 .each = .{ .once = &.{41212 .each = .{ .once = &.{
37415 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },41213 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37417,7 +41215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37417,7 +41215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37417 }, .{41215 }, .{
37418 .required_features = .{ .avx, null, null, null },41216 .required_features = .{ .avx, null, null, null },
37419 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41217 .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 },
37421 .patterns = &.{41219 .patterns = &.{
37422 .{ .src = .{ .to_mem, .none, .none } },41220 .{ .src = .{ .to_mem, .none, .none } },
37423 },41221 },
...@@ -37433,7 +41231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37433,7 +41231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37433 .unused,41231 .unused,
37434 .unused,41232 .unused,
37435 },41233 },
37436 .dst_temps = .{.mem},41234 .dst_temps = .{ .mem, .unused },
37437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41235 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37438 .each = .{ .once = &.{41236 .each = .{ .once = &.{
37439 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41237 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37447,7 +41245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37447,7 +41245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37447 }, .{41245 }, .{
37448 .required_features = .{ .sse2, null, null, null },41246 .required_features = .{ .sse2, null, null, null },
37449 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41247 .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 },
37451 .patterns = &.{41249 .patterns = &.{
37452 .{ .src = .{ .to_mem, .none, .none } },41250 .{ .src = .{ .to_mem, .none, .none } },
37453 },41251 },
...@@ -37463,7 +41261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37463,7 +41261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37463 .unused,41261 .unused,
37464 .unused,41262 .unused,
37465 },41263 },
37466 .dst_temps = .{.mem},41264 .dst_temps = .{ .mem, .unused },
37467 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41265 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37468 .each = .{ .once = &.{41266 .each = .{ .once = &.{
37469 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41267 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37477,7 +41275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37477,7 +41275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37477 }, .{41275 }, .{
37478 .required_features = .{ .sse, null, null, null },41276 .required_features = .{ .sse, null, null, null },
37479 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },41277 .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 },
37481 .patterns = &.{41279 .patterns = &.{
37482 .{ .src = .{ .to_mem, .none, .none } },41280 .{ .src = .{ .to_mem, .none, .none } },
37483 },41281 },
...@@ -37493,7 +41291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37493,7 +41291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37493 .unused,41291 .unused,
37494 .unused,41292 .unused,
37495 },41293 },
37496 .dst_temps = .{.mem},41294 .dst_temps = .{ .mem, .unused },
37497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37498 .each = .{ .once = &.{41296 .each = .{ .once = &.{
37499 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },41297 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -37522,42 +41320,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37522,42 +41320,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37522 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{41320 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
37523 .required_features = .{ .f16c, null, null, null },41321 .required_features = .{ .f16c, null, null, null },
37524 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41322 .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 },
37526 .patterns = &.{41324 .patterns = &.{
37527 .{ .src = .{ .to_sse, .none, .none } },41325 .{ .src = .{ .to_sse, .none, .none } },
37528 },41326 },
37529 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41327 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37530 .each = .{ .once = &.{41328 .each = .{ .once = &.{
37531 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },41329 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
37532 } },41330 } },
37533 }, .{41331 }, .{
37534 .required_features = .{ .f16c, null, null, null },41332 .required_features = .{ .f16c, null, null, null },
37535 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },41333 .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 },
37537 .patterns = &.{41335 .patterns = &.{
37538 .{ .src = .{ .mem, .none, .none } },41336 .{ .src = .{ .mem, .none, .none } },
37539 .{ .src = .{ .to_sse, .none, .none } },41337 .{ .src = .{ .to_sse, .none, .none } },
37540 },41338 },
37541 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41339 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37542 .each = .{ .once = &.{41340 .each = .{ .once = &.{
37543 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },41341 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
37544 } },41342 } },
37545 }, .{41343 }, .{
37546 .required_features = .{ .f16c, null, null, null },41344 .required_features = .{ .f16c, null, null, null },
37547 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },41345 .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 },
37549 .patterns = &.{41347 .patterns = &.{
37550 .{ .src = .{ .mem, .none, .none } },41348 .{ .src = .{ .mem, .none, .none } },
37551 .{ .src = .{ .to_sse, .none, .none } },41349 .{ .src = .{ .to_sse, .none, .none } },
37552 },41350 },
37553 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41351 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37554 .each = .{ .once = &.{41352 .each = .{ .once = &.{
37555 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },41353 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
37556 } },41354 } },
37557 }, .{41355 }, .{
37558 .required_features = .{ .sse, null, null, null },41356 .required_features = .{ .sse, null, null, null },
37559 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41357 .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 },
37561 .patterns = &.{41359 .patterns = &.{
37562 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },41360 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37563 },41361 },
...@@ -37573,7 +41371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37573,7 +41371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37573 .unused,41371 .unused,
37574 .unused,41372 .unused,
37575 },41373 },
37576 .dst_temps = .{.{ .ref = .src0 }},41374 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37577 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41375 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37578 .each = .{ .once = &.{41376 .each = .{ .once = &.{
37579 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },41377 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37581,7 +41379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37581,7 +41379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37581 }, .{41379 }, .{
37582 .required_features = .{ .f16c, null, null, null },41380 .required_features = .{ .f16c, null, null, null },
37583 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },41381 .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 },
37585 .patterns = &.{41383 .patterns = &.{
37586 .{ .src = .{ .to_mem, .none, .none } },41384 .{ .src = .{ .to_mem, .none, .none } },
37587 },41385 },
...@@ -37596,7 +41394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37596,7 +41394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37596 .unused,41394 .unused,
37597 .unused,41395 .unused,
37598 },41396 },
37599 .dst_temps = .{.mem},41397 .dst_temps = .{ .mem, .unused },
37600 .clobbers = .{ .eflags = true },41398 .clobbers = .{ .eflags = true },
37601 .each = .{ .once = &.{41399 .each = .{ .once = &.{
37602 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37608,7 +41406,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37608,7 +41406,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37608 }, .{41406 }, .{
37609 .required_features = .{ .avx, null, null, null },41407 .required_features = .{ .avx, null, null, null },
37610 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41408 .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 },
37612 .patterns = &.{41410 .patterns = &.{
37613 .{ .src = .{ .to_mem, .none, .none } },41411 .{ .src = .{ .to_mem, .none, .none } },
37614 },41412 },
...@@ -37624,7 +41422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37624,7 +41422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37624 .unused,41422 .unused,
37625 .unused,41423 .unused,
37626 },41424 },
37627 .dst_temps = .{.mem},41425 .dst_temps = .{ .mem, .unused },
37628 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41426 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37629 .each = .{ .once = &.{41427 .each = .{ .once = &.{
37630 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41428 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37638,7 +41436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37638,7 +41436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37638 }, .{41436 }, .{
37639 .required_features = .{ .sse2, null, null, null },41437 .required_features = .{ .sse2, null, null, null },
37640 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41438 .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 },
37642 .patterns = &.{41440 .patterns = &.{
37643 .{ .src = .{ .to_mem, .none, .none } },41441 .{ .src = .{ .to_mem, .none, .none } },
37644 },41442 },
...@@ -37654,7 +41452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37654,7 +41452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37654 .unused,41452 .unused,
37655 .unused,41453 .unused,
37656 },41454 },
37657 .dst_temps = .{.mem},41455 .dst_temps = .{ .mem, .unused },
37658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41456 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37659 .each = .{ .once = &.{41457 .each = .{ .once = &.{
37660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41458 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37668,7 +41466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37668,7 +41466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37668 }, .{41466 }, .{
37669 .required_features = .{ .sse, null, null, null },41467 .required_features = .{ .sse, null, null, null },
37670 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41468 .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 },
37672 .patterns = &.{41470 .patterns = &.{
37673 .{ .src = .{ .to_mem, .none, .none } },41471 .{ .src = .{ .to_mem, .none, .none } },
37674 },41472 },
...@@ -37684,7 +41482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37684,7 +41482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37684 .unused,41482 .unused,
37685 .unused,41483 .unused,
37686 },41484 },
37687 .dst_temps = .{.mem},41485 .dst_temps = .{ .mem, .unused },
37688 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37689 .each = .{ .once = &.{41487 .each = .{ .once = &.{
37690 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41488 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37699,11 +41497,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37699,11 +41497,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37699 }, .{41497 }, .{
37700 .required_features = .{ .f16c, null, null, null },41498 .required_features = .{ .f16c, null, null, null },
37701 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41499 .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 },
37703 .patterns = &.{41501 .patterns = &.{
37704 .{ .src = .{ .to_sse, .none, .none } },41502 .{ .src = .{ .to_sse, .none, .none } },
37705 },41503 },
37706 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41504 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37707 .each = .{ .once = &.{41505 .each = .{ .once = &.{
37708 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },41506 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
37709 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .dst0d, ._ },41507 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .dst0d, ._ },
...@@ -37711,12 +41509,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37711,12 +41509,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37711 }, .{41509 }, .{
37712 .required_features = .{ .f16c, null, null, null },41510 .required_features = .{ .f16c, null, null, null },
37713 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .word } }, .any, .any },41511 .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 },
37715 .patterns = &.{41513 .patterns = &.{
37716 .{ .src = .{ .mem, .none, .none } },41514 .{ .src = .{ .mem, .none, .none } },
37717 .{ .src = .{ .to_sse, .none, .none } },41515 .{ .src = .{ .to_sse, .none, .none } },
37718 },41516 },
37719 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41517 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37720 .each = .{ .once = &.{41518 .each = .{ .once = &.{
37721 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },41519 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
37722 .{ ._, .v_pd, .cvtps2, .dst0x, .dst0q, ._, ._ },41520 .{ ._, .v_pd, .cvtps2, .dst0x, .dst0q, ._, ._ },
...@@ -37724,12 +41522,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37724,12 +41522,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37724 }, .{41522 }, .{
37725 .required_features = .{ .f16c, null, null, null },41523 .required_features = .{ .f16c, null, null, null },
37726 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },41524 .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 },
37728 .patterns = &.{41526 .patterns = &.{
37729 .{ .src = .{ .mem, .none, .none } },41527 .{ .src = .{ .mem, .none, .none } },
37730 .{ .src = .{ .to_sse, .none, .none } },41528 .{ .src = .{ .to_sse, .none, .none } },
37731 },41529 },
37732 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41530 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37733 .each = .{ .once = &.{41531 .each = .{ .once = &.{
37734 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },41532 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
37735 .{ ._, .v_pd, .cvtps2, .dst0y, .dst0x, ._, ._ },41533 .{ ._, .v_pd, .cvtps2, .dst0y, .dst0x, ._, ._ },
...@@ -37737,7 +41535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37737,7 +41535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37737 }, .{41535 }, .{
37738 .required_features = .{ .f16c, null, null, null },41536 .required_features = .{ .f16c, null, null, null },
37739 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },41537 .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 },
37741 .patterns = &.{41539 .patterns = &.{
37742 .{ .src = .{ .mem, .none, .none } },41540 .{ .src = .{ .mem, .none, .none } },
37743 .{ .src = .{ .to_sse, .none, .none } },41541 .{ .src = .{ .to_sse, .none, .none } },
...@@ -37753,7 +41551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37753,7 +41551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37753 .unused,41551 .unused,
37754 .unused,41552 .unused,
37755 },41553 },
37756 .dst_temps = .{.mem},41554 .dst_temps = .{ .mem, .unused },
37757 .each = .{ .once = &.{41555 .each = .{ .once = &.{
37758 .{ ._, .v_ps, .cvtph2, .tmp0y, .src0x, ._, ._ },41556 .{ ._, .v_ps, .cvtph2, .tmp0y, .src0x, ._, ._ },
37759 .{ ._, .v_pd, .cvtps2, .tmp1y, .tmp0x, ._, ._ },41557 .{ ._, .v_pd, .cvtps2, .tmp1y, .tmp0x, ._, ._ },
...@@ -37765,7 +41563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37765,7 +41563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37765 }, .{41563 }, .{
37766 .required_features = .{ .sse, null, null, null },41564 .required_features = .{ .sse, null, null, null },
37767 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41565 .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 },
37769 .patterns = &.{41567 .patterns = &.{
37770 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },41568 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37771 },41569 },
...@@ -37781,7 +41579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37781,7 +41579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37781 .unused,41579 .unused,
37782 .unused,41580 .unused,
37783 },41581 },
37784 .dst_temps = .{.{ .ref = .src0 }},41582 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37785 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41583 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37786 .each = .{ .once = &.{41584 .each = .{ .once = &.{
37787 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },41585 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37789,7 +41587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37789,7 +41587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37789 }, .{41587 }, .{
37790 .required_features = .{ .f16c, null, null, null },41588 .required_features = .{ .f16c, null, null, null },
37791 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },41589 .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 },
37793 .patterns = &.{41591 .patterns = &.{
37794 .{ .src = .{ .to_mem, .none, .none } },41592 .{ .src = .{ .to_mem, .none, .none } },
37795 },41593 },
...@@ -37804,7 +41602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37804,7 +41602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37804 .unused,41602 .unused,
37805 .unused,41603 .unused,
37806 },41604 },
37807 .dst_temps = .{.mem},41605 .dst_temps = .{ .mem, .unused },
37808 .clobbers = .{ .eflags = true },41606 .clobbers = .{ .eflags = true },
37809 .each = .{ .once = &.{41607 .each = .{ .once = &.{
37810 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41608 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37820,7 +41618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37820,7 +41618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37820 }, .{41618 }, .{
37821 .required_features = .{ .avx, null, null, null },41619 .required_features = .{ .avx, null, null, null },
37822 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41620 .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 },
37824 .patterns = &.{41622 .patterns = &.{
37825 .{ .src = .{ .to_mem, .none, .none } },41623 .{ .src = .{ .to_mem, .none, .none } },
37826 },41624 },
...@@ -37836,7 +41634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37836,7 +41634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37836 .unused,41634 .unused,
37837 .unused,41635 .unused,
37838 },41636 },
37839 .dst_temps = .{.mem},41637 .dst_temps = .{ .mem, .unused },
37840 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41638 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37841 .each = .{ .once = &.{41639 .each = .{ .once = &.{
37842 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41640 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37850,7 +41648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37850,7 +41648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37850 }, .{41648 }, .{
37851 .required_features = .{ .sse2, null, null, null },41649 .required_features = .{ .sse2, null, null, null },
37852 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41650 .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 },
37854 .patterns = &.{41652 .patterns = &.{
37855 .{ .src = .{ .to_mem, .none, .none } },41653 .{ .src = .{ .to_mem, .none, .none } },
37856 },41654 },
...@@ -37866,7 +41664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37866,7 +41664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37866 .unused,41664 .unused,
37867 .unused,41665 .unused,
37868 },41666 },
37869 .dst_temps = .{.mem},41667 .dst_temps = .{ .mem, .unused },
37870 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41668 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37871 .each = .{ .once = &.{41669 .each = .{ .once = &.{
37872 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41670 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37880,7 +41678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37880,7 +41678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37880 }, .{41678 }, .{
37881 .required_features = .{ .sse, null, null, null },41679 .required_features = .{ .sse, null, null, null },
37882 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41680 .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 },
37884 .patterns = &.{41682 .patterns = &.{
37885 .{ .src = .{ .to_mem, .none, .none } },41683 .{ .src = .{ .to_mem, .none, .none } },
37886 },41684 },
...@@ -37896,7 +41694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37896,7 +41694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37896 .unused,41694 .unused,
37897 .unused,41695 .unused,
37898 },41696 },
37899 .dst_temps = .{.mem},41697 .dst_temps = .{ .mem, .unused },
37900 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41698 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37901 .each = .{ .once = &.{41699 .each = .{ .once = &.{
37902 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41700 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37911,7 +41709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37911,7 +41709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37911 }, .{41709 }, .{
37912 .required_features = .{ .f16c, .x87, null, null },41710 .required_features = .{ .f16c, .x87, null, null },
37913 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41711 .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 },
37915 .patterns = &.{41713 .patterns = &.{
37916 .{ .src = .{ .to_sse, .none, .none } },41714 .{ .src = .{ .to_sse, .none, .none } },
37917 },41715 },
...@@ -37926,7 +41724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37926,7 +41724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37926 .unused,41724 .unused,
37927 .unused,41725 .unused,
37928 },41726 },
37929 .dst_temps = .{.{ .rc = .x87 }},41727 .dst_temps = .{ .{ .rc = .x87 }, .unused },
37930 .each = .{ .once = &.{41728 .each = .{ .once = &.{
37931 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },41729 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
37932 .{ ._, .v_ss, .mov, .mem(.tmp1d), .tmp0x, ._, ._ },41730 .{ ._, .v_ss, .mov, .mem(.tmp1d), .tmp0x, ._, ._ },
...@@ -37936,7 +41734,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37936,7 +41734,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37936 }, .{41734 }, .{
37937 .required_features = .{ .sse, .x87, null, null },41735 .required_features = .{ .sse, .x87, null, null },
37938 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41736 .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 },
37940 .patterns = &.{41738 .patterns = &.{
37941 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },41739 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
37942 },41740 },
...@@ -37952,7 +41750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37952,7 +41750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37952 .unused,41750 .unused,
37953 .unused,41751 .unused,
37954 },41752 },
37955 .dst_temps = .{.{ .reg = .st0 }},41753 .dst_temps = .{ .{ .reg = .st0 }, .unused },
37956 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41754 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37957 .each = .{ .once = &.{41755 .each = .{ .once = &.{
37958 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },41756 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -37960,7 +41758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37960,7 +41758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37960 }, .{41758 }, .{
37961 .required_features = .{ .avx, null, null, null },41759 .required_features = .{ .avx, null, null, null },
37962 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41760 .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 },
37964 .patterns = &.{41762 .patterns = &.{
37965 .{ .src = .{ .to_mem, .none, .none } },41763 .{ .src = .{ .to_mem, .none, .none } },
37966 },41764 },
...@@ -37976,7 +41774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37976,7 +41774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37976 .unused,41774 .unused,
37977 .unused,41775 .unused,
37978 },41776 },
37979 .dst_temps = .{.mem},41777 .dst_temps = .{ .mem, .unused },
37980 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41778 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
37981 .each = .{ .once = &.{41779 .each = .{ .once = &.{
37982 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41780 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -37991,7 +41789,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -37991,7 +41789,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37991 }, .{41789 }, .{
37992 .required_features = .{ .sse2, null, null, null },41790 .required_features = .{ .sse2, null, null, null },
37993 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41791 .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 },
37995 .patterns = &.{41793 .patterns = &.{
37996 .{ .src = .{ .to_mem, .none, .none } },41794 .{ .src = .{ .to_mem, .none, .none } },
37997 },41795 },
...@@ -38007,7 +41805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38007,7 +41805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38007 .unused,41805 .unused,
38008 .unused,41806 .unused,
38009 },41807 },
38010 .dst_temps = .{.mem},41808 .dst_temps = .{ .mem, .unused },
38011 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41809 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38012 .each = .{ .once = &.{41810 .each = .{ .once = &.{
38013 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41811 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38022,7 +41820,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38022,7 +41820,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38022 }, .{41820 }, .{
38023 .required_features = .{ .sse, null, null, null },41821 .required_features = .{ .sse, null, null, null },
38024 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41822 .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 },
38026 .patterns = &.{41824 .patterns = &.{
38027 .{ .src = .{ .to_mem, .none, .none } },41825 .{ .src = .{ .to_mem, .none, .none } },
38028 },41826 },
...@@ -38038,7 +41836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38038,7 +41836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38038 .unused,41836 .unused,
38039 .unused,41837 .unused,
38040 },41838 },
38041 .dst_temps = .{.mem},41839 .dst_temps = .{ .mem, .unused },
38042 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41840 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38043 .each = .{ .once = &.{41841 .each = .{ .once = &.{
38044 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41842 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38054,7 +41852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38054,7 +41852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38054 }, .{41852 }, .{
38055 .required_features = .{ .sse, null, null, null },41853 .required_features = .{ .sse, null, null, null },
38056 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41854 .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 },
38058 .patterns = &.{41856 .patterns = &.{
38059 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },41857 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
38060 },41858 },
...@@ -38070,7 +41868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38070,7 +41868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38070 .unused,41868 .unused,
38071 .unused,41869 .unused,
38072 },41870 },
38073 .dst_temps = .{.{ .ref = .src0 }},41871 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38074 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41872 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38075 .each = .{ .once = &.{41873 .each = .{ .once = &.{
38076 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },41874 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -38078,7 +41876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38078,7 +41876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38078 }, .{41876 }, .{
38079 .required_features = .{ .avx, null, null, null },41877 .required_features = .{ .avx, null, null, null },
38080 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41878 .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 },
38082 .patterns = &.{41880 .patterns = &.{
38083 .{ .src = .{ .to_mem, .none, .none } },41881 .{ .src = .{ .to_mem, .none, .none } },
38084 },41882 },
...@@ -38094,7 +41892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38094,7 +41892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38094 .unused,41892 .unused,
38095 .unused,41893 .unused,
38096 },41894 },
38097 .dst_temps = .{.mem},41895 .dst_temps = .{ .mem, .unused },
38098 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41896 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38099 .each = .{ .once = &.{41897 .each = .{ .once = &.{
38100 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41898 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38108,7 +41906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38108,7 +41906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38108 }, .{41906 }, .{
38109 .required_features = .{ .sse2, null, null, null },41907 .required_features = .{ .sse2, null, null, null },
38110 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41908 .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 },
38112 .patterns = &.{41910 .patterns = &.{
38113 .{ .src = .{ .to_mem, .none, .none } },41911 .{ .src = .{ .to_mem, .none, .none } },
38114 },41912 },
...@@ -38124,7 +41922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38124,7 +41922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38124 .unused,41922 .unused,
38125 .unused,41923 .unused,
38126 },41924 },
38127 .dst_temps = .{.mem},41925 .dst_temps = .{ .mem, .unused },
38128 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41926 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38129 .each = .{ .once = &.{41927 .each = .{ .once = &.{
38130 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41928 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38138,7 +41936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38138,7 +41936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38138 }, .{41936 }, .{
38139 .required_features = .{ .sse, null, null, null },41937 .required_features = .{ .sse, null, null, null },
38140 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },41938 .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 },
38142 .patterns = &.{41940 .patterns = &.{
38143 .{ .src = .{ .to_mem, .none, .none } },41941 .{ .src = .{ .to_mem, .none, .none } },
38144 },41942 },
...@@ -38154,7 +41952,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38154,7 +41952,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38154 .unused,41952 .unused,
38155 .unused,41953 .unused,
38156 },41954 },
38157 .dst_temps = .{.mem},41955 .dst_temps = .{ .mem, .unused },
38158 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },41956 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38159 .each = .{ .once = &.{41957 .each = .{ .once = &.{
38160 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },41958 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38169,11 +41967,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38169,11 +41967,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38169 }, .{41967 }, .{
38170 .required_features = .{ .avx, null, null, null },41968 .required_features = .{ .avx, null, null, null },
38171 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },41969 .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 },
38173 .patterns = &.{41971 .patterns = &.{
38174 .{ .src = .{ .mem, .none, .none } },41972 .{ .src = .{ .mem, .none, .none } },
38175 },41973 },
38176 .dst_temps = .{.{ .rc = .sse }},41974 .dst_temps = .{ .{ .rc = .sse }, .unused },
38177 .each = .{ .once = &.{41975 .each = .{ .once = &.{
38178 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },41976 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
38179 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .src0d, ._ },41977 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .src0d, ._ },
...@@ -38181,23 +41979,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38181,23 +41979,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38181 }, .{41979 }, .{
38182 .required_features = .{ .avx, null, null, null },41980 .required_features = .{ .avx, null, null, null },
38183 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },41981 .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 },
38185 .patterns = &.{41983 .patterns = &.{
38186 .{ .src = .{ .to_sse, .none, .none } },41984 .{ .src = .{ .to_sse, .none, .none } },
38187 },41985 },
38188 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},41986 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38189 .each = .{ .once = &.{41987 .each = .{ .once = &.{
38190 .{ ._, .v_sd, .cvtss2, .dst0x, .src0x, .src0d, ._ },41988 .{ ._, .v_sd, .cvtss2, .dst0x, .src0x, .src0d, ._ },
38191 } },41989 } },
38192 }, .{41990 }, .{
38193 .required_features = .{ .sse2, null, null, null },41991 .required_features = .{ .sse2, null, null, null },
38194 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },41992 .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 },
38196 .patterns = &.{41994 .patterns = &.{
38197 .{ .src = .{ .mem, .none, .none } },41995 .{ .src = .{ .mem, .none, .none } },
38198 .{ .src = .{ .to_sse, .none, .none } },41996 .{ .src = .{ .to_sse, .none, .none } },
38199 },41997 },
38200 .dst_temps = .{.{ .rc = .sse }},41998 .dst_temps = .{ .{ .rc = .sse }, .unused },
38201 .each = .{ .once = &.{41999 .each = .{ .once = &.{
38202 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },42000 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
38203 .{ ._, ._sd, .cvtss2, .dst0x, .src0d, ._, ._ },42001 .{ ._, ._sd, .cvtss2, .dst0x, .src0d, ._, ._ },
...@@ -38205,7 +42003,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38205,7 +42003,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38205 }, .{42003 }, .{
38206 .required_features = .{ .x87, null, null, null },42004 .required_features = .{ .x87, null, null, null },
38207 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42005 .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 },
38209 .patterns = &.{42007 .patterns = &.{
38210 .{ .src = .{ .to_mem, .none, .none } },42008 .{ .src = .{ .to_mem, .none, .none } },
38211 },42009 },
...@@ -38220,7 +42018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38220,7 +42018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38220 .unused,42018 .unused,
38221 .unused,42019 .unused,
38222 },42020 },
38223 .dst_temps = .{.mem},42021 .dst_temps = .{ .mem, .unused },
38224 .each = .{ .once = &.{42022 .each = .{ .once = &.{
38225 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },42023 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },
38226 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },42024 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
...@@ -38228,43 +42026,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38228,43 +42026,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38228 }, .{42026 }, .{
38229 .required_features = .{ .avx, null, null, null },42027 .required_features = .{ .avx, null, null, null },
38230 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any },42028 .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 },
38232 .patterns = &.{42030 .patterns = &.{
38233 .{ .src = .{ .mem, .none, .none } },42031 .{ .src = .{ .mem, .none, .none } },
38234 .{ .src = .{ .to_sse, .none, .none } },42032 .{ .src = .{ .to_sse, .none, .none } },
38235 },42033 },
38236 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42034 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38237 .each = .{ .once = &.{42035 .each = .{ .once = &.{
38238 .{ ._, .v_pd, .cvtps2, .dst0x, .src0q, ._, ._ },42036 .{ ._, .v_pd, .cvtps2, .dst0x, .src0q, ._, ._ },
38239 } },42037 } },
38240 }, .{42038 }, .{
38241 .required_features = .{ .sse2, null, null, null },42039 .required_features = .{ .sse2, null, null, null },
38242 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any },42040 .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 },
38244 .patterns = &.{42042 .patterns = &.{
38245 .{ .src = .{ .mem, .none, .none } },42043 .{ .src = .{ .mem, .none, .none } },
38246 .{ .src = .{ .to_sse, .none, .none } },42044 .{ .src = .{ .to_sse, .none, .none } },
38247 },42045 },
38248 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42046 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38249 .each = .{ .once = &.{42047 .each = .{ .once = &.{
38250 .{ ._, ._pd, .cvtps2, .dst0x, .src0q, ._, ._ },42048 .{ ._, ._pd, .cvtps2, .dst0x, .src0q, ._, ._ },
38251 } },42049 } },
38252 }, .{42050 }, .{
38253 .required_features = .{ .avx, null, null, null },42051 .required_features = .{ .avx, null, null, null },
38254 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },42052 .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 },
38256 .patterns = &.{42054 .patterns = &.{
38257 .{ .src = .{ .mem, .none, .none } },42055 .{ .src = .{ .mem, .none, .none } },
38258 .{ .src = .{ .to_sse, .none, .none } },42056 .{ .src = .{ .to_sse, .none, .none } },
38259 },42057 },
38260 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42058 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38261 .each = .{ .once = &.{42059 .each = .{ .once = &.{
38262 .{ ._, .v_pd, .cvtps2, .dst0y, .src0x, ._, ._ },42060 .{ ._, .v_pd, .cvtps2, .dst0y, .src0x, ._, ._ },
38263 } },42061 } },
38264 }, .{42062 }, .{
38265 .required_features = .{ .avx, null, null, null },42063 .required_features = .{ .avx, null, null, null },
38266 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },42064 .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 },
38268 .patterns = &.{42066 .patterns = &.{
38269 .{ .src = .{ .to_mem, .none, .none } },42067 .{ .src = .{ .to_mem, .none, .none } },
38270 },42068 },
...@@ -38279,7 +42077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38279,7 +42077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38279 .unused,42077 .unused,
38280 .unused,42078 .unused,
38281 },42079 },
38282 .dst_temps = .{.mem},42080 .dst_temps = .{ .mem, .unused },
38283 .clobbers = .{ .eflags = true },42081 .clobbers = .{ .eflags = true },
38284 .each = .{ .once = &.{42082 .each = .{ .once = &.{
38285 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42083 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38291,7 +42089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38291,7 +42089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38291 }, .{42089 }, .{
38292 .required_features = .{ .sse2, null, null, null },42090 .required_features = .{ .sse2, null, null, null },
38293 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any },42091 .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 },
38295 .patterns = &.{42093 .patterns = &.{
38296 .{ .src = .{ .to_mem, .none, .none } },42094 .{ .src = .{ .to_mem, .none, .none } },
38297 },42095 },
...@@ -38306,7 +42104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38306,7 +42104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38306 .unused,42104 .unused,
38307 .unused,42105 .unused,
38308 },42106 },
38309 .dst_temps = .{.mem},42107 .dst_temps = .{ .mem, .unused },
38310 .clobbers = .{ .eflags = true },42108 .clobbers = .{ .eflags = true },
38311 .each = .{ .once = &.{42109 .each = .{ .once = &.{
38312 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38318,7 +42116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38318,7 +42116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38318 }, .{42116 }, .{
38319 .required_features = .{ .x87, null, null, null },42117 .required_features = .{ .x87, null, null, null },
38320 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42118 .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 },
38322 .patterns = &.{42120 .patterns = &.{
38323 .{ .src = .{ .to_mem, .none, .none } },42121 .{ .src = .{ .to_mem, .none, .none } },
38324 },42122 },
...@@ -38333,7 +42131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38333,7 +42131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38333 .unused,42131 .unused,
38334 .unused,42132 .unused,
38335 },42133 },
38336 .dst_temps = .{.mem},42134 .dst_temps = .{ .mem, .unused },
38337 .clobbers = .{ .eflags = true },42135 .clobbers = .{ .eflags = true },
38338 .each = .{ .once = &.{42136 .each = .{ .once = &.{
38339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38345,7 +42143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38345,7 +42143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38345 }, .{42143 }, .{
38346 .required_features = .{ .x87, null, null, null },42144 .required_features = .{ .x87, null, null, null },
38347 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42145 .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 },
38349 .patterns = &.{42147 .patterns = &.{
38350 .{ .src = .{ .to_mem, .none, .none } },42148 .{ .src = .{ .to_mem, .none, .none } },
38351 },42149 },
...@@ -38360,7 +42158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38360,7 +42158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38360 .unused,42158 .unused,
38361 .unused,42159 .unused,
38362 },42160 },
38363 .dst_temps = .{.mem},42161 .dst_temps = .{ .mem, .unused },
38364 .each = .{ .once = &.{42162 .each = .{ .once = &.{
38365 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },42163 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },
38366 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },42164 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
...@@ -38368,7 +42166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38368,7 +42166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38368 }, .{42166 }, .{
38369 .required_features = .{ .x87, null, null, null },42167 .required_features = .{ .x87, null, null, null },
38370 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42168 .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 },
38372 .patterns = &.{42170 .patterns = &.{
38373 .{ .src = .{ .to_mem, .none, .none } },42171 .{ .src = .{ .to_mem, .none, .none } },
38374 },42172 },
...@@ -38383,7 +42181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38383,7 +42181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38383 .unused,42181 .unused,
38384 .unused,42182 .unused,
38385 },42183 },
38386 .dst_temps = .{.mem},42184 .dst_temps = .{ .mem, .unused },
38387 .clobbers = .{ .eflags = true },42185 .clobbers = .{ .eflags = true },
38388 .each = .{ .once = &.{42186 .each = .{ .once = &.{
38389 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42187 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38395,7 +42193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38395,7 +42193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38395 }, .{42193 }, .{
38396 .required_features = .{ .sse, null, null, null },42194 .required_features = .{ .sse, null, null, null },
38397 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42195 .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 },
38399 .patterns = &.{42197 .patterns = &.{
38400 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },42198 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
38401 },42199 },
...@@ -38411,7 +42209,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38411,7 +42209,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38411 .unused,42209 .unused,
38412 .unused,42210 .unused,
38413 },42211 },
38414 .dst_temps = .{.{ .ref = .src0 }},42212 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38415 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42213 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38416 .each = .{ .once = &.{42214 .each = .{ .once = &.{
38417 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },42215 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -38419,7 +42217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38419,7 +42217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38419 }, .{42217 }, .{
38420 .required_features = .{ .avx, null, null, null },42218 .required_features = .{ .avx, null, null, null },
38421 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42219 .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 },
38423 .patterns = &.{42221 .patterns = &.{
38424 .{ .src = .{ .to_mem, .none, .none } },42222 .{ .src = .{ .to_mem, .none, .none } },
38425 },42223 },
...@@ -38435,7 +42233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38435,7 +42233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38435 .unused,42233 .unused,
38436 .unused,42234 .unused,
38437 },42235 },
38438 .dst_temps = .{.mem},42236 .dst_temps = .{ .mem, .unused },
38439 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42237 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38440 .each = .{ .once = &.{42238 .each = .{ .once = &.{
38441 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42239 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38448,7 +42246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38448,7 +42246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38448 }, .{42246 }, .{
38449 .required_features = .{ .sse2, null, null, null },42247 .required_features = .{ .sse2, null, null, null },
38450 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42248 .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 },
38452 .patterns = &.{42250 .patterns = &.{
38453 .{ .src = .{ .to_mem, .none, .none } },42251 .{ .src = .{ .to_mem, .none, .none } },
38454 },42252 },
...@@ -38464,7 +42262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38464,7 +42262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38464 .unused,42262 .unused,
38465 .unused,42263 .unused,
38466 },42264 },
38467 .dst_temps = .{.mem},42265 .dst_temps = .{ .mem, .unused },
38468 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42266 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38469 .each = .{ .once = &.{42267 .each = .{ .once = &.{
38470 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42268 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38477,7 +42275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38477,7 +42275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38477 }, .{42275 }, .{
38478 .required_features = .{ .sse, null, null, null },42276 .required_features = .{ .sse, null, null, null },
38479 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },42277 .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 },
38481 .patterns = &.{42279 .patterns = &.{
38482 .{ .src = .{ .to_mem, .none, .none } },42280 .{ .src = .{ .to_mem, .none, .none } },
38483 },42281 },
...@@ -38493,7 +42291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38493,7 +42291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38493 .unused,42291 .unused,
38494 .unused,42292 .unused,
38495 },42293 },
38496 .dst_temps = .{.mem},42294 .dst_temps = .{ .mem, .unused },
38497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38498 .each = .{ .once = &.{42296 .each = .{ .once = &.{
38499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42297 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38506,7 +42304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38506,7 +42304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38506 }, .{42304 }, .{
38507 .required_features = .{ .x87, null, null, null },42305 .required_features = .{ .x87, null, null, null },
38508 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },42306 .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 },
38510 .patterns = &.{42308 .patterns = &.{
38511 .{ .src = .{ .to_mem, .none, .none } },42309 .{ .src = .{ .to_mem, .none, .none } },
38512 },42310 },
...@@ -38521,7 +42319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38521,7 +42319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38521 .unused,42319 .unused,
38522 .unused,42320 .unused,
38523 },42321 },
38524 .dst_temps = .{.mem},42322 .dst_temps = .{ .mem, .unused },
38525 .each = .{ .once = &.{42323 .each = .{ .once = &.{
38526 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },42324 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
38527 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },42325 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
...@@ -38529,7 +42327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38529,7 +42327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38529 }, .{42327 }, .{
38530 .required_features = .{ .x87, null, null, null },42328 .required_features = .{ .x87, null, null, null },
38531 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },42329 .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 },
38533 .patterns = &.{42331 .patterns = &.{
38534 .{ .src = .{ .to_mem, .none, .none } },42332 .{ .src = .{ .to_mem, .none, .none } },
38535 },42333 },
...@@ -38544,7 +42342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38544,7 +42342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38544 .unused,42342 .unused,
38545 .unused,42343 .unused,
38546 },42344 },
38547 .dst_temps = .{.mem},42345 .dst_temps = .{ .mem, .unused },
38548 .clobbers = .{ .eflags = true },42346 .clobbers = .{ .eflags = true },
38549 .each = .{ .once = &.{42347 .each = .{ .once = &.{
38550 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42348 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38556,7 +42354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38556,7 +42354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38556 }, .{42354 }, .{
38557 .required_features = .{ .sse, null, null, null },42355 .required_features = .{ .sse, null, null, null },
38558 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },42356 .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 },
38560 .patterns = &.{42358 .patterns = &.{
38561 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },42359 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
38562 },42360 },
...@@ -38572,7 +42370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38572,7 +42370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38572 .unused,42370 .unused,
38573 .unused,42371 .unused,
38574 },42372 },
38575 .dst_temps = .{.{ .ref = .src0 }},42373 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42374 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38577 .each = .{ .once = &.{42375 .each = .{ .once = &.{
38578 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },42376 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -38580,7 +42378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38580,7 +42378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38580 }, .{42378 }, .{
38581 .required_features = .{ .avx, null, null, null },42379 .required_features = .{ .avx, null, null, null },
38582 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },42380 .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 },
38584 .patterns = &.{42382 .patterns = &.{
38585 .{ .src = .{ .to_mem, .none, .none } },42383 .{ .src = .{ .to_mem, .none, .none } },
38586 },42384 },
...@@ -38596,7 +42394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38596,7 +42394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38596 .unused,42394 .unused,
38597 .unused,42395 .unused,
38598 },42396 },
38599 .dst_temps = .{.mem},42397 .dst_temps = .{ .mem, .unused },
38600 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42398 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38601 .each = .{ .once = &.{42399 .each = .{ .once = &.{
38602 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38609,7 +42407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38609,7 +42407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38609 }, .{42407 }, .{
38610 .required_features = .{ .sse2, null, null, null },42408 .required_features = .{ .sse2, null, null, null },
38611 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },42409 .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 },
38613 .patterns = &.{42411 .patterns = &.{
38614 .{ .src = .{ .to_mem, .none, .none } },42412 .{ .src = .{ .to_mem, .none, .none } },
38615 },42413 },
...@@ -38625,7 +42423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38625,7 +42423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38625 .unused,42423 .unused,
38626 .unused,42424 .unused,
38627 },42425 },
38628 .dst_temps = .{.mem},42426 .dst_temps = .{ .mem, .unused },
38629 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42427 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38630 .each = .{ .once = &.{42428 .each = .{ .once = &.{
38631 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38638,7 +42436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38638,7 +42436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38638 }, .{42436 }, .{
38639 .required_features = .{ .sse, null, null, null },42437 .required_features = .{ .sse, null, null, null },
38640 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },42438 .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 },
38642 .patterns = &.{42440 .patterns = &.{
38643 .{ .src = .{ .to_mem, .none, .none } },42441 .{ .src = .{ .to_mem, .none, .none } },
38644 },42442 },
...@@ -38654,7 +42452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38654,7 +42452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38654 .unused,42452 .unused,
38655 .unused,42453 .unused,
38656 },42454 },
38657 .dst_temps = .{.mem},42455 .dst_temps = .{ .mem, .unused },
38658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42456 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38659 .each = .{ .once = &.{42457 .each = .{ .once = &.{
38660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42458 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38668,7 +42466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38668,7 +42466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38668 }, .{42466 }, .{
38669 .required_features = .{ .avx, null, null, null },42467 .required_features = .{ .avx, null, null, null },
38670 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },42468 .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 },
38672 .patterns = &.{42470 .patterns = &.{
38673 .{ .src = .{ .to_mem, .none, .none } },42471 .{ .src = .{ .to_mem, .none, .none } },
38674 },42472 },
...@@ -38684,7 +42482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38684,7 +42482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38684 .unused,42482 .unused,
38685 .unused,42483 .unused,
38686 },42484 },
38687 .dst_temps = .{.{ .reg = .xmm0 }},42485 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
38688 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38689 .each = .{ .once = &.{42487 .each = .{ .once = &.{
38690 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },42488 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
...@@ -38694,7 +42492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38694,7 +42492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38694 }, .{42492 }, .{
38695 .required_features = .{ .sse2, null, null, null },42493 .required_features = .{ .sse2, null, null, null },
38696 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },42494 .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 },
38698 .patterns = &.{42496 .patterns = &.{
38699 .{ .src = .{ .to_mem, .none, .none } },42497 .{ .src = .{ .to_mem, .none, .none } },
38700 },42498 },
...@@ -38710,7 +42508,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38710,7 +42508,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38710 .unused,42508 .unused,
38711 .unused,42509 .unused,
38712 },42510 },
38713 .dst_temps = .{.{ .reg = .xmm0 }},42511 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
38714 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42512 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38715 .each = .{ .once = &.{42513 .each = .{ .once = &.{
38716 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },42514 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
...@@ -38720,7 +42518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38720,7 +42518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38720 }, .{42518 }, .{
38721 .required_features = .{ .sse, null, null, null },42519 .required_features = .{ .sse, null, null, null },
38722 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },42520 .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 },
38724 .patterns = &.{42522 .patterns = &.{
38725 .{ .src = .{ .to_mem, .none, .none } },42523 .{ .src = .{ .to_mem, .none, .none } },
38726 },42524 },
...@@ -38736,7 +42534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38736,7 +42534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38736 .unused,42534 .unused,
38737 .unused,42535 .unused,
38738 },42536 },
38739 .dst_temps = .{.{ .reg = .xmm0 }},42537 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
38740 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42538 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38741 .each = .{ .once = &.{42539 .each = .{ .once = &.{
38742 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },42540 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },
...@@ -38746,7 +42544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38746,7 +42544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38746 }, .{42544 }, .{
38747 .required_features = .{ .avx, null, null, null },42545 .required_features = .{ .avx, null, null, null },
38748 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },42546 .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 },
38750 .patterns = &.{42548 .patterns = &.{
38751 .{ .src = .{ .to_mem, .none, .none } },42549 .{ .src = .{ .to_mem, .none, .none } },
38752 },42550 },
...@@ -38762,7 +42560,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38762,7 +42560,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38762 .unused,42560 .unused,
38763 .unused,42561 .unused,
38764 },42562 },
38765 .dst_temps = .{.mem},42563 .dst_temps = .{ .mem, .unused },
38766 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42564 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38767 .each = .{ .once = &.{42565 .each = .{ .once = &.{
38768 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42566 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38776,7 +42574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38776,7 +42574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38776 }, .{42574 }, .{
38777 .required_features = .{ .sse2, null, null, null },42575 .required_features = .{ .sse2, null, null, null },
38778 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },42576 .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 },
38780 .patterns = &.{42578 .patterns = &.{
38781 .{ .src = .{ .to_mem, .none, .none } },42579 .{ .src = .{ .to_mem, .none, .none } },
38782 },42580 },
...@@ -38792,7 +42590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38792,7 +42590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38792 .unused,42590 .unused,
38793 .unused,42591 .unused,
38794 },42592 },
38795 .dst_temps = .{.mem},42593 .dst_temps = .{ .mem, .unused },
38796 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42594 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38797 .each = .{ .once = &.{42595 .each = .{ .once = &.{
38798 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38806,7 +42604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38806,7 +42604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38806 }, .{42604 }, .{
38807 .required_features = .{ .sse, null, null, null },42605 .required_features = .{ .sse, null, null, null },
38808 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },42606 .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 },
38810 .patterns = &.{42608 .patterns = &.{
38811 .{ .src = .{ .to_mem, .none, .none } },42609 .{ .src = .{ .to_mem, .none, .none } },
38812 },42610 },
...@@ -38822,7 +42620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38822,7 +42620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38822 .unused,42620 .unused,
38823 .unused,42621 .unused,
38824 },42622 },
38825 .dst_temps = .{.mem},42623 .dst_temps = .{ .mem, .unused },
38826 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },42624 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
38827 .each = .{ .once = &.{42625 .each = .{ .once = &.{
38828 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },42626 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -38851,62 +42649,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38851,62 +42649,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38851 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});42649 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
38852 var res: [1]Temp = undefined;42650 var res: [1]Temp = undefined;
38853 cg.select(&res, &.{dst_ty}, &ops, if (dst_ty.scalarType(zcu).abiSize(zcu) <= src_ty.scalarType(zcu).abiSize(zcu)) comptime &.{ .{42651 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 },
38855 .patterns = &.{42653 .patterns = &.{
38856 .{ .src = .{ .mut_mem, .none, .none } },42654 .{ .src = .{ .mut_mem, .none, .none } },
38857 .{ .src = .{ .to_mut_gpr, .none, .none } },42655 .{ .src = .{ .to_mut_gpr, .none, .none } },
38858 },42656 },
38859 .dst_temps = .{.{ .ref = .src0 }},42657 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38860 .each = .{ .once = &.{} },42658 .each = .{ .once = &.{} },
38861 }, .{42659 }, .{
38862 .required_features = .{ .@"64bit", null, null, null },42660 .required_features = .{ .@"64bit", null, null, null },
38863 .dst_constraints = .{.{ .int = .qword }},42661 .dst_constraints = .{ .{ .int = .qword }, .any },
38864 .patterns = &.{42662 .patterns = &.{
38865 .{ .src = .{ .mut_mem, .none, .none } },42663 .{ .src = .{ .mut_mem, .none, .none } },
38866 .{ .src = .{ .to_mut_gpr, .none, .none } },42664 .{ .src = .{ .to_mut_gpr, .none, .none } },
38867 },42665 },
38868 .dst_temps = .{.{ .ref = .src0 }},42666 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38869 .each = .{ .once = &.{} },42667 .each = .{ .once = &.{} },
38870 }, .{42668 }, .{
38871 .dst_constraints = .{.{ .int = .byte }},42669 .dst_constraints = .{ .{ .int = .byte }, .any },
38872 .patterns = &.{42670 .patterns = &.{
38873 .{ .src = .{ .to_mem, .none, .none } },42671 .{ .src = .{ .to_mem, .none, .none } },
38874 },42672 },
38875 .dst_temps = .{.{ .rc = .general_purpose }},42673 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
38876 .each = .{ .once = &.{42674 .each = .{ .once = &.{
38877 .{ ._, ._, .mov, .dst0b, .mem(.src0b), ._, ._ },42675 .{ ._, ._, .mov, .dst0b, .mem(.src0b), ._, ._ },
38878 } },42676 } },
38879 }, .{42677 }, .{
38880 .dst_constraints = .{.{ .int = .word }},42678 .dst_constraints = .{ .{ .int = .word }, .any },
38881 .patterns = &.{42679 .patterns = &.{
38882 .{ .src = .{ .to_mem, .none, .none } },42680 .{ .src = .{ .to_mem, .none, .none } },
38883 },42681 },
38884 .dst_temps = .{.{ .rc = .general_purpose }},42682 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
38885 .each = .{ .once = &.{42683 .each = .{ .once = &.{
38886 .{ ._, ._, .mov, .dst0w, .mem(.src0w), ._, ._ },42684 .{ ._, ._, .mov, .dst0w, .mem(.src0w), ._, ._ },
38887 } },42685 } },
38888 }, .{42686 }, .{
38889 .dst_constraints = .{.{ .int = .dword }},42687 .dst_constraints = .{ .{ .int = .dword }, .any },
38890 .patterns = &.{42688 .patterns = &.{
38891 .{ .src = .{ .to_mem, .none, .none } },42689 .{ .src = .{ .to_mem, .none, .none } },
38892 },42690 },
38893 .dst_temps = .{.{ .rc = .general_purpose }},42691 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
38894 .each = .{ .once = &.{42692 .each = .{ .once = &.{
38895 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },42693 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
38896 } },42694 } },
38897 }, .{42695 }, .{
38898 .required_features = .{ .@"64bit", null, null, null },42696 .required_features = .{ .@"64bit", null, null, null },
38899 .dst_constraints = .{.{ .int = .qword }},42697 .dst_constraints = .{ .{ .int = .qword }, .any },
38900 .patterns = &.{42698 .patterns = &.{
38901 .{ .src = .{ .to_mem, .none, .none } },42699 .{ .src = .{ .to_mem, .none, .none } },
38902 },42700 },
38903 .dst_temps = .{.{ .rc = .general_purpose }},42701 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
38904 .each = .{ .once = &.{42702 .each = .{ .once = &.{
38905 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },42703 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
38906 } },42704 } },
38907 }, .{42705 }, .{
38908 .required_features = .{ .@"64bit", null, null, null },42706 .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 },
38910 .patterns = &.{42708 .patterns = &.{
38911 .{ .src = .{ .to_mem, .none, .none } },42709 .{ .src = .{ .to_mem, .none, .none } },
38912 },42710 },
...@@ -38921,7 +42719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38921,7 +42719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38921 .unused,42719 .unused,
38922 .unused,42720 .unused,
38923 },42721 },
38924 .dst_temps = .{.mem},42722 .dst_temps = .{ .mem, .unused },
38925 .each = .{ .once = &.{42723 .each = .{ .once = &.{
38926 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },42724 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
38927 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },42725 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
...@@ -38931,93 +42729,93 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -38931,93 +42729,93 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38931 }, .{42729 }, .{
38932 .required_features = .{ .sse, null, null, null },42730 .required_features = .{ .sse, null, null, null },
38933 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },42731 .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 },
38935 .patterns = &.{42733 .patterns = &.{
38936 .{ .src = .{ .mut_mem, .none, .none } },42734 .{ .src = .{ .mut_mem, .none, .none } },
38937 .{ .src = .{ .to_mut_sse, .none, .none } },42735 .{ .src = .{ .to_mut_sse, .none, .none } },
38938 },42736 },
38939 .dst_temps = .{.{ .ref = .src0 }},42737 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38940 .each = .{ .once = &.{} },42738 .each = .{ .once = &.{} },
38941 }, .{42739 }, .{
38942 .required_features = .{ .avx, null, null, null },42740 .required_features = .{ .avx, null, null, null },
38943 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },42741 .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 },
38945 .patterns = &.{42743 .patterns = &.{
38946 .{ .src = .{ .mut_mem, .none, .none } },42744 .{ .src = .{ .mut_mem, .none, .none } },
38947 .{ .src = .{ .to_mut_sse, .none, .none } },42745 .{ .src = .{ .to_mut_sse, .none, .none } },
38948 },42746 },
38949 .dst_temps = .{.{ .ref = .src0 }},42747 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38950 .each = .{ .once = &.{} },42748 .each = .{ .once = &.{} },
38951 }, .{42749 }, .{
38952 .required_features = .{ .avx, null, null, null },42750 .required_features = .{ .avx, null, null, null },
38953 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },42751 .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 },
38955 .patterns = &.{42753 .patterns = &.{
38956 .{ .src = .{ .to_sse, .none, .none } },42754 .{ .src = .{ .to_sse, .none, .none } },
38957 },42755 },
38958 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42756 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38959 .each = .{ .once = &.{42757 .each = .{ .once = &.{
38960 .{ ._, .vp_b, .ackssw, .dst0x, .src0x, .dst0x, ._ },42758 .{ ._, .vp_b, .ackssw, .dst0x, .src0x, .dst0x, ._ },
38961 } },42759 } },
38962 }, .{42760 }, .{
38963 .required_features = .{ .avx, null, null, null },42761 .required_features = .{ .avx, null, null, null },
38964 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },42762 .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 },
38966 .patterns = &.{42764 .patterns = &.{
38967 .{ .src = .{ .to_sse, .none, .none } },42765 .{ .src = .{ .to_sse, .none, .none } },
38968 },42766 },
38969 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42767 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38970 .each = .{ .once = &.{42768 .each = .{ .once = &.{
38971 .{ ._, .vp_b, .ackusw, .dst0x, .src0x, .dst0x, ._ },42769 .{ ._, .vp_b, .ackusw, .dst0x, .src0x, .dst0x, ._ },
38972 } },42770 } },
38973 }, .{42771 }, .{
38974 .required_features = .{ .sse2, null, null, null },42772 .required_features = .{ .sse2, null, null, null },
38975 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },42773 .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 },
38977 .patterns = &.{42775 .patterns = &.{
38978 .{ .src = .{ .to_mut_sse, .none, .none } },42776 .{ .src = .{ .to_mut_sse, .none, .none } },
38979 },42777 },
38980 .dst_temps = .{.{ .ref = .src0 }},42778 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38981 .each = .{ .once = &.{42779 .each = .{ .once = &.{
38982 .{ ._, .p_b, .ackssw, .dst0x, .dst0x, ._, ._ },42780 .{ ._, .p_b, .ackssw, .dst0x, .dst0x, ._, ._ },
38983 } },42781 } },
38984 }, .{42782 }, .{
38985 .required_features = .{ .sse2, null, null, null },42783 .required_features = .{ .sse2, null, null, null },
38986 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },42784 .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 },
38988 .patterns = &.{42786 .patterns = &.{
38989 .{ .src = .{ .to_mut_sse, .none, .none } },42787 .{ .src = .{ .to_mut_sse, .none, .none } },
38990 },42788 },
38991 .dst_temps = .{.{ .ref = .src0 }},42789 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38992 .each = .{ .once = &.{42790 .each = .{ .once = &.{
38993 .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ },42791 .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ },
38994 } },42792 } },
38995 }, .{42793 }, .{
38996 .required_features = .{ .avx2, null, null, null },42794 .required_features = .{ .avx2, null, null, null },
38997 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },42795 .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 },
38999 .patterns = &.{42797 .patterns = &.{
39000 .{ .src = .{ .to_sse, .none, .none } },42798 .{ .src = .{ .to_sse, .none, .none } },
39001 },42799 },
39002 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42800 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39003 .each = .{ .once = &.{42801 .each = .{ .once = &.{
39004 .{ ._, .vp_b, .ackssw, .dst0y, .src0y, .dst0y, ._ },42802 .{ ._, .vp_b, .ackssw, .dst0y, .src0y, .dst0y, ._ },
39005 } },42803 } },
39006 }, .{42804 }, .{
39007 .required_features = .{ .avx2, null, null, null },42805 .required_features = .{ .avx2, null, null, null },
39008 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },42806 .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 },
39010 .patterns = &.{42808 .patterns = &.{
39011 .{ .src = .{ .to_sse, .none, .none } },42809 .{ .src = .{ .to_sse, .none, .none } },
39012 },42810 },
39013 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42811 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39014 .each = .{ .once = &.{42812 .each = .{ .once = &.{
39015 .{ ._, .vp_b, .ackusw, .dst0y, .src0y, .dst0y, ._ },42813 .{ ._, .vp_b, .ackusw, .dst0y, .src0y, .dst0y, ._ },
39016 } },42814 } },
39017 }, .{42815 }, .{
39018 .required_features = .{ .slow_incdec, null, null, null },42816 .required_features = .{ .slow_incdec, null, null, null },
39019 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },42817 .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 },
39021 .patterns = &.{42819 .patterns = &.{
39022 .{ .src = .{ .to_mem, .none, .none } },42820 .{ .src = .{ .to_mem, .none, .none } },
39023 },42821 },
...@@ -39032,7 +42830,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39032,7 +42830,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39032 .unused,42830 .unused,
39033 .unused,42831 .unused,
39034 },42832 },
39035 .dst_temps = .{.mem},42833 .dst_temps = .{ .mem, .unused },
39036 .clobbers = .{ .eflags = true },42834 .clobbers = .{ .eflags = true },
39037 .each = .{ .once = &.{42835 .each = .{ .once = &.{
39038 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },42836 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39043,7 +42841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39043,7 +42841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39043 } },42841 } },
39044 }, .{42842 }, .{
39045 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },42843 .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 },
39047 .patterns = &.{42845 .patterns = &.{
39048 .{ .src = .{ .to_mem, .none, .none } },42846 .{ .src = .{ .to_mem, .none, .none } },
39049 },42847 },
...@@ -39058,7 +42856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39058,7 +42856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39058 .unused,42856 .unused,
39059 .unused,42857 .unused,
39060 },42858 },
39061 .dst_temps = .{.mem},42859 .dst_temps = .{ .mem, .unused },
39062 .clobbers = .{ .eflags = true },42860 .clobbers = .{ .eflags = true },
39063 .each = .{ .once = &.{42861 .each = .{ .once = &.{
39064 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },42862 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39070,11 +42868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39070,11 +42868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39070 }, .{42868 }, .{
39071 .required_features = .{ .avx, null, null, null },42869 .required_features = .{ .avx, null, null, null },
39072 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },42870 .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 },
39074 .patterns = &.{42872 .patterns = &.{
39075 .{ .src = .{ .to_sse, .none, .none } },42873 .{ .src = .{ .to_sse, .none, .none } },
39076 },42874 },
39077 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42875 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39078 .each = .{ .once = &.{42876 .each = .{ .once = &.{
39079 .{ ._, .vp_w, .ackssd, .dst0x, .src0x, .dst0x, ._ },42877 .{ ._, .vp_w, .ackssd, .dst0x, .src0x, .dst0x, ._ },
39080 .{ ._, .vp_b, .ackssw, .dst0x, .dst0x, .dst0x, ._ },42878 .{ ._, .vp_b, .ackssw, .dst0x, .dst0x, .dst0x, ._ },
...@@ -39082,11 +42880,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39082,11 +42880,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39082 }, .{42880 }, .{
39083 .required_features = .{ .avx, null, null, null },42881 .required_features = .{ .avx, null, null, null },
39084 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },42882 .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 },
39086 .patterns = &.{42884 .patterns = &.{
39087 .{ .src = .{ .to_sse, .none, .none } },42885 .{ .src = .{ .to_sse, .none, .none } },
39088 },42886 },
39089 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42887 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39090 .each = .{ .once = &.{42888 .each = .{ .once = &.{
39091 .{ ._, .vp_w, .ackusd, .dst0x, .src0x, .dst0x, ._ },42889 .{ ._, .vp_w, .ackusd, .dst0x, .src0x, .dst0x, ._ },
39092 .{ ._, .vp_b, .ackusw, .dst0x, .dst0x, .dst0x, ._ },42890 .{ ._, .vp_b, .ackusw, .dst0x, .dst0x, .dst0x, ._ },
...@@ -39094,11 +42892,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39094,11 +42892,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39094 }, .{42892 }, .{
39095 .required_features = .{ .sse2, null, null, null },42893 .required_features = .{ .sse2, null, null, null },
39096 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },42894 .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 },
39098 .patterns = &.{42896 .patterns = &.{
39099 .{ .src = .{ .to_mut_sse, .none, .none } },42897 .{ .src = .{ .to_mut_sse, .none, .none } },
39100 },42898 },
39101 .dst_temps = .{.{ .ref = .src0 }},42899 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39102 .each = .{ .once = &.{42900 .each = .{ .once = &.{
39103 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },42901 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
39104 .{ ._, .p_b, .ackssw, .dst0x, .dst0x, ._, ._ },42902 .{ ._, .p_b, .ackssw, .dst0x, .dst0x, ._, ._ },
...@@ -39106,11 +42904,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39106,11 +42904,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39106 }, .{42904 }, .{
39107 .required_features = .{ .sse4_1, null, null, null },42905 .required_features = .{ .sse4_1, null, null, null },
39108 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },42906 .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 },
39110 .patterns = &.{42908 .patterns = &.{
39111 .{ .src = .{ .to_mut_sse, .none, .none } },42909 .{ .src = .{ .to_mut_sse, .none, .none } },
39112 },42910 },
39113 .dst_temps = .{.{ .ref = .src0 }},42911 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39114 .each = .{ .once = &.{42912 .each = .{ .once = &.{
39115 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },42913 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
39116 .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ },42914 .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ },
...@@ -39118,11 +42916,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39118,11 +42916,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39118 }, .{42916 }, .{
39119 .required_features = .{ .avx2, null, null, null },42917 .required_features = .{ .avx2, null, null, null },
39120 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },42918 .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 },
39122 .patterns = &.{42920 .patterns = &.{
39123 .{ .src = .{ .to_sse, .none, .none } },42921 .{ .src = .{ .to_sse, .none, .none } },
39124 },42922 },
39125 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42923 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39126 .each = .{ .once = &.{42924 .each = .{ .once = &.{
39127 .{ ._, .vp_w, .ackssd, .dst0y, .src0y, .dst0y, ._ },42925 .{ ._, .vp_w, .ackssd, .dst0y, .src0y, .dst0y, ._ },
39128 .{ ._, .vp_b, .ackssw, .dst0y, .dst0y, .dst0y, ._ },42926 .{ ._, .vp_b, .ackssw, .dst0y, .dst0y, .dst0y, ._ },
...@@ -39130,11 +42928,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39130,11 +42928,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39130 }, .{42928 }, .{
39131 .required_features = .{ .avx2, null, null, null },42929 .required_features = .{ .avx2, null, null, null },
39132 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },42930 .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 },
39134 .patterns = &.{42932 .patterns = &.{
39135 .{ .src = .{ .to_sse, .none, .none } },42933 .{ .src = .{ .to_sse, .none, .none } },
39136 },42934 },
39137 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},42935 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39138 .each = .{ .once = &.{42936 .each = .{ .once = &.{
39139 .{ ._, .vp_w, .ackusd, .dst0y, .src0y, .dst0y, ._ },42937 .{ ._, .vp_w, .ackusd, .dst0y, .src0y, .dst0y, ._ },
39140 .{ ._, .vp_b, .ackusw, .dst0y, .dst0y, .dst0y, ._ },42938 .{ ._, .vp_b, .ackusw, .dst0y, .dst0y, .dst0y, ._ },
...@@ -39142,7 +42940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39142,7 +42940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39142 }, .{42940 }, .{
39143 .required_features = .{ .slow_incdec, null, null, null },42941 .required_features = .{ .slow_incdec, null, null, null },
39144 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },42942 .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 },
39146 .patterns = &.{42944 .patterns = &.{
39147 .{ .src = .{ .to_mem, .none, .none } },42945 .{ .src = .{ .to_mem, .none, .none } },
39148 },42946 },
...@@ -39157,7 +42955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39157,7 +42955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39157 .unused,42955 .unused,
39158 .unused,42956 .unused,
39159 },42957 },
39160 .dst_temps = .{.mem},42958 .dst_temps = .{ .mem, .unused },
39161 .clobbers = .{ .eflags = true },42959 .clobbers = .{ .eflags = true },
39162 .each = .{ .once = &.{42960 .each = .{ .once = &.{
39163 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },42961 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39168,7 +42966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39168,7 +42966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39168 } },42966 } },
39169 }, .{42967 }, .{
39170 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },42968 .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 },
39172 .patterns = &.{42970 .patterns = &.{
39173 .{ .src = .{ .to_mem, .none, .none } },42971 .{ .src = .{ .to_mem, .none, .none } },
39174 },42972 },
...@@ -39183,7 +42981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39183,7 +42981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39183 .unused,42981 .unused,
39184 .unused,42982 .unused,
39185 },42983 },
39186 .dst_temps = .{.mem},42984 .dst_temps = .{ .mem, .unused },
39187 .clobbers = .{ .eflags = true },42985 .clobbers = .{ .eflags = true },
39188 .each = .{ .once = &.{42986 .each = .{ .once = &.{
39189 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },42987 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39195,7 +42993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39195,7 +42993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39195 }, .{42993 }, .{
39196 .required_features = .{ .slow_incdec, null, null, null },42994 .required_features = .{ .slow_incdec, null, null, null },
39197 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },42995 .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 },
39199 .patterns = &.{42997 .patterns = &.{
39200 .{ .src = .{ .to_mem, .none, .none } },42998 .{ .src = .{ .to_mem, .none, .none } },
39201 },42999 },
...@@ -39210,7 +43008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39210,7 +43008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39210 .unused,43008 .unused,
39211 .unused,43009 .unused,
39212 },43010 },
39213 .dst_temps = .{.mem},43011 .dst_temps = .{ .mem, .unused },
39214 .clobbers = .{ .eflags = true },43012 .clobbers = .{ .eflags = true },
39215 .each = .{ .once = &.{43013 .each = .{ .once = &.{
39216 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43014 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39221,7 +43019,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39221,7 +43019,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39221 } },43019 } },
39222 }, .{43020 }, .{
39223 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },43021 .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 },
39225 .patterns = &.{43023 .patterns = &.{
39226 .{ .src = .{ .to_mem, .none, .none } },43024 .{ .src = .{ .to_mem, .none, .none } },
39227 },43025 },
...@@ -39236,7 +43034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39236,7 +43034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39236 .unused,43034 .unused,
39237 .unused,43035 .unused,
39238 },43036 },
39239 .dst_temps = .{.mem},43037 .dst_temps = .{ .mem, .unused },
39240 .clobbers = .{ .eflags = true },43038 .clobbers = .{ .eflags = true },
39241 .each = .{ .once = &.{43039 .each = .{ .once = &.{
39242 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43040 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39248,7 +43046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39248,7 +43046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39248 }, .{43046 }, .{
39249 .required_features = .{ .slow_incdec, null, null, null },43047 .required_features = .{ .slow_incdec, null, null, null },
39250 .src_constraints = .{ .any_scalar_int, .any, .any },43048 .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 },
39252 .patterns = &.{43050 .patterns = &.{
39253 .{ .src = .{ .to_mem, .none, .none } },43051 .{ .src = .{ .to_mem, .none, .none } },
39254 },43052 },
...@@ -39263,7 +43061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39263,7 +43061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39263 .unused,43061 .unused,
39264 .unused,43062 .unused,
39265 },43063 },
39266 .dst_temps = .{.mem},43064 .dst_temps = .{ .mem, .unused },
39267 .clobbers = .{ .eflags = true },43065 .clobbers = .{ .eflags = true },
39268 .each = .{ .once = &.{43066 .each = .{ .once = &.{
39269 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43067 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39276,7 +43074,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39276,7 +43074,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39276 } },43074 } },
39277 }, .{43075 }, .{
39278 .src_constraints = .{ .any_scalar_int, .any, .any },43076 .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 },
39280 .patterns = &.{43078 .patterns = &.{
39281 .{ .src = .{ .to_mem, .none, .none } },43079 .{ .src = .{ .to_mem, .none, .none } },
39282 },43080 },
...@@ -39291,7 +43089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39291,7 +43089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39291 .unused,43089 .unused,
39292 .unused,43090 .unused,
39293 },43091 },
39294 .dst_temps = .{.mem},43092 .dst_temps = .{ .mem, .unused },
39295 .clobbers = .{ .eflags = true },43093 .clobbers = .{ .eflags = true },
39296 .each = .{ .once = &.{43094 .each = .{ .once = &.{
39297 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43095 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39305,92 +43103,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39305,92 +43103,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39305 }, .{43103 }, .{
39306 .required_features = .{ .sse, null, null, null },43104 .required_features = .{ .sse, null, null, null },
39307 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },43105 .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 },
39309 .patterns = &.{43107 .patterns = &.{
39310 .{ .src = .{ .mut_mem, .none, .none } },43108 .{ .src = .{ .mut_mem, .none, .none } },
39311 .{ .src = .{ .to_mut_sse, .none, .none } },43109 .{ .src = .{ .to_mut_sse, .none, .none } },
39312 },43110 },
39313 .dst_temps = .{.{ .ref = .src0 }},43111 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39314 .each = .{ .once = &.{} },43112 .each = .{ .once = &.{} },
39315 }, .{43113 }, .{
39316 .required_features = .{ .avx, null, null, null },43114 .required_features = .{ .avx, null, null, null },
39317 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },43115 .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 },
39319 .patterns = &.{43117 .patterns = &.{
39320 .{ .src = .{ .mut_mem, .none, .none } },43118 .{ .src = .{ .mut_mem, .none, .none } },
39321 .{ .src = .{ .to_mut_sse, .none, .none } },43119 .{ .src = .{ .to_mut_sse, .none, .none } },
39322 },43120 },
39323 .dst_temps = .{.{ .ref = .src0 }},43121 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39324 .each = .{ .once = &.{} },43122 .each = .{ .once = &.{} },
39325 }, .{43123 }, .{
39326 .required_features = .{ .avx, null, null, null },43124 .required_features = .{ .avx, null, null, null },
39327 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },43125 .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 },
39329 .patterns = &.{43127 .patterns = &.{
39330 .{ .src = .{ .to_sse, .none, .none } },43128 .{ .src = .{ .to_sse, .none, .none } },
39331 },43129 },
39332 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},43130 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39333 .each = .{ .once = &.{43131 .each = .{ .once = &.{
39334 .{ ._, .vp_w, .ackssd, .dst0x, .src0x, .dst0x, ._ },43132 .{ ._, .vp_w, .ackssd, .dst0x, .src0x, .dst0x, ._ },
39335 } },43133 } },
39336 }, .{43134 }, .{
39337 .required_features = .{ .avx, null, null, null },43135 .required_features = .{ .avx, null, null, null },
39338 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },43136 .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 },
39340 .patterns = &.{43138 .patterns = &.{
39341 .{ .src = .{ .to_sse, .none, .none } },43139 .{ .src = .{ .to_sse, .none, .none } },
39342 },43140 },
39343 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},43141 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39344 .each = .{ .once = &.{43142 .each = .{ .once = &.{
39345 .{ ._, .vp_w, .ackusd, .dst0x, .src0x, .dst0x, ._ },43143 .{ ._, .vp_w, .ackusd, .dst0x, .src0x, .dst0x, ._ },
39346 } },43144 } },
39347 }, .{43145 }, .{
39348 .required_features = .{ .sse2, null, null, null },43146 .required_features = .{ .sse2, null, null, null },
39349 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },43147 .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 },
39351 .patterns = &.{43149 .patterns = &.{
39352 .{ .src = .{ .to_mut_sse, .none, .none } },43150 .{ .src = .{ .to_mut_sse, .none, .none } },
39353 },43151 },
39354 .dst_temps = .{.{ .ref = .src0 }},43152 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39355 .each = .{ .once = &.{43153 .each = .{ .once = &.{
39356 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },43154 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
39357 } },43155 } },
39358 }, .{43156 }, .{
39359 .required_features = .{ .sse4_1, null, null, null },43157 .required_features = .{ .sse4_1, null, null, null },
39360 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },43158 .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 },
39362 .patterns = &.{43160 .patterns = &.{
39363 .{ .src = .{ .to_mut_sse, .none, .none } },43161 .{ .src = .{ .to_mut_sse, .none, .none } },
39364 },43162 },
39365 .dst_temps = .{.{ .ref = .src0 }},43163 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39366 .each = .{ .once = &.{43164 .each = .{ .once = &.{
39367 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },43165 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
39368 } },43166 } },
39369 }, .{43167 }, .{
39370 .required_features = .{ .avx2, null, null, null },43168 .required_features = .{ .avx2, null, null, null },
39371 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },43169 .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 },
39373 .patterns = &.{43171 .patterns = &.{
39374 .{ .src = .{ .to_sse, .none, .none } },43172 .{ .src = .{ .to_sse, .none, .none } },
39375 },43173 },
39376 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},43174 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39377 .each = .{ .once = &.{43175 .each = .{ .once = &.{
39378 .{ ._, .vp_w, .ackssd, .dst0y, .src0y, .dst0y, ._ },43176 .{ ._, .vp_w, .ackssd, .dst0y, .src0y, .dst0y, ._ },
39379 } },43177 } },
39380 }, .{43178 }, .{
39381 .required_features = .{ .avx2, null, null, null },43179 .required_features = .{ .avx2, null, null, null },
39382 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },43180 .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 },
39384 .patterns = &.{43182 .patterns = &.{
39385 .{ .src = .{ .to_sse, .none, .none } },43183 .{ .src = .{ .to_sse, .none, .none } },
39386 },43184 },
39387 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},43185 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39388 .each = .{ .once = &.{43186 .each = .{ .once = &.{
39389 .{ ._, .vp_w, .ackusd, .dst0y, .src0y, .dst0y, ._ },43187 .{ ._, .vp_w, .ackusd, .dst0y, .src0y, .dst0y, ._ },
39390 } },43188 } },
39391 }, .{43189 }, .{
39392 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },43190 .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 },
39394 .patterns = &.{43192 .patterns = &.{
39395 .{ .src = .{ .to_mem, .none, .none } },43193 .{ .src = .{ .to_mem, .none, .none } },
39396 },43194 },
...@@ -39405,7 +43203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39405,7 +43203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39405 .unused,43203 .unused,
39406 .unused,43204 .unused,
39407 },43205 },
39408 .dst_temps = .{.mem},43206 .dst_temps = .{ .mem, .unused },
39409 .clobbers = .{ .eflags = true },43207 .clobbers = .{ .eflags = true },
39410 .each = .{ .once = &.{43208 .each = .{ .once = &.{
39411 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43209 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39416,7 +43214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39416,7 +43214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39416 } },43214 } },
39417 }, .{43215 }, .{
39418 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },43216 .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 },
39420 .patterns = &.{43218 .patterns = &.{
39421 .{ .src = .{ .to_mem, .none, .none } },43219 .{ .src = .{ .to_mem, .none, .none } },
39422 },43220 },
...@@ -39431,7 +43229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39431,7 +43229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39431 .unused,43229 .unused,
39432 .unused,43230 .unused,
39433 },43231 },
39434 .dst_temps = .{.mem},43232 .dst_temps = .{ .mem, .unused },
39435 .clobbers = .{ .eflags = true },43233 .clobbers = .{ .eflags = true },
39436 .each = .{ .once = &.{43234 .each = .{ .once = &.{
39437 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43235 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39442,7 +43240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39442,7 +43240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39442 } },43240 } },
39443 }, .{43241 }, .{
39444 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },43242 .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 },
39446 .patterns = &.{43244 .patterns = &.{
39447 .{ .src = .{ .to_mem, .none, .none } },43245 .{ .src = .{ .to_mem, .none, .none } },
39448 },43246 },
...@@ -39457,7 +43255,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39457,7 +43255,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39457 .unused,43255 .unused,
39458 .unused,43256 .unused,
39459 },43257 },
39460 .dst_temps = .{.mem},43258 .dst_temps = .{ .mem, .unused },
39461 .clobbers = .{ .eflags = true },43259 .clobbers = .{ .eflags = true },
39462 .each = .{ .once = &.{43260 .each = .{ .once = &.{
39463 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43261 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39468,7 +43266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39468,7 +43266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39468 } },43266 } },
39469 }, .{43267 }, .{
39470 .src_constraints = .{ .any_scalar_int, .any, .any },43268 .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 },
39472 .patterns = &.{43270 .patterns = &.{
39473 .{ .src = .{ .to_mem, .none, .none } },43271 .{ .src = .{ .to_mem, .none, .none } },
39474 },43272 },
...@@ -39483,7 +43281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39483,7 +43281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39483 .unused,43281 .unused,
39484 .unused,43282 .unused,
39485 },43283 },
39486 .dst_temps = .{.mem},43284 .dst_temps = .{ .mem, .unused },
39487 .clobbers = .{ .eflags = true },43285 .clobbers = .{ .eflags = true },
39488 .each = .{ .once = &.{43286 .each = .{ .once = &.{
39489 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43287 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39497,50 +43295,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39497,50 +43295,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39497 }, .{43295 }, .{
39498 .required_features = .{ .sse, null, null, null },43296 .required_features = .{ .sse, null, null, null },
39499 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },43297 .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 },
39501 .patterns = &.{43299 .patterns = &.{
39502 .{ .src = .{ .mut_mem, .none, .none } },43300 .{ .src = .{ .mut_mem, .none, .none } },
39503 .{ .src = .{ .to_mut_sse, .none, .none } },43301 .{ .src = .{ .to_mut_sse, .none, .none } },
39504 },43302 },
39505 .dst_temps = .{.{ .ref = .src0 }},43303 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39506 .each = .{ .once = &.{} },43304 .each = .{ .once = &.{} },
39507 }, .{43305 }, .{
39508 .required_features = .{ .avx, null, null, null },43306 .required_features = .{ .avx, null, null, null },
39509 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },43307 .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 },
39511 .patterns = &.{43309 .patterns = &.{
39512 .{ .src = .{ .mut_mem, .none, .none } },43310 .{ .src = .{ .mut_mem, .none, .none } },
39513 .{ .src = .{ .to_mut_sse, .none, .none } },43311 .{ .src = .{ .to_mut_sse, .none, .none } },
39514 },43312 },
39515 .dst_temps = .{.{ .ref = .src0 }},43313 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39516 .each = .{ .once = &.{} },43314 .each = .{ .once = &.{} },
39517 }, .{43315 }, .{
39518 .required_features = .{ .avx, null, null, null },43316 .required_features = .{ .avx, null, null, null },
39519 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },43317 .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 },
39521 .patterns = &.{43319 .patterns = &.{
39522 .{ .src = .{ .mem, .none, .none } },43320 .{ .src = .{ .mem, .none, .none } },
39523 .{ .src = .{ .to_sse, .none, .none } },43321 .{ .src = .{ .to_sse, .none, .none } },
39524 },43322 },
39525 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},43323 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39526 .each = .{ .once = &.{43324 .each = .{ .once = &.{
39527 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b10_00_10_00), ._ },43325 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b10_00_10_00), ._ },
39528 } },43326 } },
39529 }, .{43327 }, .{
39530 .required_features = .{ .sse2, null, null, null },43328 .required_features = .{ .sse2, null, null, null },
39531 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },43329 .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 },
39533 .patterns = &.{43331 .patterns = &.{
39534 .{ .src = .{ .mem, .none, .none } },43332 .{ .src = .{ .mem, .none, .none } },
39535 .{ .src = .{ .to_sse, .none, .none } },43333 .{ .src = .{ .to_sse, .none, .none } },
39536 },43334 },
39537 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},43335 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39538 .each = .{ .once = &.{43336 .each = .{ .once = &.{
39539 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b10_00_10_00), ._ },43337 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b10_00_10_00), ._ },
39540 } },43338 } },
39541 }, .{43339 }, .{
39542 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },43340 .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 },
39544 .patterns = &.{43342 .patterns = &.{
39545 .{ .src = .{ .to_mem, .none, .none } },43343 .{ .src = .{ .to_mem, .none, .none } },
39546 },43344 },
...@@ -39555,7 +43353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39555,7 +43353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39555 .unused,43353 .unused,
39556 .unused,43354 .unused,
39557 },43355 },
39558 .dst_temps = .{.mem},43356 .dst_temps = .{ .mem, .unused },
39559 .clobbers = .{ .eflags = true },43357 .clobbers = .{ .eflags = true },
39560 .each = .{ .once = &.{43358 .each = .{ .once = &.{
39561 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43359 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39566,7 +43364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39566,7 +43364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39566 } },43364 } },
39567 }, .{43365 }, .{
39568 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },43366 .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 },
39570 .patterns = &.{43368 .patterns = &.{
39571 .{ .src = .{ .to_mem, .none, .none } },43369 .{ .src = .{ .to_mem, .none, .none } },
39572 },43370 },
...@@ -39581,7 +43379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39581,7 +43379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39581 .unused,43379 .unused,
39582 .unused,43380 .unused,
39583 },43381 },
39584 .dst_temps = .{.mem},43382 .dst_temps = .{ .mem, .unused },
39585 .clobbers = .{ .eflags = true },43383 .clobbers = .{ .eflags = true },
39586 .each = .{ .once = &.{43384 .each = .{ .once = &.{
39587 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39592,7 +43390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39592,7 +43390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39592 } },43390 } },
39593 }, .{43391 }, .{
39594 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },43392 .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 },
39596 .patterns = &.{43394 .patterns = &.{
39597 .{ .src = .{ .to_mem, .none, .none } },43395 .{ .src = .{ .to_mem, .none, .none } },
39598 },43396 },
...@@ -39607,7 +43405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39607,7 +43405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39607 .unused,43405 .unused,
39608 .unused,43406 .unused,
39609 },43407 },
39610 .dst_temps = .{.mem},43408 .dst_temps = .{ .mem, .unused },
39611 .clobbers = .{ .eflags = true },43409 .clobbers = .{ .eflags = true },
39612 .each = .{ .once = &.{43410 .each = .{ .once = &.{
39613 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43411 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39618,7 +43416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39618,7 +43416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39618 } },43416 } },
39619 }, .{43417 }, .{
39620 .src_constraints = .{ .any_scalar_int, .any, .any },43418 .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 },
39622 .patterns = &.{43420 .patterns = &.{
39623 .{ .src = .{ .to_mem, .none, .none } },43421 .{ .src = .{ .to_mem, .none, .none } },
39624 },43422 },
...@@ -39633,7 +43431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39633,7 +43431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39633 .unused,43431 .unused,
39634 .unused,43432 .unused,
39635 },43433 },
39636 .dst_temps = .{.mem},43434 .dst_temps = .{ .mem, .unused },
39637 .clobbers = .{ .eflags = true },43435 .clobbers = .{ .eflags = true },
39638 .each = .{ .once = &.{43436 .each = .{ .once = &.{
39639 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43437 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39647,27 +43445,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39647,27 +43445,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39647 }, .{43445 }, .{
39648 .required_features = .{ .sse, null, null, null },43446 .required_features = .{ .sse, null, null, null },
39649 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },43447 .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 },
39651 .patterns = &.{43449 .patterns = &.{
39652 .{ .src = .{ .mut_mem, .none, .none } },43450 .{ .src = .{ .mut_mem, .none, .none } },
39653 .{ .src = .{ .to_mut_sse, .none, .none } },43451 .{ .src = .{ .to_mut_sse, .none, .none } },
39654 },43452 },
39655 .dst_temps = .{.{ .ref = .src0 }},43453 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39656 .each = .{ .once = &.{} },43454 .each = .{ .once = &.{} },
39657 }, .{43455 }, .{
39658 .required_features = .{ .avx, null, null, null },43456 .required_features = .{ .avx, null, null, null },
39659 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any },43457 .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 },
39661 .patterns = &.{43459 .patterns = &.{
39662 .{ .src = .{ .mut_mem, .none, .none } },43460 .{ .src = .{ .mut_mem, .none, .none } },
39663 .{ .src = .{ .to_mut_sse, .none, .none } },43461 .{ .src = .{ .to_mut_sse, .none, .none } },
39664 },43462 },
39665 .dst_temps = .{.{ .ref = .src0 }},43463 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39666 .each = .{ .once = &.{} },43464 .each = .{ .once = &.{} },
39667 }, .{43465 }, .{
39668 .required_features = .{ .@"64bit", null, null, null },43466 .required_features = .{ .@"64bit", null, null, null },
39669 .src_constraints = .{ .any_scalar_int, .any, .any },43467 .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 },
39671 .patterns = &.{43469 .patterns = &.{
39672 .{ .src = .{ .to_mem, .none, .none } },43470 .{ .src = .{ .to_mem, .none, .none } },
39673 },43471 },
...@@ -39682,7 +43480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39682,7 +43480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39682 .unused,43480 .unused,
39683 .unused,43481 .unused,
39684 },43482 },
39685 .dst_temps = .{.mem},43483 .dst_temps = .{ .mem, .unused },
39686 .clobbers = .{ .eflags = true },43484 .clobbers = .{ .eflags = true },
39687 .each = .{ .once = &.{43485 .each = .{ .once = &.{
39688 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },43486 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -39696,37 +43494,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39696,37 +43494,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39696 }, .{43494 }, .{
39697 .required_features = .{ .sse, null, null, null },43495 .required_features = .{ .sse, null, null, null },
39698 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },43496 .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 },
39700 .patterns = &.{43498 .patterns = &.{
39701 .{ .src = .{ .mut_mem, .none, .none } },43499 .{ .src = .{ .mut_mem, .none, .none } },
39702 .{ .src = .{ .to_mut_sse, .none, .none } },43500 .{ .src = .{ .to_mut_sse, .none, .none } },
39703 },43501 },
39704 .dst_temps = .{.{ .ref = .src0 }},43502 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39705 .each = .{ .once = &.{} },43503 .each = .{ .once = &.{} },
39706 }, .{43504 }, .{
39707 .required_features = .{ .avx, null, null, null },43505 .required_features = .{ .avx, null, null, null },
39708 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any },43506 .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 },
39710 .patterns = &.{43508 .patterns = &.{
39711 .{ .src = .{ .mut_mem, .none, .none } },43509 .{ .src = .{ .mut_mem, .none, .none } },
39712 .{ .src = .{ .to_mut_sse, .none, .none } },43510 .{ .src = .{ .to_mut_sse, .none, .none } },
39713 },43511 },
39714 .dst_temps = .{.{ .ref = .src0 }},43512 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39715 .each = .{ .once = &.{} },43513 .each = .{ .once = &.{} },
39716 }, .{43514 }, .{
39717 .required_features = .{ .avx, null, null, null },43515 .required_features = .{ .avx, null, null, null },
39718 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },43516 .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 },
39720 .patterns = &.{43518 .patterns = &.{
39721 .{ .src = .{ .mut_mem, .none, .none } },43519 .{ .src = .{ .mut_mem, .none, .none } },
39722 .{ .src = .{ .to_mut_sse, .none, .none } },43520 .{ .src = .{ .to_mut_sse, .none, .none } },
39723 },43521 },
39724 .dst_temps = .{.{ .ref = .src0 }},43522 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39725 .each = .{ .once = &.{} },43523 .each = .{ .once = &.{} },
39726 }, .{43524 }, .{
39727 .required_features = .{ .@"64bit", .slow_incdec, null, null },43525 .required_features = .{ .@"64bit", .slow_incdec, null, null },
39728 .src_constraints = .{ .any_scalar_int, .any, .any },43526 .src_constraints = .{ .any_scalar_int, .any, .any },
39729 .dst_constraints = .{.any_scalar_int},43527 .dst_constraints = .{ .any_scalar_int, .any },
39730 .patterns = &.{43528 .patterns = &.{
39731 .{ .src = .{ .to_mem, .none, .none } },43529 .{ .src = .{ .to_mem, .none, .none } },
39732 },43530 },
...@@ -39741,7 +43539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39741,7 +43539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39741 .unused,43539 .unused,
39742 .unused,43540 .unused,
39743 },43541 },
39744 .dst_temps = .{.mem},43542 .dst_temps = .{ .mem, .unused },
39745 .clobbers = .{ .eflags = true },43543 .clobbers = .{ .eflags = true },
39746 .each = .{ .once = &.{43544 .each = .{ .once = &.{
39747 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },43545 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -39756,7 +43554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39756,7 +43554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39756 }, .{43554 }, .{
39757 .required_features = .{ .@"64bit", null, null, null },43555 .required_features = .{ .@"64bit", null, null, null },
39758 .src_constraints = .{ .any_scalar_int, .any, .any },43556 .src_constraints = .{ .any_scalar_int, .any, .any },
39759 .dst_constraints = .{.any_scalar_int},43557 .dst_constraints = .{ .any_scalar_int, .any },
39760 .patterns = &.{43558 .patterns = &.{
39761 .{ .src = .{ .to_mem, .none, .none } },43559 .{ .src = .{ .to_mem, .none, .none } },
39762 },43560 },
...@@ -39771,7 +43569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39771,7 +43569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39771 .unused,43569 .unused,
39772 .unused,43570 .unused,
39773 },43571 },
39774 .dst_temps = .{.mem},43572 .dst_temps = .{ .mem, .unused },
39775 .clobbers = .{ .eflags = true },43573 .clobbers = .{ .eflags = true },
39776 .each = .{ .once = &.{43574 .each = .{ .once = &.{
39777 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },43575 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -39785,54 +43583,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39785,54 +43583,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39785 } },43583 } },
39786 } } else comptime &.{ .{43584 } } else comptime &.{ .{
39787 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },43585 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
39788 .dst_constraints = .{.{ .signed_int = .dword }},43586 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
39789 .patterns = &.{43587 .patterns = &.{
39790 .{ .src = .{ .mem, .none, .none } },43588 .{ .src = .{ .mem, .none, .none } },
39791 .{ .src = .{ .to_gpr, .none, .none } },43589 .{ .src = .{ .to_gpr, .none, .none } },
39792 },43590 },
39793 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43591 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39794 .each = .{ .once = &.{43592 .each = .{ .once = &.{
39795 .{ ._, ._, .movsx, .dst0d, .src0b, ._, ._ },43593 .{ ._, ._, .movsx, .dst0d, .src0b, ._, ._ },
39796 } },43594 } },
39797 }, .{43595 }, .{
39798 .src_constraints = .{ .{ .int = .byte }, .any, .any },43596 .src_constraints = .{ .{ .int = .byte }, .any, .any },
39799 .dst_constraints = .{.{ .int = .dword }},43597 .dst_constraints = .{ .{ .int = .dword }, .any },
39800 .patterns = &.{43598 .patterns = &.{
39801 .{ .src = .{ .mem, .none, .none } },43599 .{ .src = .{ .mem, .none, .none } },
39802 .{ .src = .{ .to_gpr, .none, .none } },43600 .{ .src = .{ .to_gpr, .none, .none } },
39803 },43601 },
39804 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43602 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39805 .each = .{ .once = &.{43603 .each = .{ .once = &.{
39806 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },43604 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
39807 } },43605 } },
39808 }, .{43606 }, .{
39809 .required_features = .{ .@"64bit", null, null, null },43607 .required_features = .{ .@"64bit", null, null, null },
39810 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },43608 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
39811 .dst_constraints = .{.{ .signed_int = .qword }},43609 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
39812 .patterns = &.{43610 .patterns = &.{
39813 .{ .src = .{ .mem, .none, .none } },43611 .{ .src = .{ .mem, .none, .none } },
39814 .{ .src = .{ .to_gpr, .none, .none } },43612 .{ .src = .{ .to_gpr, .none, .none } },
39815 },43613 },
39816 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43614 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39817 .each = .{ .once = &.{43615 .each = .{ .once = &.{
39818 .{ ._, ._, .movsx, .dst0q, .src0b, ._, ._ },43616 .{ ._, ._, .movsx, .dst0q, .src0b, ._, ._ },
39819 } },43617 } },
39820 }, .{43618 }, .{
39821 .required_features = .{ .@"64bit", null, null, null },43619 .required_features = .{ .@"64bit", null, null, null },
39822 .src_constraints = .{ .{ .int = .byte }, .any, .any },43620 .src_constraints = .{ .{ .int = .byte }, .any, .any },
39823 .dst_constraints = .{.{ .int = .qword }},43621 .dst_constraints = .{ .{ .int = .qword }, .any },
39824 .patterns = &.{43622 .patterns = &.{
39825 .{ .src = .{ .mem, .none, .none } },43623 .{ .src = .{ .mem, .none, .none } },
39826 .{ .src = .{ .to_gpr, .none, .none } },43624 .{ .src = .{ .to_gpr, .none, .none } },
39827 },43625 },
39828 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43626 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39829 .each = .{ .once = &.{43627 .each = .{ .once = &.{
39830 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },43628 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
39831 } },43629 } },
39832 }, .{43630 }, .{
39833 .required_features = .{ .@"64bit", null, null, null },43631 .required_features = .{ .@"64bit", null, null, null },
39834 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },43632 .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 },
39836 .patterns = &.{43634 .patterns = &.{
39837 .{ .src = .{ .mem, .none, .none } },43635 .{ .src = .{ .mem, .none, .none } },
39838 .{ .src = .{ .to_gpr, .none, .none } },43636 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -39848,7 +43646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39848,7 +43646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39848 .unused,43646 .unused,
39849 .unused,43647 .unused,
39850 },43648 },
39851 .dst_temps = .{.mem},43649 .dst_temps = .{ .mem, .unused },
39852 .clobbers = .{ .eflags = true },43650 .clobbers = .{ .eflags = true },
39853 .each = .{ .once = &.{43651 .each = .{ .once = &.{
39854 .{ ._, ._, .movsx, .tmp0q, .src0b, ._, ._ },43652 .{ ._, ._, .movsx, .tmp0q, .src0b, ._, ._ },
...@@ -39861,7 +43659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39861,7 +43659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39861 }, .{43659 }, .{
39862 .required_features = .{ .@"64bit", null, null, null },43660 .required_features = .{ .@"64bit", null, null, null },
39863 .src_constraints = .{ .{ .int = .byte }, .any, .any },43661 .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 },
39865 .patterns = &.{43663 .patterns = &.{
39866 .{ .src = .{ .mem, .none, .none } },43664 .{ .src = .{ .mem, .none, .none } },
39867 .{ .src = .{ .to_gpr, .none, .none } },43665 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -39877,7 +43675,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39877,7 +43675,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39877 .unused,43675 .unused,
39878 .unused,43676 .unused,
39879 },43677 },
39880 .dst_temps = .{.mem},43678 .dst_temps = .{ .mem, .unused },
39881 .clobbers = .{ .eflags = true },43679 .clobbers = .{ .eflags = true },
39882 .each = .{ .once = &.{43680 .each = .{ .once = &.{
39883 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },43681 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -39889,7 +43687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39889,7 +43687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39889 } },43687 } },
39890 }, .{43688 }, .{
39891 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },43689 .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 },
39893 .patterns = &.{43691 .patterns = &.{
39894 .{ .src = .{ .mem, .none, .none } },43692 .{ .src = .{ .mem, .none, .none } },
39895 .{ .src = .{ .to_gpr, .none, .none } },43693 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -39905,7 +43703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39905,7 +43703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39905 .unused,43703 .unused,
39906 .unused,43704 .unused,
39907 },43705 },
39908 .dst_temps = .{.mem},43706 .dst_temps = .{ .mem, .unused },
39909 .clobbers = .{ .eflags = true },43707 .clobbers = .{ .eflags = true },
39910 .each = .{ .once = &.{43708 .each = .{ .once = &.{
39911 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },43709 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
...@@ -39917,7 +43715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39917,7 +43715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39917 } },43715 } },
39918 }, .{43716 }, .{
39919 .src_constraints = .{ .{ .int = .byte }, .any, .any },43717 .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 },
39921 .patterns = &.{43719 .patterns = &.{
39922 .{ .src = .{ .mem, .none, .none } },43720 .{ .src = .{ .mem, .none, .none } },
39923 .{ .src = .{ .to_gpr, .none, .none } },43721 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -39933,7 +43731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39933,7 +43731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39933 .unused,43731 .unused,
39934 .unused,43732 .unused,
39935 },43733 },
39936 .dst_temps = .{.mem},43734 .dst_temps = .{ .mem, .unused },
39937 .clobbers = .{ .eflags = true },43735 .clobbers = .{ .eflags = true },
39938 .each = .{ .once = &.{43736 .each = .{ .once = &.{
39939 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },43737 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -39945,54 +43743,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -39945,54 +43743,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39945 } },43743 } },
39946 }, .{43744 }, .{
39947 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },43745 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
39948 .dst_constraints = .{.{ .signed_int = .dword }},43746 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
39949 .patterns = &.{43747 .patterns = &.{
39950 .{ .src = .{ .mem, .none, .none } },43748 .{ .src = .{ .mem, .none, .none } },
39951 .{ .src = .{ .to_gpr, .none, .none } },43749 .{ .src = .{ .to_gpr, .none, .none } },
39952 },43750 },
39953 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43751 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39954 .each = .{ .once = &.{43752 .each = .{ .once = &.{
39955 .{ ._, ._, .movsx, .dst0d, .src0w, ._, ._ },43753 .{ ._, ._, .movsx, .dst0d, .src0w, ._, ._ },
39956 } },43754 } },
39957 }, .{43755 }, .{
39958 .src_constraints = .{ .{ .int = .word }, .any, .any },43756 .src_constraints = .{ .{ .int = .word }, .any, .any },
39959 .dst_constraints = .{.{ .int = .dword }},43757 .dst_constraints = .{ .{ .int = .dword }, .any },
39960 .patterns = &.{43758 .patterns = &.{
39961 .{ .src = .{ .mem, .none, .none } },43759 .{ .src = .{ .mem, .none, .none } },
39962 .{ .src = .{ .to_gpr, .none, .none } },43760 .{ .src = .{ .to_gpr, .none, .none } },
39963 },43761 },
39964 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43762 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39965 .each = .{ .once = &.{43763 .each = .{ .once = &.{
39966 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },43764 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },
39967 } },43765 } },
39968 }, .{43766 }, .{
39969 .required_features = .{ .@"64bit", null, null, null },43767 .required_features = .{ .@"64bit", null, null, null },
39970 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },43768 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
39971 .dst_constraints = .{.{ .signed_int = .qword }},43769 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
39972 .patterns = &.{43770 .patterns = &.{
39973 .{ .src = .{ .mem, .none, .none } },43771 .{ .src = .{ .mem, .none, .none } },
39974 .{ .src = .{ .to_gpr, .none, .none } },43772 .{ .src = .{ .to_gpr, .none, .none } },
39975 },43773 },
39976 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43774 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39977 .each = .{ .once = &.{43775 .each = .{ .once = &.{
39978 .{ ._, ._, .movsx, .dst0q, .src0w, ._, ._ },43776 .{ ._, ._, .movsx, .dst0q, .src0w, ._, ._ },
39979 } },43777 } },
39980 }, .{43778 }, .{
39981 .required_features = .{ .@"64bit", null, null, null },43779 .required_features = .{ .@"64bit", null, null, null },
39982 .src_constraints = .{ .{ .int = .word }, .any, .any },43780 .src_constraints = .{ .{ .int = .word }, .any, .any },
39983 .dst_constraints = .{.{ .int = .qword }},43781 .dst_constraints = .{ .{ .int = .qword }, .any },
39984 .patterns = &.{43782 .patterns = &.{
39985 .{ .src = .{ .mem, .none, .none } },43783 .{ .src = .{ .mem, .none, .none } },
39986 .{ .src = .{ .to_gpr, .none, .none } },43784 .{ .src = .{ .to_gpr, .none, .none } },
39987 },43785 },
39988 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43786 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
39989 .each = .{ .once = &.{43787 .each = .{ .once = &.{
39990 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },43788 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },
39991 } },43789 } },
39992 }, .{43790 }, .{
39993 .required_features = .{ .@"64bit", null, null, null },43791 .required_features = .{ .@"64bit", null, null, null },
39994 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },43792 .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 },
39996 .patterns = &.{43794 .patterns = &.{
39997 .{ .src = .{ .mem, .none, .none } },43795 .{ .src = .{ .mem, .none, .none } },
39998 .{ .src = .{ .to_gpr, .none, .none } },43796 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40008,7 +43806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40008,7 +43806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40008 .unused,43806 .unused,
40009 .unused,43807 .unused,
40010 },43808 },
40011 .dst_temps = .{.mem},43809 .dst_temps = .{ .mem, .unused },
40012 .clobbers = .{ .eflags = true },43810 .clobbers = .{ .eflags = true },
40013 .each = .{ .once = &.{43811 .each = .{ .once = &.{
40014 .{ ._, ._, .movsx, .tmp0q, .src0w, ._, ._ },43812 .{ ._, ._, .movsx, .tmp0q, .src0w, ._, ._ },
...@@ -40021,7 +43819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40021,7 +43819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40021 }, .{43819 }, .{
40022 .required_features = .{ .@"64bit", null, null, null },43820 .required_features = .{ .@"64bit", null, null, null },
40023 .src_constraints = .{ .{ .int = .word }, .any, .any },43821 .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 },
40025 .patterns = &.{43823 .patterns = &.{
40026 .{ .src = .{ .mem, .none, .none } },43824 .{ .src = .{ .mem, .none, .none } },
40027 .{ .src = .{ .to_gpr, .none, .none } },43825 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40037,7 +43835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40037,7 +43835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40037 .unused,43835 .unused,
40038 .unused,43836 .unused,
40039 },43837 },
40040 .dst_temps = .{.mem},43838 .dst_temps = .{ .mem, .unused },
40041 .clobbers = .{ .eflags = true },43839 .clobbers = .{ .eflags = true },
40042 .each = .{ .once = &.{43840 .each = .{ .once = &.{
40043 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },43841 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
...@@ -40049,7 +43847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40049,7 +43847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40049 } },43847 } },
40050 }, .{43848 }, .{
40051 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },43849 .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 },
40053 .patterns = &.{43851 .patterns = &.{
40054 .{ .src = .{ .mem, .none, .none } },43852 .{ .src = .{ .mem, .none, .none } },
40055 .{ .src = .{ .to_gpr, .none, .none } },43853 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40065,7 +43863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40065,7 +43863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40065 .unused,43863 .unused,
40066 .unused,43864 .unused,
40067 },43865 },
40068 .dst_temps = .{.mem},43866 .dst_temps = .{ .mem, .unused },
40069 .clobbers = .{ .eflags = true },43867 .clobbers = .{ .eflags = true },
40070 .each = .{ .once = &.{43868 .each = .{ .once = &.{
40071 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },43869 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
...@@ -40077,7 +43875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40077,7 +43875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40077 } },43875 } },
40078 }, .{43876 }, .{
40079 .src_constraints = .{ .{ .int = .word }, .any, .any },43877 .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 },
40081 .patterns = &.{43879 .patterns = &.{
40082 .{ .src = .{ .mem, .none, .none } },43880 .{ .src = .{ .mem, .none, .none } },
40083 .{ .src = .{ .to_gpr, .none, .none } },43881 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40093,7 +43891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40093,7 +43891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40093 .unused,43891 .unused,
40094 .unused,43892 .unused,
40095 },43893 },
40096 .dst_temps = .{.mem},43894 .dst_temps = .{ .mem, .unused },
40097 .clobbers = .{ .eflags = true },43895 .clobbers = .{ .eflags = true },
40098 .each = .{ .once = &.{43896 .each = .{ .once = &.{
40099 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },43897 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
...@@ -40106,31 +43904,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40106,31 +43904,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40106 }, .{43904 }, .{
40107 .required_features = .{ .@"64bit", null, null, null },43905 .required_features = .{ .@"64bit", null, null, null },
40108 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },43906 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
40109 .dst_constraints = .{.{ .signed_int = .qword }},43907 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
40110 .patterns = &.{43908 .patterns = &.{
40111 .{ .src = .{ .mem, .none, .none } },43909 .{ .src = .{ .mem, .none, .none } },
40112 .{ .src = .{ .to_gpr, .none, .none } },43910 .{ .src = .{ .to_gpr, .none, .none } },
40113 },43911 },
40114 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43912 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
40115 .each = .{ .once = &.{43913 .each = .{ .once = &.{
40116 .{ ._, ._d, .movsx, .dst0q, .src0d, ._, ._ },43914 .{ ._, ._d, .movsx, .dst0q, .src0d, ._, ._ },
40117 } },43915 } },
40118 }, .{43916 }, .{
40119 .required_features = .{ .@"64bit", null, null, null },43917 .required_features = .{ .@"64bit", null, null, null },
40120 .src_constraints = .{ .{ .int = .dword }, .any, .any },43918 .src_constraints = .{ .{ .int = .dword }, .any, .any },
40121 .dst_constraints = .{.{ .int = .qword }},43919 .dst_constraints = .{ .{ .int = .qword }, .any },
40122 .patterns = &.{43920 .patterns = &.{
40123 .{ .src = .{ .mem, .none, .none } },43921 .{ .src = .{ .mem, .none, .none } },
40124 .{ .src = .{ .to_gpr, .none, .none } },43922 .{ .src = .{ .to_gpr, .none, .none } },
40125 },43923 },
40126 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},43924 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
40127 .each = .{ .once = &.{43925 .each = .{ .once = &.{
40128 .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ },43926 .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ },
40129 } },43927 } },
40130 }, .{43928 }, .{
40131 .required_features = .{ .@"64bit", null, null, null },43929 .required_features = .{ .@"64bit", null, null, null },
40132 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },43930 .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 },
40134 .patterns = &.{43932 .patterns = &.{
40135 .{ .src = .{ .mem, .none, .none } },43933 .{ .src = .{ .mem, .none, .none } },
40136 .{ .src = .{ .to_gpr, .none, .none } },43934 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40146,7 +43944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40146,7 +43944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40146 .unused,43944 .unused,
40147 .unused,43945 .unused,
40148 },43946 },
40149 .dst_temps = .{.mem},43947 .dst_temps = .{ .mem, .unused },
40150 .clobbers = .{ .eflags = true },43948 .clobbers = .{ .eflags = true },
40151 .each = .{ .once = &.{43949 .each = .{ .once = &.{
40152 .{ ._, ._d, .movsx, .tmp0q, .src0d, ._, ._ },43950 .{ ._, ._d, .movsx, .tmp0q, .src0d, ._, ._ },
...@@ -40159,7 +43957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40159,7 +43957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40159 }, .{43957 }, .{
40160 .required_features = .{ .@"64bit", null, null, null },43958 .required_features = .{ .@"64bit", null, null, null },
40161 .src_constraints = .{ .{ .int = .dword }, .any, .any },43959 .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 },
40163 .patterns = &.{43961 .patterns = &.{
40164 .{ .src = .{ .mem, .none, .none } },43962 .{ .src = .{ .mem, .none, .none } },
40165 .{ .src = .{ .to_gpr, .none, .none } },43963 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40175,7 +43973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40175,7 +43973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40175 .unused,43973 .unused,
40176 .unused,43974 .unused,
40177 },43975 },
40178 .dst_temps = .{.mem},43976 .dst_temps = .{ .mem, .unused },
40179 .clobbers = .{ .eflags = true },43977 .clobbers = .{ .eflags = true },
40180 .each = .{ .once = &.{43978 .each = .{ .once = &.{
40181 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },43979 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
...@@ -40187,7 +43985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40187,7 +43985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40187 } },43985 } },
40188 }, .{43986 }, .{
40189 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },43987 .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 },
40191 .patterns = &.{43989 .patterns = &.{
40192 .{ .src = .{ .mem, .none, .none } },43990 .{ .src = .{ .mem, .none, .none } },
40193 .{ .src = .{ .to_gpr, .none, .none } },43991 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40203,7 +44001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40203,7 +44001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40203 .unused,44001 .unused,
40204 .unused,44002 .unused,
40205 },44003 },
40206 .dst_temps = .{.mem},44004 .dst_temps = .{ .mem, .unused },
40207 .clobbers = .{ .eflags = true },44005 .clobbers = .{ .eflags = true },
40208 .each = .{ .once = &.{44006 .each = .{ .once = &.{
40209 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },44007 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
...@@ -40215,7 +44013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40215,7 +44013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40215 } },44013 } },
40216 }, .{44014 }, .{
40217 .src_constraints = .{ .{ .int = .dword }, .any, .any },44015 .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 },
40219 .patterns = &.{44017 .patterns = &.{
40220 .{ .src = .{ .mem, .none, .none } },44018 .{ .src = .{ .mem, .none, .none } },
40221 .{ .src = .{ .to_gpr, .none, .none } },44019 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40231,7 +44029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40231,7 +44029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40231 .unused,44029 .unused,
40232 .unused,44030 .unused,
40233 },44031 },
40234 .dst_temps = .{.mem},44032 .dst_temps = .{ .mem, .unused },
40235 .clobbers = .{ .eflags = true },44033 .clobbers = .{ .eflags = true },
40236 .each = .{ .once = &.{44034 .each = .{ .once = &.{
40237 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },44035 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
...@@ -40244,7 +44042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40244,7 +44042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40244 }, .{44042 }, .{
40245 .required_features = .{ .@"64bit", null, null, null },44043 .required_features = .{ .@"64bit", null, null, null },
40246 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },44044 .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 },
40248 .patterns = &.{44046 .patterns = &.{
40249 .{ .src = .{ .mem, .none, .none } },44047 .{ .src = .{ .mem, .none, .none } },
40250 .{ .src = .{ .to_gpr, .none, .none } },44048 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40260,7 +44058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40260,7 +44058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40260 .unused,44058 .unused,
40261 .unused,44059 .unused,
40262 },44060 },
40263 .dst_temps = .{.mem},44061 .dst_temps = .{ .mem, .unused },
40264 .clobbers = .{ .eflags = true },44062 .clobbers = .{ .eflags = true },
40265 .each = .{ .once = &.{44063 .each = .{ .once = &.{
40266 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },44064 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
...@@ -40273,7 +44071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40273,7 +44071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40273 }, .{44071 }, .{
40274 .required_features = .{ .@"64bit", null, null, null },44072 .required_features = .{ .@"64bit", null, null, null },
40275 .src_constraints = .{ .{ .int = .qword }, .any, .any },44073 .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 },
40277 .patterns = &.{44075 .patterns = &.{
40278 .{ .src = .{ .mem, .none, .none } },44076 .{ .src = .{ .mem, .none, .none } },
40279 .{ .src = .{ .to_gpr, .none, .none } },44077 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -40289,7 +44087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40289,7 +44087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40289 .unused,44087 .unused,
40290 .unused,44088 .unused,
40291 },44089 },
40292 .dst_temps = .{.mem},44090 .dst_temps = .{ .mem, .unused },
40293 .clobbers = .{ .eflags = true },44091 .clobbers = .{ .eflags = true },
40294 .each = .{ .once = &.{44092 .each = .{ .once = &.{
40295 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },44093 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
...@@ -40302,7 +44100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40302,7 +44100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40302 }, .{44100 }, .{
40303 .required_features = .{ .@"64bit", null, null, null },44101 .required_features = .{ .@"64bit", null, null, null },
40304 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },44102 .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 },
40306 .patterns = &.{44104 .patterns = &.{
40307 .{ .src = .{ .to_mem, .none, .none } },44105 .{ .src = .{ .to_mem, .none, .none } },
40308 },44106 },
...@@ -40317,7 +44115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40317,7 +44115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40317 .unused,44115 .unused,
40318 .unused,44116 .unused,
40319 },44117 },
40320 .dst_temps = .{.mem},44118 .dst_temps = .{ .mem, .unused },
40321 .clobbers = .{ .eflags = true },44119 .clobbers = .{ .eflags = true },
40322 .each = .{ .once = &.{44120 .each = .{ .once = &.{
40323 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },44121 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -40333,7 +44131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40333,7 +44131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40333 }, .{44131 }, .{
40334 .required_features = .{ .@"64bit", null, null, null },44132 .required_features = .{ .@"64bit", null, null, null },
40335 .src_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },44133 .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 },
40337 .patterns = &.{44135 .patterns = &.{
40338 .{ .src = .{ .to_mem, .none, .none } },44136 .{ .src = .{ .to_mem, .none, .none } },
40339 },44137 },
...@@ -40348,7 +44146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40348,7 +44146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40348 .unused,44146 .unused,
40349 .unused,44147 .unused,
40350 },44148 },
40351 .dst_temps = .{.mem},44149 .dst_temps = .{ .mem, .unused },
40352 .clobbers = .{ .eflags = true },44150 .clobbers = .{ .eflags = true },
40353 .each = .{ .once = &.{44151 .each = .{ .once = &.{
40354 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },44152 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -40362,55 +44160,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40362,55 +44160,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40362 }, .{44160 }, .{
40363 .required_features = .{ .avx, null, null, null },44161 .required_features = .{ .avx, null, null, null },
40364 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44162 .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 },
40366 .patterns = &.{44164 .patterns = &.{
40367 .{ .src = .{ .mem, .none, .none } },44165 .{ .src = .{ .mem, .none, .none } },
40368 .{ .src = .{ .to_sse, .none, .none } },44166 .{ .src = .{ .to_sse, .none, .none } },
40369 },44167 },
40370 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44168 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40371 .each = .{ .once = &.{44169 .each = .{ .once = &.{
40372 .{ ._, .vp_w, .movsxb, .dst0x, .src0q, ._, ._ },44170 .{ ._, .vp_w, .movsxb, .dst0x, .src0q, ._, ._ },
40373 } },44171 } },
40374 }, .{44172 }, .{
40375 .required_features = .{ .avx, null, null, null },44173 .required_features = .{ .avx, null, null, null },
40376 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44174 .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 },
40378 .patterns = &.{44176 .patterns = &.{
40379 .{ .src = .{ .mem, .none, .none } },44177 .{ .src = .{ .mem, .none, .none } },
40380 .{ .src = .{ .to_sse, .none, .none } },44178 .{ .src = .{ .to_sse, .none, .none } },
40381 },44179 },
40382 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44180 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40383 .each = .{ .once = &.{44181 .each = .{ .once = &.{
40384 .{ ._, .vp_w, .movzxb, .dst0x, .src0q, ._, ._ },44182 .{ ._, .vp_w, .movzxb, .dst0x, .src0q, ._, ._ },
40385 } },44183 } },
40386 }, .{44184 }, .{
40387 .required_features = .{ .sse4_1, null, null, null },44185 .required_features = .{ .sse4_1, null, null, null },
40388 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44186 .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 },
40390 .patterns = &.{44188 .patterns = &.{
40391 .{ .src = .{ .mem, .none, .none } },44189 .{ .src = .{ .mem, .none, .none } },
40392 .{ .src = .{ .to_sse, .none, .none } },44190 .{ .src = .{ .to_sse, .none, .none } },
40393 },44191 },
40394 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44192 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40395 .each = .{ .once = &.{44193 .each = .{ .once = &.{
40396 .{ ._, .p_w, .movsxb, .dst0x, .src0q, ._, ._ },44194 .{ ._, .p_w, .movsxb, .dst0x, .src0q, ._, ._ },
40397 } },44195 } },
40398 }, .{44196 }, .{
40399 .required_features = .{ .sse4_1, null, null, null },44197 .required_features = .{ .sse4_1, null, null, null },
40400 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44198 .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 },
40402 .patterns = &.{44200 .patterns = &.{
40403 .{ .src = .{ .mem, .none, .none } },44201 .{ .src = .{ .mem, .none, .none } },
40404 .{ .src = .{ .to_sse, .none, .none } },44202 .{ .src = .{ .to_sse, .none, .none } },
40405 },44203 },
40406 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44204 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40407 .each = .{ .once = &.{44205 .each = .{ .once = &.{
40408 .{ ._, .p_w, .movzxb, .dst0x, .src0q, ._, ._ },44206 .{ ._, .p_w, .movzxb, .dst0x, .src0q, ._, ._ },
40409 } },44207 } },
40410 }, .{44208 }, .{
40411 .required_features = .{ .sse2, null, null, null },44209 .required_features = .{ .sse2, null, null, null },
40412 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44210 .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 },
40414 .patterns = &.{44212 .patterns = &.{
40415 .{ .src = .{ .to_mut_sse, .none, .none } },44213 .{ .src = .{ .to_mut_sse, .none, .none } },
40416 },44214 },
...@@ -40425,7 +44223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40425,7 +44223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40425 .unused,44223 .unused,
40426 .unused,44224 .unused,
40427 },44225 },
40428 .dst_temps = .{.{ .ref = .src0 }},44226 .dst_temps = .{ .{ .ref = .src0 }, .unused },
40429 .each = .{ .once = &.{44227 .each = .{ .once = &.{
40430 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },44228 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
40431 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },44229 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -40434,7 +44232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40434,7 +44232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40434 }, .{44232 }, .{
40435 .required_features = .{ .sse2, null, null, null },44233 .required_features = .{ .sse2, null, null, null },
40436 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44234 .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 },
40438 .patterns = &.{44236 .patterns = &.{
40439 .{ .src = .{ .to_mut_sse, .none, .none } },44237 .{ .src = .{ .to_mut_sse, .none, .none } },
40440 },44238 },
...@@ -40449,7 +44247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40449,7 +44247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40449 .unused,44247 .unused,
40450 .unused,44248 .unused,
40451 },44249 },
40452 .dst_temps = .{.{ .ref = .src0 }},44250 .dst_temps = .{ .{ .ref = .src0 }, .unused },
40453 .each = .{ .once = &.{44251 .each = .{ .once = &.{
40454 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },44252 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
40455 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },44253 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
...@@ -40457,31 +44255,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40457,31 +44255,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40457 }, .{44255 }, .{
40458 .required_features = .{ .avx2, null, null, null },44256 .required_features = .{ .avx2, null, null, null },
40459 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },44257 .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 },
40461 .patterns = &.{44259 .patterns = &.{
40462 .{ .src = .{ .mem, .none, .none } },44260 .{ .src = .{ .mem, .none, .none } },
40463 .{ .src = .{ .to_sse, .none, .none } },44261 .{ .src = .{ .to_sse, .none, .none } },
40464 },44262 },
40465 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44263 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40466 .each = .{ .once = &.{44264 .each = .{ .once = &.{
40467 .{ ._, .vp_w, .movsxb, .dst0y, .src0x, ._, ._ },44265 .{ ._, .vp_w, .movsxb, .dst0y, .src0x, ._, ._ },
40468 } },44266 } },
40469 }, .{44267 }, .{
40470 .required_features = .{ .avx2, null, null, null },44268 .required_features = .{ .avx2, null, null, null },
40471 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },44269 .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 },
40473 .patterns = &.{44271 .patterns = &.{
40474 .{ .src = .{ .mem, .none, .none } },44272 .{ .src = .{ .mem, .none, .none } },
40475 .{ .src = .{ .to_sse, .none, .none } },44273 .{ .src = .{ .to_sse, .none, .none } },
40476 },44274 },
40477 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44275 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40478 .each = .{ .once = &.{44276 .each = .{ .once = &.{
40479 .{ ._, .vp_w, .movzxb, .dst0y, .src0x, ._, ._ },44277 .{ ._, .vp_w, .movzxb, .dst0y, .src0x, ._, ._ },
40480 } },44278 } },
40481 }, .{44279 }, .{
40482 .required_features = .{ .avx2, null, null, null },44280 .required_features = .{ .avx2, null, null, null },
40483 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },44281 .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 },
40485 .patterns = &.{44283 .patterns = &.{
40486 .{ .src = .{ .to_mem, .none, .none } },44284 .{ .src = .{ .to_mem, .none, .none } },
40487 },44285 },
...@@ -40496,7 +44294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40496,7 +44294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40496 .unused,44294 .unused,
40497 .unused,44295 .unused,
40498 },44296 },
40499 .dst_temps = .{.mem},44297 .dst_temps = .{ .mem, .unused },
40500 .clobbers = .{ .eflags = true },44298 .clobbers = .{ .eflags = true },
40501 .each = .{ .once = &.{44299 .each = .{ .once = &.{
40502 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44300 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40508,7 +44306,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40508,7 +44306,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40508 }, .{44306 }, .{
40509 .required_features = .{ .avx2, null, null, null },44307 .required_features = .{ .avx2, null, null, null },
40510 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },44308 .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 },
40512 .patterns = &.{44310 .patterns = &.{
40513 .{ .src = .{ .to_mem, .none, .none } },44311 .{ .src = .{ .to_mem, .none, .none } },
40514 },44312 },
...@@ -40523,7 +44321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40523,7 +44321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40523 .unused,44321 .unused,
40524 .unused,44322 .unused,
40525 },44323 },
40526 .dst_temps = .{.mem},44324 .dst_temps = .{ .mem, .unused },
40527 .clobbers = .{ .eflags = true },44325 .clobbers = .{ .eflags = true },
40528 .each = .{ .once = &.{44326 .each = .{ .once = &.{
40529 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44327 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40535,7 +44333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40535,7 +44333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40535 }, .{44333 }, .{
40536 .required_features = .{ .avx, null, null, null },44334 .required_features = .{ .avx, null, null, null },
40537 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44335 .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 },
40539 .patterns = &.{44337 .patterns = &.{
40540 .{ .src = .{ .to_mem, .none, .none } },44338 .{ .src = .{ .to_mem, .none, .none } },
40541 },44339 },
...@@ -40550,7 +44348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40550,7 +44348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40550 .unused,44348 .unused,
40551 .unused,44349 .unused,
40552 },44350 },
40553 .dst_temps = .{.mem},44351 .dst_temps = .{ .mem, .unused },
40554 .clobbers = .{ .eflags = true },44352 .clobbers = .{ .eflags = true },
40555 .each = .{ .once = &.{44353 .each = .{ .once = &.{
40556 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44354 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40562,7 +44360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40562,7 +44360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40562 }, .{44360 }, .{
40563 .required_features = .{ .avx, null, null, null },44361 .required_features = .{ .avx, null, null, null },
40564 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44362 .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 },
40566 .patterns = &.{44364 .patterns = &.{
40567 .{ .src = .{ .to_mem, .none, .none } },44365 .{ .src = .{ .to_mem, .none, .none } },
40568 },44366 },
...@@ -40577,7 +44375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40577,7 +44375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40577 .unused,44375 .unused,
40578 .unused,44376 .unused,
40579 },44377 },
40580 .dst_temps = .{.mem},44378 .dst_temps = .{ .mem, .unused },
40581 .clobbers = .{ .eflags = true },44379 .clobbers = .{ .eflags = true },
40582 .each = .{ .once = &.{44380 .each = .{ .once = &.{
40583 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44381 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40589,7 +44387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40589,7 +44387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40589 }, .{44387 }, .{
40590 .required_features = .{ .sse4_1, null, null, null },44388 .required_features = .{ .sse4_1, null, null, null },
40591 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44389 .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 },
40593 .patterns = &.{44391 .patterns = &.{
40594 .{ .src = .{ .to_mem, .none, .none } },44392 .{ .src = .{ .to_mem, .none, .none } },
40595 },44393 },
...@@ -40604,7 +44402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40604,7 +44402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40604 .unused,44402 .unused,
40605 .unused,44403 .unused,
40606 },44404 },
40607 .dst_temps = .{.mem},44405 .dst_temps = .{ .mem, .unused },
40608 .clobbers = .{ .eflags = true },44406 .clobbers = .{ .eflags = true },
40609 .each = .{ .once = &.{44407 .each = .{ .once = &.{
40610 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44408 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40616,7 +44414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40616,7 +44414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40616 }, .{44414 }, .{
40617 .required_features = .{ .sse4_1, null, null, null },44415 .required_features = .{ .sse4_1, null, null, null },
40618 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44416 .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 },
40620 .patterns = &.{44418 .patterns = &.{
40621 .{ .src = .{ .to_mem, .none, .none } },44419 .{ .src = .{ .to_mem, .none, .none } },
40622 },44420 },
...@@ -40631,7 +44429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40631,7 +44429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40631 .unused,44429 .unused,
40632 .unused,44430 .unused,
40633 },44431 },
40634 .dst_temps = .{.mem},44432 .dst_temps = .{ .mem, .unused },
40635 .clobbers = .{ .eflags = true },44433 .clobbers = .{ .eflags = true },
40636 .each = .{ .once = &.{44434 .each = .{ .once = &.{
40637 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40643,7 +44441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40643,7 +44441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40643 }, .{44441 }, .{
40644 .required_features = .{ .slow_incdec, null, null, null },44442 .required_features = .{ .slow_incdec, null, null, null },
40645 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },44443 .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 },
40647 .patterns = &.{44445 .patterns = &.{
40648 .{ .src = .{ .to_mem, .none, .none } },44446 .{ .src = .{ .to_mem, .none, .none } },
40649 },44447 },
...@@ -40658,7 +44456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40658,7 +44456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40658 .unused,44456 .unused,
40659 .unused,44457 .unused,
40660 },44458 },
40661 .dst_temps = .{.mem},44459 .dst_temps = .{ .mem, .unused },
40662 .clobbers = .{ .eflags = true },44460 .clobbers = .{ .eflags = true },
40663 .each = .{ .once = &.{44461 .each = .{ .once = &.{
40664 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44462 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40669,7 +44467,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40669,7 +44467,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40669 } },44467 } },
40670 }, .{44468 }, .{
40671 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },44469 .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 },
40673 .patterns = &.{44471 .patterns = &.{
40674 .{ .src = .{ .to_mem, .none, .none } },44472 .{ .src = .{ .to_mem, .none, .none } },
40675 },44473 },
...@@ -40684,7 +44482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40684,7 +44482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40684 .unused,44482 .unused,
40685 .unused,44483 .unused,
40686 },44484 },
40687 .dst_temps = .{.mem},44485 .dst_temps = .{ .mem, .unused },
40688 .clobbers = .{ .eflags = true },44486 .clobbers = .{ .eflags = true },
40689 .each = .{ .once = &.{44487 .each = .{ .once = &.{
40690 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44488 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40696,7 +44494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40696,7 +44494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40696 }, .{44494 }, .{
40697 .required_features = .{ .slow_incdec, null, null, null },44495 .required_features = .{ .slow_incdec, null, null, null },
40698 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },44496 .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 },
40700 .patterns = &.{44498 .patterns = &.{
40701 .{ .src = .{ .to_mem, .none, .none } },44499 .{ .src = .{ .to_mem, .none, .none } },
40702 },44500 },
...@@ -40711,7 +44509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40711,7 +44509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40711 .unused,44509 .unused,
40712 .unused,44510 .unused,
40713 },44511 },
40714 .dst_temps = .{.mem},44512 .dst_temps = .{ .mem, .unused },
40715 .clobbers = .{ .eflags = true },44513 .clobbers = .{ .eflags = true },
40716 .each = .{ .once = &.{44514 .each = .{ .once = &.{
40717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44515 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40722,7 +44520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40722,7 +44520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40722 } },44520 } },
40723 }, .{44521 }, .{
40724 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },44522 .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 },
40726 .patterns = &.{44524 .patterns = &.{
40727 .{ .src = .{ .to_mem, .none, .none } },44525 .{ .src = .{ .to_mem, .none, .none } },
40728 },44526 },
...@@ -40737,7 +44535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40737,7 +44535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40737 .unused,44535 .unused,
40738 .unused,44536 .unused,
40739 },44537 },
40740 .dst_temps = .{.mem},44538 .dst_temps = .{ .mem, .unused },
40741 .clobbers = .{ .eflags = true },44539 .clobbers = .{ .eflags = true },
40742 .each = .{ .once = &.{44540 .each = .{ .once = &.{
40743 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40749,55 +44547,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40749,55 +44547,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40749 }, .{44547 }, .{
40750 .required_features = .{ .avx, null, null, null },44548 .required_features = .{ .avx, null, null, null },
40751 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },44549 .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 },
40753 .patterns = &.{44551 .patterns = &.{
40754 .{ .src = .{ .mem, .none, .none } },44552 .{ .src = .{ .mem, .none, .none } },
40755 .{ .src = .{ .to_sse, .none, .none } },44553 .{ .src = .{ .to_sse, .none, .none } },
40756 },44554 },
40757 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44555 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40758 .each = .{ .once = &.{44556 .each = .{ .once = &.{
40759 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },44557 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
40760 } },44558 } },
40761 }, .{44559 }, .{
40762 .required_features = .{ .avx, null, null, null },44560 .required_features = .{ .avx, null, null, null },
40763 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },44561 .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 },
40765 .patterns = &.{44563 .patterns = &.{
40766 .{ .src = .{ .mem, .none, .none } },44564 .{ .src = .{ .mem, .none, .none } },
40767 .{ .src = .{ .to_sse, .none, .none } },44565 .{ .src = .{ .to_sse, .none, .none } },
40768 },44566 },
40769 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44567 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40770 .each = .{ .once = &.{44568 .each = .{ .once = &.{
40771 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },44569 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
40772 } },44570 } },
40773 }, .{44571 }, .{
40774 .required_features = .{ .sse4_1, null, null, null },44572 .required_features = .{ .sse4_1, null, null, null },
40775 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },44573 .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 },
40777 .patterns = &.{44575 .patterns = &.{
40778 .{ .src = .{ .mem, .none, .none } },44576 .{ .src = .{ .mem, .none, .none } },
40779 .{ .src = .{ .to_sse, .none, .none } },44577 .{ .src = .{ .to_sse, .none, .none } },
40780 },44578 },
40781 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44579 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40782 .each = .{ .once = &.{44580 .each = .{ .once = &.{
40783 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },44581 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },
40784 } },44582 } },
40785 }, .{44583 }, .{
40786 .required_features = .{ .sse4_1, null, null, null },44584 .required_features = .{ .sse4_1, null, null, null },
40787 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },44585 .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 },
40789 .patterns = &.{44587 .patterns = &.{
40790 .{ .src = .{ .mem, .none, .none } },44588 .{ .src = .{ .mem, .none, .none } },
40791 .{ .src = .{ .to_sse, .none, .none } },44589 .{ .src = .{ .to_sse, .none, .none } },
40792 },44590 },
40793 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44591 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40794 .each = .{ .once = &.{44592 .each = .{ .once = &.{
40795 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },44593 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },
40796 } },44594 } },
40797 }, .{44595 }, .{
40798 .required_features = .{ .sse2, null, null, null },44596 .required_features = .{ .sse2, null, null, null },
40799 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },44597 .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 },
40801 .patterns = &.{44599 .patterns = &.{
40802 .{ .src = .{ .to_mut_sse, .none, .none } },44600 .{ .src = .{ .to_mut_sse, .none, .none } },
40803 },44601 },
...@@ -40812,7 +44610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40812,7 +44610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40812 .unused,44610 .unused,
40813 .unused,44611 .unused,
40814 },44612 },
40815 .dst_temps = .{.{ .ref = .src0 }},44613 .dst_temps = .{ .{ .ref = .src0 }, .unused },
40816 .each = .{ .once = &.{44614 .each = .{ .once = &.{
40817 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },44615 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
40818 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },44616 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -40823,7 +44621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40823,7 +44621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40823 }, .{44621 }, .{
40824 .required_features = .{ .sse2, null, null, null },44622 .required_features = .{ .sse2, null, null, null },
40825 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },44623 .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 },
40827 .patterns = &.{44625 .patterns = &.{
40828 .{ .src = .{ .to_mut_sse, .none, .none } },44626 .{ .src = .{ .to_mut_sse, .none, .none } },
40829 },44627 },
...@@ -40838,7 +44636,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40838,7 +44636,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40838 .unused,44636 .unused,
40839 .unused,44637 .unused,
40840 },44638 },
40841 .dst_temps = .{.{ .ref = .src0 }},44639 .dst_temps = .{ .{ .ref = .src0 }, .unused },
40842 .each = .{ .once = &.{44640 .each = .{ .once = &.{
40843 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },44641 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
40844 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },44642 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
...@@ -40847,31 +44645,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40847,31 +44645,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40847 }, .{44645 }, .{
40848 .required_features = .{ .avx2, null, null, null },44646 .required_features = .{ .avx2, null, null, null },
40849 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44647 .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 },
40851 .patterns = &.{44649 .patterns = &.{
40852 .{ .src = .{ .mem, .none, .none } },44650 .{ .src = .{ .mem, .none, .none } },
40853 .{ .src = .{ .to_sse, .none, .none } },44651 .{ .src = .{ .to_sse, .none, .none } },
40854 },44652 },
40855 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44653 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40856 .each = .{ .once = &.{44654 .each = .{ .once = &.{
40857 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },44655 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },
40858 } },44656 } },
40859 }, .{44657 }, .{
40860 .required_features = .{ .avx2, null, null, null },44658 .required_features = .{ .avx2, null, null, null },
40861 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44659 .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 },
40863 .patterns = &.{44661 .patterns = &.{
40864 .{ .src = .{ .mem, .none, .none } },44662 .{ .src = .{ .mem, .none, .none } },
40865 .{ .src = .{ .to_sse, .none, .none } },44663 .{ .src = .{ .to_sse, .none, .none } },
40866 },44664 },
40867 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44665 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
40868 .each = .{ .once = &.{44666 .each = .{ .once = &.{
40869 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },44667 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },
40870 } },44668 } },
40871 }, .{44669 }, .{
40872 .required_features = .{ .avx2, null, null, null },44670 .required_features = .{ .avx2, null, null, null },
40873 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },44671 .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 },
40875 .patterns = &.{44673 .patterns = &.{
40876 .{ .src = .{ .to_mem, .none, .none } },44674 .{ .src = .{ .to_mem, .none, .none } },
40877 },44675 },
...@@ -40886,7 +44684,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40886,7 +44684,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40886 .unused,44684 .unused,
40887 .unused,44685 .unused,
40888 },44686 },
40889 .dst_temps = .{.mem},44687 .dst_temps = .{ .mem, .unused },
40890 .clobbers = .{ .eflags = true },44688 .clobbers = .{ .eflags = true },
40891 .each = .{ .once = &.{44689 .each = .{ .once = &.{
40892 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44690 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40898,7 +44696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40898,7 +44696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40898 }, .{44696 }, .{
40899 .required_features = .{ .avx2, null, null, null },44697 .required_features = .{ .avx2, null, null, null },
40900 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },44698 .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 },
40902 .patterns = &.{44700 .patterns = &.{
40903 .{ .src = .{ .to_mem, .none, .none } },44701 .{ .src = .{ .to_mem, .none, .none } },
40904 },44702 },
...@@ -40913,7 +44711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40913,7 +44711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40913 .unused,44711 .unused,
40914 .unused,44712 .unused,
40915 },44713 },
40916 .dst_temps = .{.mem},44714 .dst_temps = .{ .mem, .unused },
40917 .clobbers = .{ .eflags = true },44715 .clobbers = .{ .eflags = true },
40918 .each = .{ .once = &.{44716 .each = .{ .once = &.{
40919 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40925,7 +44723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40925,7 +44723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40925 }, .{44723 }, .{
40926 .required_features = .{ .avx, null, null, null },44724 .required_features = .{ .avx, null, null, null },
40927 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },44725 .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 },
40929 .patterns = &.{44727 .patterns = &.{
40930 .{ .src = .{ .to_mem, .none, .none } },44728 .{ .src = .{ .to_mem, .none, .none } },
40931 },44729 },
...@@ -40940,7 +44738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40940,7 +44738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40940 .unused,44738 .unused,
40941 .unused,44739 .unused,
40942 },44740 },
40943 .dst_temps = .{.mem},44741 .dst_temps = .{ .mem, .unused },
40944 .clobbers = .{ .eflags = true },44742 .clobbers = .{ .eflags = true },
40945 .each = .{ .once = &.{44743 .each = .{ .once = &.{
40946 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44744 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40952,7 +44750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40952,7 +44750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40952 }, .{44750 }, .{
40953 .required_features = .{ .avx, null, null, null },44751 .required_features = .{ .avx, null, null, null },
40954 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },44752 .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 },
40956 .patterns = &.{44754 .patterns = &.{
40957 .{ .src = .{ .to_mem, .none, .none } },44755 .{ .src = .{ .to_mem, .none, .none } },
40958 },44756 },
...@@ -40967,7 +44765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40967,7 +44765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40967 .unused,44765 .unused,
40968 .unused,44766 .unused,
40969 },44767 },
40970 .dst_temps = .{.mem},44768 .dst_temps = .{ .mem, .unused },
40971 .clobbers = .{ .eflags = true },44769 .clobbers = .{ .eflags = true },
40972 .each = .{ .once = &.{44770 .each = .{ .once = &.{
40973 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44771 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -40979,7 +44777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40979,7 +44777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40979 }, .{44777 }, .{
40980 .required_features = .{ .sse4_1, null, null, null },44778 .required_features = .{ .sse4_1, null, null, null },
40981 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },44779 .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 },
40983 .patterns = &.{44781 .patterns = &.{
40984 .{ .src = .{ .to_mem, .none, .none } },44782 .{ .src = .{ .to_mem, .none, .none } },
40985 },44783 },
...@@ -40994,7 +44792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -40994,7 +44792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40994 .unused,44792 .unused,
40995 .unused,44793 .unused,
40996 },44794 },
40997 .dst_temps = .{.mem},44795 .dst_temps = .{ .mem, .unused },
40998 .clobbers = .{ .eflags = true },44796 .clobbers = .{ .eflags = true },
40999 .each = .{ .once = &.{44797 .each = .{ .once = &.{
41000 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44798 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41006,7 +44804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41006,7 +44804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41006 }, .{44804 }, .{
41007 .required_features = .{ .sse4_1, null, null, null },44805 .required_features = .{ .sse4_1, null, null, null },
41008 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },44806 .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 },
41010 .patterns = &.{44808 .patterns = &.{
41011 .{ .src = .{ .to_mem, .none, .none } },44809 .{ .src = .{ .to_mem, .none, .none } },
41012 },44810 },
...@@ -41021,7 +44819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41021,7 +44819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41021 .unused,44819 .unused,
41022 .unused,44820 .unused,
41023 },44821 },
41024 .dst_temps = .{.mem},44822 .dst_temps = .{ .mem, .unused },
41025 .clobbers = .{ .eflags = true },44823 .clobbers = .{ .eflags = true },
41026 .each = .{ .once = &.{44824 .each = .{ .once = &.{
41027 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44825 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41033,7 +44831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41033,7 +44831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41033 }, .{44831 }, .{
41034 .required_features = .{ .slow_incdec, null, null, null },44832 .required_features = .{ .slow_incdec, null, null, null },
41035 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },44833 .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 },
41037 .patterns = &.{44835 .patterns = &.{
41038 .{ .src = .{ .to_mem, .none, .none } },44836 .{ .src = .{ .to_mem, .none, .none } },
41039 },44837 },
...@@ -41048,7 +44846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41048,7 +44846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41048 .unused,44846 .unused,
41049 .unused,44847 .unused,
41050 },44848 },
41051 .dst_temps = .{.mem},44849 .dst_temps = .{ .mem, .unused },
41052 .clobbers = .{ .eflags = true },44850 .clobbers = .{ .eflags = true },
41053 .each = .{ .once = &.{44851 .each = .{ .once = &.{
41054 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44852 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41059,7 +44857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41059,7 +44857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41059 } },44857 } },
41060 }, .{44858 }, .{
41061 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },44859 .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 },
41063 .patterns = &.{44861 .patterns = &.{
41064 .{ .src = .{ .to_mem, .none, .none } },44862 .{ .src = .{ .to_mem, .none, .none } },
41065 },44863 },
...@@ -41074,7 +44872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41074,7 +44872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41074 .unused,44872 .unused,
41075 .unused,44873 .unused,
41076 },44874 },
41077 .dst_temps = .{.mem},44875 .dst_temps = .{ .mem, .unused },
41078 .clobbers = .{ .eflags = true },44876 .clobbers = .{ .eflags = true },
41079 .each = .{ .once = &.{44877 .each = .{ .once = &.{
41080 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44878 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41086,7 +44884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41086,7 +44884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41086 }, .{44884 }, .{
41087 .required_features = .{ .slow_incdec, null, null, null },44885 .required_features = .{ .slow_incdec, null, null, null },
41088 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },44886 .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 },
41090 .patterns = &.{44888 .patterns = &.{
41091 .{ .src = .{ .to_mem, .none, .none } },44889 .{ .src = .{ .to_mem, .none, .none } },
41092 },44890 },
...@@ -41101,7 +44899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41101,7 +44899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41101 .unused,44899 .unused,
41102 .unused,44900 .unused,
41103 },44901 },
41104 .dst_temps = .{.mem},44902 .dst_temps = .{ .mem, .unused },
41105 .clobbers = .{ .eflags = true },44903 .clobbers = .{ .eflags = true },
41106 .each = .{ .once = &.{44904 .each = .{ .once = &.{
41107 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44905 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41112,7 +44910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41112,7 +44910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41112 } },44910 } },
41113 }, .{44911 }, .{
41114 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },44912 .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 },
41116 .patterns = &.{44914 .patterns = &.{
41117 .{ .src = .{ .to_mem, .none, .none } },44915 .{ .src = .{ .to_mem, .none, .none } },
41118 },44916 },
...@@ -41127,7 +44925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41127,7 +44925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41127 .unused,44925 .unused,
41128 .unused,44926 .unused,
41129 },44927 },
41130 .dst_temps = .{.mem},44928 .dst_temps = .{ .mem, .unused },
41131 .clobbers = .{ .eflags = true },44929 .clobbers = .{ .eflags = true },
41132 .each = .{ .once = &.{44930 .each = .{ .once = &.{
41133 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },44931 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41139,55 +44937,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41139,55 +44937,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41139 }, .{44937 }, .{
41140 .required_features = .{ .avx, null, null, null },44938 .required_features = .{ .avx, null, null, null },
41141 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },44939 .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 },
41143 .patterns = &.{44941 .patterns = &.{
41144 .{ .src = .{ .mem, .none, .none } },44942 .{ .src = .{ .mem, .none, .none } },
41145 .{ .src = .{ .to_sse, .none, .none } },44943 .{ .src = .{ .to_sse, .none, .none } },
41146 },44944 },
41147 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44945 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41148 .each = .{ .once = &.{44946 .each = .{ .once = &.{
41149 .{ ._, .vp_q, .movsxb, .dst0x, .src0w, ._, ._ },44947 .{ ._, .vp_q, .movsxb, .dst0x, .src0w, ._, ._ },
41150 } },44948 } },
41151 }, .{44949 }, .{
41152 .required_features = .{ .avx, null, null, null },44950 .required_features = .{ .avx, null, null, null },
41153 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },44951 .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 },
41155 .patterns = &.{44953 .patterns = &.{
41156 .{ .src = .{ .mem, .none, .none } },44954 .{ .src = .{ .mem, .none, .none } },
41157 .{ .src = .{ .to_sse, .none, .none } },44955 .{ .src = .{ .to_sse, .none, .none } },
41158 },44956 },
41159 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44957 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41160 .each = .{ .once = &.{44958 .each = .{ .once = &.{
41161 .{ ._, .vp_q, .movzxb, .dst0x, .src0w, ._, ._ },44959 .{ ._, .vp_q, .movzxb, .dst0x, .src0w, ._, ._ },
41162 } },44960 } },
41163 }, .{44961 }, .{
41164 .required_features = .{ .sse4_1, null, null, null },44962 .required_features = .{ .sse4_1, null, null, null },
41165 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },44963 .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 },
41167 .patterns = &.{44965 .patterns = &.{
41168 .{ .src = .{ .mem, .none, .none } },44966 .{ .src = .{ .mem, .none, .none } },
41169 .{ .src = .{ .to_sse, .none, .none } },44967 .{ .src = .{ .to_sse, .none, .none } },
41170 },44968 },
41171 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44969 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41172 .each = .{ .once = &.{44970 .each = .{ .once = &.{
41173 .{ ._, .p_q, .movsxb, .dst0x, .src0w, ._, ._ },44971 .{ ._, .p_q, .movsxb, .dst0x, .src0w, ._, ._ },
41174 } },44972 } },
41175 }, .{44973 }, .{
41176 .required_features = .{ .sse4_1, null, null, null },44974 .required_features = .{ .sse4_1, null, null, null },
41177 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },44975 .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 },
41179 .patterns = &.{44977 .patterns = &.{
41180 .{ .src = .{ .mem, .none, .none } },44978 .{ .src = .{ .mem, .none, .none } },
41181 .{ .src = .{ .to_sse, .none, .none } },44979 .{ .src = .{ .to_sse, .none, .none } },
41182 },44980 },
41183 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},44981 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41184 .each = .{ .once = &.{44982 .each = .{ .once = &.{
41185 .{ ._, .p_q, .movzxb, .dst0x, .src0w, ._, ._ },44983 .{ ._, .p_q, .movzxb, .dst0x, .src0w, ._, ._ },
41186 } },44984 } },
41187 }, .{44985 }, .{
41188 .required_features = .{ .sse2, null, null, null },44986 .required_features = .{ .sse2, null, null, null },
41189 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },44987 .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 },
41191 .patterns = &.{44989 .patterns = &.{
41192 .{ .src = .{ .to_mut_sse, .none, .none } },44990 .{ .src = .{ .to_mut_sse, .none, .none } },
41193 },44991 },
...@@ -41202,7 +45000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41202,7 +45000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41202 .unused,45000 .unused,
41203 .unused,45001 .unused,
41204 },45002 },
41205 .dst_temps = .{.{ .ref = .src0 }},45003 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41206 .each = .{ .once = &.{45004 .each = .{ .once = &.{
41207 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45005 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
41208 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },45006 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -41215,7 +45013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41215,7 +45013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41215 }, .{45013 }, .{
41216 .required_features = .{ .sse2, null, null, null },45014 .required_features = .{ .sse2, null, null, null },
41217 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },45015 .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 },
41219 .patterns = &.{45017 .patterns = &.{
41220 .{ .src = .{ .to_mut_sse, .none, .none } },45018 .{ .src = .{ .to_mut_sse, .none, .none } },
41221 },45019 },
...@@ -41230,7 +45028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41230,7 +45028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41230 .unused,45028 .unused,
41231 .unused,45029 .unused,
41232 },45030 },
41233 .dst_temps = .{.{ .ref = .src0 }},45031 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41234 .each = .{ .once = &.{45032 .each = .{ .once = &.{
41235 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45033 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
41236 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },45034 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
...@@ -41240,31 +45038,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41240,31 +45038,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41240 }, .{45038 }, .{
41241 .required_features = .{ .avx2, null, null, null },45039 .required_features = .{ .avx2, null, null, null },
41242 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },45040 .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 },
41244 .patterns = &.{45042 .patterns = &.{
41245 .{ .src = .{ .mem, .none, .none } },45043 .{ .src = .{ .mem, .none, .none } },
41246 .{ .src = .{ .to_sse, .none, .none } },45044 .{ .src = .{ .to_sse, .none, .none } },
41247 },45045 },
41248 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45046 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41249 .each = .{ .once = &.{45047 .each = .{ .once = &.{
41250 .{ ._, .vp_q, .movsxb, .dst0y, .src0d, ._, ._ },45048 .{ ._, .vp_q, .movsxb, .dst0y, .src0d, ._, ._ },
41251 } },45049 } },
41252 }, .{45050 }, .{
41253 .required_features = .{ .avx2, null, null, null },45051 .required_features = .{ .avx2, null, null, null },
41254 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },45052 .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 },
41256 .patterns = &.{45054 .patterns = &.{
41257 .{ .src = .{ .mem, .none, .none } },45055 .{ .src = .{ .mem, .none, .none } },
41258 .{ .src = .{ .to_sse, .none, .none } },45056 .{ .src = .{ .to_sse, .none, .none } },
41259 },45057 },
41260 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45058 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41261 .each = .{ .once = &.{45059 .each = .{ .once = &.{
41262 .{ ._, .vp_q, .movzxb, .dst0y, .src0d, ._, ._ },45060 .{ ._, .vp_q, .movzxb, .dst0y, .src0d, ._, ._ },
41263 } },45061 } },
41264 }, .{45062 }, .{
41265 .required_features = .{ .avx2, null, null, null },45063 .required_features = .{ .avx2, null, null, null },
41266 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },45064 .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 },
41268 .patterns = &.{45066 .patterns = &.{
41269 .{ .src = .{ .to_mem, .none, .none } },45067 .{ .src = .{ .to_mem, .none, .none } },
41270 },45068 },
...@@ -41279,7 +45077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41279,7 +45077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41279 .unused,45077 .unused,
41280 .unused,45078 .unused,
41281 },45079 },
41282 .dst_temps = .{.mem},45080 .dst_temps = .{ .mem, .unused },
41283 .clobbers = .{ .eflags = true },45081 .clobbers = .{ .eflags = true },
41284 .each = .{ .once = &.{45082 .each = .{ .once = &.{
41285 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45083 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41291,7 +45089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41291,7 +45089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41291 }, .{45089 }, .{
41292 .required_features = .{ .avx2, null, null, null },45090 .required_features = .{ .avx2, null, null, null },
41293 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },45091 .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 },
41295 .patterns = &.{45093 .patterns = &.{
41296 .{ .src = .{ .to_mem, .none, .none } },45094 .{ .src = .{ .to_mem, .none, .none } },
41297 },45095 },
...@@ -41306,7 +45104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41306,7 +45104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41306 .unused,45104 .unused,
41307 .unused,45105 .unused,
41308 },45106 },
41309 .dst_temps = .{.mem},45107 .dst_temps = .{ .mem, .unused },
41310 .clobbers = .{ .eflags = true },45108 .clobbers = .{ .eflags = true },
41311 .each = .{ .once = &.{45109 .each = .{ .once = &.{
41312 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41318,7 +45116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41318,7 +45116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41318 }, .{45116 }, .{
41319 .required_features = .{ .avx, null, null, null },45117 .required_features = .{ .avx, null, null, null },
41320 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },45118 .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 },
41322 .patterns = &.{45120 .patterns = &.{
41323 .{ .src = .{ .to_mem, .none, .none } },45121 .{ .src = .{ .to_mem, .none, .none } },
41324 },45122 },
...@@ -41333,7 +45131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41333,7 +45131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41333 .unused,45131 .unused,
41334 .unused,45132 .unused,
41335 },45133 },
41336 .dst_temps = .{.mem},45134 .dst_temps = .{ .mem, .unused },
41337 .clobbers = .{ .eflags = true },45135 .clobbers = .{ .eflags = true },
41338 .each = .{ .once = &.{45136 .each = .{ .once = &.{
41339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41345,7 +45143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41345,7 +45143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41345 }, .{45143 }, .{
41346 .required_features = .{ .avx, null, null, null },45144 .required_features = .{ .avx, null, null, null },
41347 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },45145 .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 },
41349 .patterns = &.{45147 .patterns = &.{
41350 .{ .src = .{ .to_mem, .none, .none } },45148 .{ .src = .{ .to_mem, .none, .none } },
41351 },45149 },
...@@ -41360,7 +45158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41360,7 +45158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41360 .unused,45158 .unused,
41361 .unused,45159 .unused,
41362 },45160 },
41363 .dst_temps = .{.mem},45161 .dst_temps = .{ .mem, .unused },
41364 .clobbers = .{ .eflags = true },45162 .clobbers = .{ .eflags = true },
41365 .each = .{ .once = &.{45163 .each = .{ .once = &.{
41366 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45164 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41372,7 +45170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41372,7 +45170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41372 }, .{45170 }, .{
41373 .required_features = .{ .sse4_1, null, null, null },45171 .required_features = .{ .sse4_1, null, null, null },
41374 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },45172 .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 },
41376 .patterns = &.{45174 .patterns = &.{
41377 .{ .src = .{ .to_mem, .none, .none } },45175 .{ .src = .{ .to_mem, .none, .none } },
41378 },45176 },
...@@ -41387,7 +45185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41387,7 +45185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41387 .unused,45185 .unused,
41388 .unused,45186 .unused,
41389 },45187 },
41390 .dst_temps = .{.mem},45188 .dst_temps = .{ .mem, .unused },
41391 .clobbers = .{ .eflags = true },45189 .clobbers = .{ .eflags = true },
41392 .each = .{ .once = &.{45190 .each = .{ .once = &.{
41393 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45191 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41399,7 +45197,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41399,7 +45197,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41399 }, .{45197 }, .{
41400 .required_features = .{ .sse4_1, null, null, null },45198 .required_features = .{ .sse4_1, null, null, null },
41401 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },45199 .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 },
41403 .patterns = &.{45201 .patterns = &.{
41404 .{ .src = .{ .to_mem, .none, .none } },45202 .{ .src = .{ .to_mem, .none, .none } },
41405 },45203 },
...@@ -41414,7 +45212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41414,7 +45212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41414 .unused,45212 .unused,
41415 .unused,45213 .unused,
41416 },45214 },
41417 .dst_temps = .{.mem},45215 .dst_temps = .{ .mem, .unused },
41418 .clobbers = .{ .eflags = true },45216 .clobbers = .{ .eflags = true },
41419 .each = .{ .once = &.{45217 .each = .{ .once = &.{
41420 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45218 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41426,7 +45224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41426,7 +45224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41426 }, .{45224 }, .{
41427 .required_features = .{ .@"64bit", .slow_incdec, null, null },45225 .required_features = .{ .@"64bit", .slow_incdec, null, null },
41428 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45226 .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 },
41430 .patterns = &.{45228 .patterns = &.{
41431 .{ .src = .{ .to_mem, .none, .none } },45229 .{ .src = .{ .to_mem, .none, .none } },
41432 },45230 },
...@@ -41441,7 +45239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41441,7 +45239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41441 .unused,45239 .unused,
41442 .unused,45240 .unused,
41443 },45241 },
41444 .dst_temps = .{.mem},45242 .dst_temps = .{ .mem, .unused },
41445 .clobbers = .{ .eflags = true },45243 .clobbers = .{ .eflags = true },
41446 .each = .{ .once = &.{45244 .each = .{ .once = &.{
41447 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45245 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41453,7 +45251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41453,7 +45251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41453 }, .{45251 }, .{
41454 .required_features = .{ .@"64bit", null, null, null },45252 .required_features = .{ .@"64bit", null, null, null },
41455 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45253 .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 },
41457 .patterns = &.{45255 .patterns = &.{
41458 .{ .src = .{ .to_mem, .none, .none } },45256 .{ .src = .{ .to_mem, .none, .none } },
41459 },45257 },
...@@ -41468,7 +45266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41468,7 +45266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41468 .unused,45266 .unused,
41469 .unused,45267 .unused,
41470 },45268 },
41471 .dst_temps = .{.mem},45269 .dst_temps = .{ .mem, .unused },
41472 .clobbers = .{ .eflags = true },45270 .clobbers = .{ .eflags = true },
41473 .each = .{ .once = &.{45271 .each = .{ .once = &.{
41474 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45272 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41480,7 +45278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41480,7 +45278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41480 }, .{45278 }, .{
41481 .required_features = .{ .slow_incdec, null, null, null },45279 .required_features = .{ .slow_incdec, null, null, null },
41482 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45280 .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 },
41484 .patterns = &.{45282 .patterns = &.{
41485 .{ .src = .{ .to_mem, .none, .none } },45283 .{ .src = .{ .to_mem, .none, .none } },
41486 },45284 },
...@@ -41495,7 +45293,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41495,7 +45293,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41495 .unused,45293 .unused,
41496 .unused,45294 .unused,
41497 },45295 },
41498 .dst_temps = .{.mem},45296 .dst_temps = .{ .mem, .unused },
41499 .clobbers = .{ .eflags = true },45297 .clobbers = .{ .eflags = true },
41500 .each = .{ .once = &.{45298 .each = .{ .once = &.{
41501 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45299 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41506,7 +45304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41506,7 +45304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41506 } },45304 } },
41507 }, .{45305 }, .{
41508 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45306 .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 },
41510 .patterns = &.{45308 .patterns = &.{
41511 .{ .src = .{ .to_mem, .none, .none } },45309 .{ .src = .{ .to_mem, .none, .none } },
41512 },45310 },
...@@ -41521,7 +45319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41521,7 +45319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41521 .unused,45319 .unused,
41522 .unused,45320 .unused,
41523 },45321 },
41524 .dst_temps = .{.mem},45322 .dst_temps = .{ .mem, .unused },
41525 .clobbers = .{ .eflags = true },45323 .clobbers = .{ .eflags = true },
41526 .each = .{ .once = &.{45324 .each = .{ .once = &.{
41527 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45325 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41533,12 +45331,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41533,12 +45331,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41533 }, .{45331 }, .{
41534 .required_features = .{ .avx, null, null, null },45332 .required_features = .{ .avx, null, null, null },
41535 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45333 .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 },
41537 .patterns = &.{45335 .patterns = &.{
41538 .{ .src = .{ .mem, .none, .none } },45336 .{ .src = .{ .mem, .none, .none } },
41539 .{ .src = .{ .to_sse, .none, .none } },45337 .{ .src = .{ .to_sse, .none, .none } },
41540 },45338 },
41541 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45339 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41542 .each = .{ .once = &.{45340 .each = .{ .once = &.{
41543 .{ ._, .vp_q, .movsxb, .dst0x, .src0w, ._, ._ },45341 .{ ._, .vp_q, .movsxb, .dst0x, .src0w, ._, ._ },
41544 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },45342 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },
...@@ -41546,12 +45344,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41546,12 +45344,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41546 }, .{45344 }, .{
41547 .required_features = .{ .avx, null, null, null },45345 .required_features = .{ .avx, null, null, null },
41548 .src_constraints = .{ .{ .scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45346 .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 },
41550 .patterns = &.{45348 .patterns = &.{
41551 .{ .src = .{ .mem, .none, .none } },45349 .{ .src = .{ .mem, .none, .none } },
41552 .{ .src = .{ .to_sse, .none, .none } },45350 .{ .src = .{ .to_sse, .none, .none } },
41553 },45351 },
41554 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45352 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41555 .each = .{ .once = &.{45353 .each = .{ .once = &.{
41556 .{ ._, .vp_q, .movzxb, .dst0x, .src0w, ._, ._ },45354 .{ ._, .vp_q, .movzxb, .dst0x, .src0w, ._, ._ },
41557 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },45355 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },
...@@ -41559,12 +45357,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41559,12 +45357,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41559 }, .{45357 }, .{
41560 .required_features = .{ .sse4_1, null, null, null },45358 .required_features = .{ .sse4_1, null, null, null },
41561 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45359 .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 },
41563 .patterns = &.{45361 .patterns = &.{
41564 .{ .src = .{ .mem, .none, .none } },45362 .{ .src = .{ .mem, .none, .none } },
41565 .{ .src = .{ .to_sse, .none, .none } },45363 .{ .src = .{ .to_sse, .none, .none } },
41566 },45364 },
41567 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45365 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41568 .each = .{ .once = &.{45366 .each = .{ .once = &.{
41569 .{ ._, .p_q, .movsxb, .dst0x, .src0w, ._, ._ },45367 .{ ._, .p_q, .movsxb, .dst0x, .src0w, ._, ._ },
41570 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },45368 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },
...@@ -41572,12 +45370,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41572,12 +45370,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41572 }, .{45370 }, .{
41573 .required_features = .{ .sse4_1, null, null, null },45371 .required_features = .{ .sse4_1, null, null, null },
41574 .src_constraints = .{ .{ .scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45372 .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 },
41576 .patterns = &.{45374 .patterns = &.{
41577 .{ .src = .{ .mem, .none, .none } },45375 .{ .src = .{ .mem, .none, .none } },
41578 .{ .src = .{ .to_sse, .none, .none } },45376 .{ .src = .{ .to_sse, .none, .none } },
41579 },45377 },
41580 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45378 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41581 .each = .{ .once = &.{45379 .each = .{ .once = &.{
41582 .{ ._, .p_q, .movzxb, .dst0x, .src0w, ._, ._ },45380 .{ ._, .p_q, .movzxb, .dst0x, .src0w, ._, ._ },
41583 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },45381 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },
...@@ -41585,7 +45383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41585,7 +45383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41585 }, .{45383 }, .{
41586 .required_features = .{ .sse2, null, null, null },45384 .required_features = .{ .sse2, null, null, null },
41587 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45385 .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 },
41589 .patterns = &.{45387 .patterns = &.{
41590 .{ .src = .{ .to_mut_sse, .none, .none } },45388 .{ .src = .{ .to_mut_sse, .none, .none } },
41591 },45389 },
...@@ -41600,7 +45398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41600,7 +45398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41600 .unused,45398 .unused,
41601 .unused,45399 .unused,
41602 },45400 },
41603 .dst_temps = .{.{ .ref = .src0 }},45401 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41604 .each = .{ .once = &.{45402 .each = .{ .once = &.{
41605 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45403 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
41606 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },45404 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -41615,7 +45413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41615,7 +45413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41615 }, .{45413 }, .{
41616 .required_features = .{ .sse2, null, null, null },45414 .required_features = .{ .sse2, null, null, null },
41617 .src_constraints = .{ .{ .scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45415 .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 },
41619 .patterns = &.{45417 .patterns = &.{
41620 .{ .src = .{ .to_mut_sse, .none, .none } },45418 .{ .src = .{ .to_mut_sse, .none, .none } },
41621 },45419 },
...@@ -41630,7 +45428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41630,7 +45428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41630 .unused,45428 .unused,
41631 .unused,45429 .unused,
41632 },45430 },
41633 .dst_temps = .{.{ .ref = .src0 }},45431 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41634 .each = .{ .once = &.{45432 .each = .{ .once = &.{
41635 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45433 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
41636 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },45434 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
...@@ -41641,7 +45439,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41641,7 +45439,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41641 }, .{45439 }, .{
41642 .required_features = .{ .@"64bit", .slow_incdec, null, null },45440 .required_features = .{ .@"64bit", .slow_incdec, null, null },
41643 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45441 .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 },
41645 .patterns = &.{45443 .patterns = &.{
41646 .{ .src = .{ .to_mem, .none, .none } },45444 .{ .src = .{ .to_mem, .none, .none } },
41647 },45445 },
...@@ -41656,7 +45454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41656,7 +45454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41656 .unused,45454 .unused,
41657 .unused,45455 .unused,
41658 },45456 },
41659 .dst_temps = .{.mem},45457 .dst_temps = .{ .mem, .unused },
41660 .clobbers = .{ .eflags = true },45458 .clobbers = .{ .eflags = true },
41661 .each = .{ .once = &.{45459 .each = .{ .once = &.{
41662 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45460 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41672,7 +45470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41672,7 +45470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41672 }, .{45470 }, .{
41673 .required_features = .{ .@"64bit", null, null, null },45471 .required_features = .{ .@"64bit", null, null, null },
41674 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },45472 .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 },
41676 .patterns = &.{45474 .patterns = &.{
41677 .{ .src = .{ .to_mem, .none, .none } },45475 .{ .src = .{ .to_mem, .none, .none } },
41678 },45476 },
...@@ -41687,7 +45485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41687,7 +45485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41687 .unused,45485 .unused,
41688 .unused,45486 .unused,
41689 },45487 },
41690 .dst_temps = .{.mem},45488 .dst_temps = .{ .mem, .unused },
41691 .clobbers = .{ .eflags = true },45489 .clobbers = .{ .eflags = true },
41692 .each = .{ .once = &.{45490 .each = .{ .once = &.{
41693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45491 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41703,7 +45501,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41703,7 +45501,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41703 }, .{45501 }, .{
41704 .required_features = .{ .@"64bit", .slow_incdec, null, null },45502 .required_features = .{ .@"64bit", .slow_incdec, null, null },
41705 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45503 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41706 .dst_constraints = .{.any_scalar_int},45504 .dst_constraints = .{ .any_scalar_int, .any },
41707 .patterns = &.{45505 .patterns = &.{
41708 .{ .src = .{ .to_mem, .none, .none } },45506 .{ .src = .{ .to_mem, .none, .none } },
41709 },45507 },
...@@ -41718,7 +45516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41718,7 +45516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41718 .unused,45516 .unused,
41719 .unused,45517 .unused,
41720 },45518 },
41721 .dst_temps = .{.mem},45519 .dst_temps = .{ .mem, .unused },
41722 .clobbers = .{ .eflags = true },45520 .clobbers = .{ .eflags = true },
41723 .each = .{ .once = &.{45521 .each = .{ .once = &.{
41724 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45522 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41734,7 +45532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41734,7 +45532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41734 }, .{45532 }, .{
41735 .required_features = .{ .@"64bit", null, null, null },45533 .required_features = .{ .@"64bit", null, null, null },
41736 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },45534 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41737 .dst_constraints = .{.any_scalar_int},45535 .dst_constraints = .{ .any_scalar_int, .any },
41738 .patterns = &.{45536 .patterns = &.{
41739 .{ .src = .{ .to_mem, .none, .none } },45537 .{ .src = .{ .to_mem, .none, .none } },
41740 },45538 },
...@@ -41749,7 +45547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41749,7 +45547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41749 .unused,45547 .unused,
41750 .unused,45548 .unused,
41751 },45549 },
41752 .dst_temps = .{.mem},45550 .dst_temps = .{ .mem, .unused },
41753 .clobbers = .{ .eflags = true },45551 .clobbers = .{ .eflags = true },
41754 .each = .{ .once = &.{45552 .each = .{ .once = &.{
41755 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45553 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41765,55 +45563,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41765,55 +45563,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41765 }, .{45563 }, .{
41766 .required_features = .{ .avx, null, null, null },45564 .required_features = .{ .avx, null, null, null },
41767 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },45565 .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 },
41769 .patterns = &.{45567 .patterns = &.{
41770 .{ .src = .{ .mem, .none, .none } },45568 .{ .src = .{ .mem, .none, .none } },
41771 .{ .src = .{ .to_sse, .none, .none } },45569 .{ .src = .{ .to_sse, .none, .none } },
41772 },45570 },
41773 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45571 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41774 .each = .{ .once = &.{45572 .each = .{ .once = &.{
41775 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },45573 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
41776 } },45574 } },
41777 }, .{45575 }, .{
41778 .required_features = .{ .avx, null, null, null },45576 .required_features = .{ .avx, null, null, null },
41779 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },45577 .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 },
41781 .patterns = &.{45579 .patterns = &.{
41782 .{ .src = .{ .mem, .none, .none } },45580 .{ .src = .{ .mem, .none, .none } },
41783 .{ .src = .{ .to_sse, .none, .none } },45581 .{ .src = .{ .to_sse, .none, .none } },
41784 },45582 },
41785 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45583 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41786 .each = .{ .once = &.{45584 .each = .{ .once = &.{
41787 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },45585 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
41788 } },45586 } },
41789 }, .{45587 }, .{
41790 .required_features = .{ .sse4_1, null, null, null },45588 .required_features = .{ .sse4_1, null, null, null },
41791 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },45589 .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 },
41793 .patterns = &.{45591 .patterns = &.{
41794 .{ .src = .{ .mem, .none, .none } },45592 .{ .src = .{ .mem, .none, .none } },
41795 .{ .src = .{ .to_sse, .none, .none } },45593 .{ .src = .{ .to_sse, .none, .none } },
41796 },45594 },
41797 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45595 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41798 .each = .{ .once = &.{45596 .each = .{ .once = &.{
41799 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },45597 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },
41800 } },45598 } },
41801 }, .{45599 }, .{
41802 .required_features = .{ .sse4_1, null, null, null },45600 .required_features = .{ .sse4_1, null, null, null },
41803 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },45601 .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 },
41805 .patterns = &.{45603 .patterns = &.{
41806 .{ .src = .{ .mem, .none, .none } },45604 .{ .src = .{ .mem, .none, .none } },
41807 .{ .src = .{ .to_sse, .none, .none } },45605 .{ .src = .{ .to_sse, .none, .none } },
41808 },45606 },
41809 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45607 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41810 .each = .{ .once = &.{45608 .each = .{ .once = &.{
41811 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },45609 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },
41812 } },45610 } },
41813 }, .{45611 }, .{
41814 .required_features = .{ .sse2, null, null, null },45612 .required_features = .{ .sse2, null, null, null },
41815 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },45613 .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 },
41817 .patterns = &.{45615 .patterns = &.{
41818 .{ .src = .{ .to_mut_sse, .none, .none } },45616 .{ .src = .{ .to_mut_sse, .none, .none } },
41819 },45617 },
...@@ -41828,7 +45626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41828,7 +45626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41828 .unused,45626 .unused,
41829 .unused,45627 .unused,
41830 },45628 },
41831 .dst_temps = .{.{ .ref = .src0 }},45629 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41832 .each = .{ .once = &.{45630 .each = .{ .once = &.{
41833 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45631 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
41834 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },45632 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -41837,7 +45635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41837,7 +45635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41837 }, .{45635 }, .{
41838 .required_features = .{ .sse2, null, null, null },45636 .required_features = .{ .sse2, null, null, null },
41839 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },45637 .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 },
41841 .patterns = &.{45639 .patterns = &.{
41842 .{ .src = .{ .to_mut_sse, .none, .none } },45640 .{ .src = .{ .to_mut_sse, .none, .none } },
41843 },45641 },
...@@ -41852,7 +45650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41852,7 +45650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41852 .unused,45650 .unused,
41853 .unused,45651 .unused,
41854 },45652 },
41855 .dst_temps = .{.{ .ref = .src0 }},45653 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41856 .each = .{ .once = &.{45654 .each = .{ .once = &.{
41857 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45655 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
41858 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },45656 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },
...@@ -41860,31 +45658,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41860,31 +45658,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41860 }, .{45658 }, .{
41861 .required_features = .{ .avx2, null, null, null },45659 .required_features = .{ .avx2, null, null, null },
41862 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },45660 .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 },
41864 .patterns = &.{45662 .patterns = &.{
41865 .{ .src = .{ .mem, .none, .none } },45663 .{ .src = .{ .mem, .none, .none } },
41866 .{ .src = .{ .to_sse, .none, .none } },45664 .{ .src = .{ .to_sse, .none, .none } },
41867 },45665 },
41868 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45666 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41869 .each = .{ .once = &.{45667 .each = .{ .once = &.{
41870 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },45668 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },
41871 } },45669 } },
41872 }, .{45670 }, .{
41873 .required_features = .{ .avx2, null, null, null },45671 .required_features = .{ .avx2, null, null, null },
41874 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },45672 .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 },
41876 .patterns = &.{45674 .patterns = &.{
41877 .{ .src = .{ .mem, .none, .none } },45675 .{ .src = .{ .mem, .none, .none } },
41878 .{ .src = .{ .to_sse, .none, .none } },45676 .{ .src = .{ .to_sse, .none, .none } },
41879 },45677 },
41880 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45678 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
41881 .each = .{ .once = &.{45679 .each = .{ .once = &.{
41882 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },45680 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },
41883 } },45681 } },
41884 }, .{45682 }, .{
41885 .required_features = .{ .avx2, null, null, null },45683 .required_features = .{ .avx2, null, null, null },
41886 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },45684 .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 },
41888 .patterns = &.{45686 .patterns = &.{
41889 .{ .src = .{ .to_mem, .none, .none } },45687 .{ .src = .{ .to_mem, .none, .none } },
41890 },45688 },
...@@ -41899,7 +45697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41899,7 +45697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41899 .unused,45697 .unused,
41900 .unused,45698 .unused,
41901 },45699 },
41902 .dst_temps = .{.mem},45700 .dst_temps = .{ .mem, .unused },
41903 .clobbers = .{ .eflags = true },45701 .clobbers = .{ .eflags = true },
41904 .each = .{ .once = &.{45702 .each = .{ .once = &.{
41905 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45703 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41911,7 +45709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41911,7 +45709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41911 }, .{45709 }, .{
41912 .required_features = .{ .avx2, null, null, null },45710 .required_features = .{ .avx2, null, null, null },
41913 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },45711 .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 },
41915 .patterns = &.{45713 .patterns = &.{
41916 .{ .src = .{ .to_mem, .none, .none } },45714 .{ .src = .{ .to_mem, .none, .none } },
41917 },45715 },
...@@ -41926,7 +45724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41926,7 +45724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41926 .unused,45724 .unused,
41927 .unused,45725 .unused,
41928 },45726 },
41929 .dst_temps = .{.mem},45727 .dst_temps = .{ .mem, .unused },
41930 .clobbers = .{ .eflags = true },45728 .clobbers = .{ .eflags = true },
41931 .each = .{ .once = &.{45729 .each = .{ .once = &.{
41932 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45730 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41938,7 +45736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41938,7 +45736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41938 }, .{45736 }, .{
41939 .required_features = .{ .avx, null, null, null },45737 .required_features = .{ .avx, null, null, null },
41940 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },45738 .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 },
41942 .patterns = &.{45740 .patterns = &.{
41943 .{ .src = .{ .to_mem, .none, .none } },45741 .{ .src = .{ .to_mem, .none, .none } },
41944 },45742 },
...@@ -41953,7 +45751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41953,7 +45751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41953 .unused,45751 .unused,
41954 .unused,45752 .unused,
41955 },45753 },
41956 .dst_temps = .{.mem},45754 .dst_temps = .{ .mem, .unused },
41957 .clobbers = .{ .eflags = true },45755 .clobbers = .{ .eflags = true },
41958 .each = .{ .once = &.{45756 .each = .{ .once = &.{
41959 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45757 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41965,7 +45763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41965,7 +45763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41965 }, .{45763 }, .{
41966 .required_features = .{ .avx, null, null, null },45764 .required_features = .{ .avx, null, null, null },
41967 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },45765 .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 },
41969 .patterns = &.{45767 .patterns = &.{
41970 .{ .src = .{ .to_mem, .none, .none } },45768 .{ .src = .{ .to_mem, .none, .none } },
41971 },45769 },
...@@ -41980,7 +45778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41980,7 +45778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41980 .unused,45778 .unused,
41981 .unused,45779 .unused,
41982 },45780 },
41983 .dst_temps = .{.mem},45781 .dst_temps = .{ .mem, .unused },
41984 .clobbers = .{ .eflags = true },45782 .clobbers = .{ .eflags = true },
41985 .each = .{ .once = &.{45783 .each = .{ .once = &.{
41986 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45784 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -41992,7 +45790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -41992,7 +45790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41992 }, .{45790 }, .{
41993 .required_features = .{ .sse4_1, null, null, null },45791 .required_features = .{ .sse4_1, null, null, null },
41994 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },45792 .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 },
41996 .patterns = &.{45794 .patterns = &.{
41997 .{ .src = .{ .to_mem, .none, .none } },45795 .{ .src = .{ .to_mem, .none, .none } },
41998 },45796 },
...@@ -42007,7 +45805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42007,7 +45805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42007 .unused,45805 .unused,
42008 .unused,45806 .unused,
42009 },45807 },
42010 .dst_temps = .{.mem},45808 .dst_temps = .{ .mem, .unused },
42011 .clobbers = .{ .eflags = true },45809 .clobbers = .{ .eflags = true },
42012 .each = .{ .once = &.{45810 .each = .{ .once = &.{
42013 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45811 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42019,7 +45817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42019,7 +45817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42019 }, .{45817 }, .{
42020 .required_features = .{ .sse4_1, null, null, null },45818 .required_features = .{ .sse4_1, null, null, null },
42021 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },45819 .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 },
42023 .patterns = &.{45821 .patterns = &.{
42024 .{ .src = .{ .to_mem, .none, .none } },45822 .{ .src = .{ .to_mem, .none, .none } },
42025 },45823 },
...@@ -42034,7 +45832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42034,7 +45832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42034 .unused,45832 .unused,
42035 .unused,45833 .unused,
42036 },45834 },
42037 .dst_temps = .{.mem},45835 .dst_temps = .{ .mem, .unused },
42038 .clobbers = .{ .eflags = true },45836 .clobbers = .{ .eflags = true },
42039 .each = .{ .once = &.{45837 .each = .{ .once = &.{
42040 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42045,7 +45843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42045,7 +45843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42045 } },45843 } },
42046 }, .{45844 }, .{
42047 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },45845 .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 },
42049 .patterns = &.{45847 .patterns = &.{
42050 .{ .src = .{ .to_mem, .none, .none } },45848 .{ .src = .{ .to_mem, .none, .none } },
42051 },45849 },
...@@ -42060,7 +45858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42060,7 +45858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42060 .unused,45858 .unused,
42061 .unused,45859 .unused,
42062 },45860 },
42063 .dst_temps = .{.mem},45861 .dst_temps = .{ .mem, .unused },
42064 .clobbers = .{ .eflags = true },45862 .clobbers = .{ .eflags = true },
42065 .each = .{ .once = &.{45863 .each = .{ .once = &.{
42066 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45864 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42071,7 +45869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42071,7 +45869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42071 } },45869 } },
42072 }, .{45870 }, .{
42073 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },45871 .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 },
42075 .patterns = &.{45873 .patterns = &.{
42076 .{ .src = .{ .to_mem, .none, .none } },45874 .{ .src = .{ .to_mem, .none, .none } },
42077 },45875 },
...@@ -42086,7 +45884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42086,7 +45884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42086 .unused,45884 .unused,
42087 .unused,45885 .unused,
42088 },45886 },
42089 .dst_temps = .{.mem},45887 .dst_temps = .{ .mem, .unused },
42090 .clobbers = .{ .eflags = true },45888 .clobbers = .{ .eflags = true },
42091 .each = .{ .once = &.{45889 .each = .{ .once = &.{
42092 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },45890 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42098,55 +45896,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42098,55 +45896,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42098 }, .{45896 }, .{
42099 .required_features = .{ .avx, null, null, null },45897 .required_features = .{ .avx, null, null, null },
42100 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },45898 .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 },
42102 .patterns = &.{45900 .patterns = &.{
42103 .{ .src = .{ .mem, .none, .none } },45901 .{ .src = .{ .mem, .none, .none } },
42104 .{ .src = .{ .to_sse, .none, .none } },45902 .{ .src = .{ .to_sse, .none, .none } },
42105 },45903 },
42106 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45904 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42107 .each = .{ .once = &.{45905 .each = .{ .once = &.{
42108 .{ ._, .vp_q, .movsxw, .dst0x, .src0d, ._, ._ },45906 .{ ._, .vp_q, .movsxw, .dst0x, .src0d, ._, ._ },
42109 } },45907 } },
42110 }, .{45908 }, .{
42111 .required_features = .{ .avx, null, null, null },45909 .required_features = .{ .avx, null, null, null },
42112 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },45910 .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 },
42114 .patterns = &.{45912 .patterns = &.{
42115 .{ .src = .{ .mem, .none, .none } },45913 .{ .src = .{ .mem, .none, .none } },
42116 .{ .src = .{ .to_sse, .none, .none } },45914 .{ .src = .{ .to_sse, .none, .none } },
42117 },45915 },
42118 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45916 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42119 .each = .{ .once = &.{45917 .each = .{ .once = &.{
42120 .{ ._, .vp_q, .movzxw, .dst0x, .src0d, ._, ._ },45918 .{ ._, .vp_q, .movzxw, .dst0x, .src0d, ._, ._ },
42121 } },45919 } },
42122 }, .{45920 }, .{
42123 .required_features = .{ .sse4_1, null, null, null },45921 .required_features = .{ .sse4_1, null, null, null },
42124 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },45922 .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 },
42126 .patterns = &.{45924 .patterns = &.{
42127 .{ .src = .{ .mem, .none, .none } },45925 .{ .src = .{ .mem, .none, .none } },
42128 .{ .src = .{ .to_sse, .none, .none } },45926 .{ .src = .{ .to_sse, .none, .none } },
42129 },45927 },
42130 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45928 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42131 .each = .{ .once = &.{45929 .each = .{ .once = &.{
42132 .{ ._, .p_q, .movsxw, .dst0x, .src0d, ._, ._ },45930 .{ ._, .p_q, .movsxw, .dst0x, .src0d, ._, ._ },
42133 } },45931 } },
42134 }, .{45932 }, .{
42135 .required_features = .{ .sse4_1, null, null, null },45933 .required_features = .{ .sse4_1, null, null, null },
42136 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },45934 .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 },
42138 .patterns = &.{45936 .patterns = &.{
42139 .{ .src = .{ .mem, .none, .none } },45937 .{ .src = .{ .mem, .none, .none } },
42140 .{ .src = .{ .to_sse, .none, .none } },45938 .{ .src = .{ .to_sse, .none, .none } },
42141 },45939 },
42142 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},45940 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42143 .each = .{ .once = &.{45941 .each = .{ .once = &.{
42144 .{ ._, .p_q, .movzxw, .dst0x, .src0d, ._, ._ },45942 .{ ._, .p_q, .movzxw, .dst0x, .src0d, ._, ._ },
42145 } },45943 } },
42146 }, .{45944 }, .{
42147 .required_features = .{ .sse2, null, null, null },45945 .required_features = .{ .sse2, null, null, null },
42148 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },45946 .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 },
42150 .patterns = &.{45948 .patterns = &.{
42151 .{ .src = .{ .to_mut_sse, .none, .none } },45949 .{ .src = .{ .to_mut_sse, .none, .none } },
42152 },45950 },
...@@ -42161,7 +45959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42161,7 +45959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42161 .unused,45959 .unused,
42162 .unused,45960 .unused,
42163 },45961 },
42164 .dst_temps = .{.{ .ref = .src0 }},45962 .dst_temps = .{ .{ .ref = .src0 }, .unused },
42165 .each = .{ .once = &.{45963 .each = .{ .once = &.{
42166 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45964 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
42167 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },45965 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -42172,7 +45970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42172,7 +45970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42172 }, .{45970 }, .{
42173 .required_features = .{ .sse2, null, null, null },45971 .required_features = .{ .sse2, null, null, null },
42174 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },45972 .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 },
42176 .patterns = &.{45974 .patterns = &.{
42177 .{ .src = .{ .to_mut_sse, .none, .none } },45975 .{ .src = .{ .to_mut_sse, .none, .none } },
42178 },45976 },
...@@ -42187,7 +45985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42187,7 +45985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42187 .unused,45985 .unused,
42188 .unused,45986 .unused,
42189 },45987 },
42190 .dst_temps = .{.{ .ref = .src0 }},45988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
42191 .each = .{ .once = &.{45989 .each = .{ .once = &.{
42192 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },45990 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
42193 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },45991 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },
...@@ -42196,31 +45994,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42196,31 +45994,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42196 }, .{45994 }, .{
42197 .required_features = .{ .avx2, null, null, null },45995 .required_features = .{ .avx2, null, null, null },
42198 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },45996 .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 },
42200 .patterns = &.{45998 .patterns = &.{
42201 .{ .src = .{ .mem, .none, .none } },45999 .{ .src = .{ .mem, .none, .none } },
42202 .{ .src = .{ .to_sse, .none, .none } },46000 .{ .src = .{ .to_sse, .none, .none } },
42203 },46001 },
42204 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46002 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42205 .each = .{ .once = &.{46003 .each = .{ .once = &.{
42206 .{ ._, .vp_q, .movsxw, .dst0y, .src0q, ._, ._ },46004 .{ ._, .vp_q, .movsxw, .dst0y, .src0q, ._, ._ },
42207 } },46005 } },
42208 }, .{46006 }, .{
42209 .required_features = .{ .avx2, null, null, null },46007 .required_features = .{ .avx2, null, null, null },
42210 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },46008 .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 },
42212 .patterns = &.{46010 .patterns = &.{
42213 .{ .src = .{ .mem, .none, .none } },46011 .{ .src = .{ .mem, .none, .none } },
42214 .{ .src = .{ .to_sse, .none, .none } },46012 .{ .src = .{ .to_sse, .none, .none } },
42215 },46013 },
42216 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46014 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42217 .each = .{ .once = &.{46015 .each = .{ .once = &.{
42218 .{ ._, .vp_q, .movzxw, .dst0y, .src0q, ._, ._ },46016 .{ ._, .vp_q, .movzxw, .dst0y, .src0q, ._, ._ },
42219 } },46017 } },
42220 }, .{46018 }, .{
42221 .required_features = .{ .avx2, null, null, null },46019 .required_features = .{ .avx2, null, null, null },
42222 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },46020 .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 },
42224 .patterns = &.{46022 .patterns = &.{
42225 .{ .src = .{ .to_mem, .none, .none } },46023 .{ .src = .{ .to_mem, .none, .none } },
42226 },46024 },
...@@ -42235,7 +46033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42235,7 +46033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42235 .unused,46033 .unused,
42236 .unused,46034 .unused,
42237 },46035 },
42238 .dst_temps = .{.mem},46036 .dst_temps = .{ .mem, .unused },
42239 .clobbers = .{ .eflags = true },46037 .clobbers = .{ .eflags = true },
42240 .each = .{ .once = &.{46038 .each = .{ .once = &.{
42241 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46039 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42247,7 +46045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42247,7 +46045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42247 }, .{46045 }, .{
42248 .required_features = .{ .avx2, null, null, null },46046 .required_features = .{ .avx2, null, null, null },
42249 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },46047 .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 },
42251 .patterns = &.{46049 .patterns = &.{
42252 .{ .src = .{ .to_mem, .none, .none } },46050 .{ .src = .{ .to_mem, .none, .none } },
42253 },46051 },
...@@ -42262,7 +46060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42262,7 +46060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42262 .unused,46060 .unused,
42263 .unused,46061 .unused,
42264 },46062 },
42265 .dst_temps = .{.mem},46063 .dst_temps = .{ .mem, .unused },
42266 .clobbers = .{ .eflags = true },46064 .clobbers = .{ .eflags = true },
42267 .each = .{ .once = &.{46065 .each = .{ .once = &.{
42268 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46066 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42274,7 +46072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42274,7 +46072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42274 }, .{46072 }, .{
42275 .required_features = .{ .avx, null, null, null },46073 .required_features = .{ .avx, null, null, null },
42276 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },46074 .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 },
42278 .patterns = &.{46076 .patterns = &.{
42279 .{ .src = .{ .to_mem, .none, .none } },46077 .{ .src = .{ .to_mem, .none, .none } },
42280 },46078 },
...@@ -42289,7 +46087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42289,7 +46087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42289 .unused,46087 .unused,
42290 .unused,46088 .unused,
42291 },46089 },
42292 .dst_temps = .{.mem},46090 .dst_temps = .{ .mem, .unused },
42293 .clobbers = .{ .eflags = true },46091 .clobbers = .{ .eflags = true },
42294 .each = .{ .once = &.{46092 .each = .{ .once = &.{
42295 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42301,7 +46099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42301,7 +46099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42301 }, .{46099 }, .{
42302 .required_features = .{ .avx, null, null, null },46100 .required_features = .{ .avx, null, null, null },
42303 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },46101 .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 },
42305 .patterns = &.{46103 .patterns = &.{
42306 .{ .src = .{ .to_mem, .none, .none } },46104 .{ .src = .{ .to_mem, .none, .none } },
42307 },46105 },
...@@ -42316,7 +46114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42316,7 +46114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42316 .unused,46114 .unused,
42317 .unused,46115 .unused,
42318 },46116 },
42319 .dst_temps = .{.mem},46117 .dst_temps = .{ .mem, .unused },
42320 .clobbers = .{ .eflags = true },46118 .clobbers = .{ .eflags = true },
42321 .each = .{ .once = &.{46119 .each = .{ .once = &.{
42322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46120 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42328,7 +46126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42328,7 +46126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42328 }, .{46126 }, .{
42329 .required_features = .{ .sse4_1, null, null, null },46127 .required_features = .{ .sse4_1, null, null, null },
42330 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },46128 .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 },
42332 .patterns = &.{46130 .patterns = &.{
42333 .{ .src = .{ .to_mem, .none, .none } },46131 .{ .src = .{ .to_mem, .none, .none } },
42334 },46132 },
...@@ -42343,7 +46141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42343,7 +46141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42343 .unused,46141 .unused,
42344 .unused,46142 .unused,
42345 },46143 },
42346 .dst_temps = .{.mem},46144 .dst_temps = .{ .mem, .unused },
42347 .clobbers = .{ .eflags = true },46145 .clobbers = .{ .eflags = true },
42348 .each = .{ .once = &.{46146 .each = .{ .once = &.{
42349 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46147 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42355,7 +46153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42355,7 +46153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42355 }, .{46153 }, .{
42356 .required_features = .{ .sse4_1, null, null, null },46154 .required_features = .{ .sse4_1, null, null, null },
42357 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },46155 .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 },
42359 .patterns = &.{46157 .patterns = &.{
42360 .{ .src = .{ .to_mem, .none, .none } },46158 .{ .src = .{ .to_mem, .none, .none } },
42361 },46159 },
...@@ -42370,7 +46168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42370,7 +46168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42370 .unused,46168 .unused,
42371 .unused,46169 .unused,
42372 },46170 },
42373 .dst_temps = .{.mem},46171 .dst_temps = .{ .mem, .unused },
42374 .clobbers = .{ .eflags = true },46172 .clobbers = .{ .eflags = true },
42375 .each = .{ .once = &.{46173 .each = .{ .once = &.{
42376 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46174 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42382,7 +46180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42382,7 +46180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42382 }, .{46180 }, .{
42383 .required_features = .{ .@"64bit", null, null, null },46181 .required_features = .{ .@"64bit", null, null, null },
42384 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },46182 .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 },
42386 .patterns = &.{46184 .patterns = &.{
42387 .{ .src = .{ .to_mem, .none, .none } },46185 .{ .src = .{ .to_mem, .none, .none } },
42388 },46186 },
...@@ -42397,7 +46195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42397,7 +46195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42397 .unused,46195 .unused,
42398 .unused,46196 .unused,
42399 },46197 },
42400 .dst_temps = .{.mem},46198 .dst_temps = .{ .mem, .unused },
42401 .clobbers = .{ .eflags = true },46199 .clobbers = .{ .eflags = true },
42402 .each = .{ .once = &.{46200 .each = .{ .once = &.{
42403 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42409,7 +46207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42409,7 +46207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42409 }, .{46207 }, .{
42410 .required_features = .{ .@"64bit", null, null, null },46208 .required_features = .{ .@"64bit", null, null, null },
42411 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },46209 .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 },
42413 .patterns = &.{46211 .patterns = &.{
42414 .{ .src = .{ .to_mem, .none, .none } },46212 .{ .src = .{ .to_mem, .none, .none } },
42415 },46213 },
...@@ -42424,7 +46222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42424,7 +46222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42424 .unused,46222 .unused,
42425 .unused,46223 .unused,
42426 },46224 },
42427 .dst_temps = .{.mem},46225 .dst_temps = .{ .mem, .unused },
42428 .clobbers = .{ .eflags = true },46226 .clobbers = .{ .eflags = true },
42429 .each = .{ .once = &.{46227 .each = .{ .once = &.{
42430 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46228 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42436,12 +46234,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42436,12 +46234,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42436 }, .{46234 }, .{
42437 .required_features = .{ .avx, null, null, null },46235 .required_features = .{ .avx, null, null, null },
42438 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },46236 .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 },
42440 .patterns = &.{46238 .patterns = &.{
42441 .{ .src = .{ .mem, .none, .none } },46239 .{ .src = .{ .mem, .none, .none } },
42442 .{ .src = .{ .to_sse, .none, .none } },46240 .{ .src = .{ .to_sse, .none, .none } },
42443 },46241 },
42444 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46242 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42445 .each = .{ .once = &.{46243 .each = .{ .once = &.{
42446 .{ ._, .vp_q, .movsxw, .dst0x, .src0d, ._, ._ },46244 .{ ._, .vp_q, .movsxw, .dst0x, .src0d, ._, ._ },
42447 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },46245 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },
...@@ -42449,12 +46247,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42449,12 +46247,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42449 }, .{46247 }, .{
42450 .required_features = .{ .avx, null, null, null },46248 .required_features = .{ .avx, null, null, null },
42451 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .word } }, .any, .any },46249 .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 },
42453 .patterns = &.{46251 .patterns = &.{
42454 .{ .src = .{ .mem, .none, .none } },46252 .{ .src = .{ .mem, .none, .none } },
42455 .{ .src = .{ .to_sse, .none, .none } },46253 .{ .src = .{ .to_sse, .none, .none } },
42456 },46254 },
42457 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46255 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42458 .each = .{ .once = &.{46256 .each = .{ .once = &.{
42459 .{ ._, .vp_q, .movzxw, .dst0x, .src0d, ._, ._ },46257 .{ ._, .vp_q, .movzxw, .dst0x, .src0d, ._, ._ },
42460 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },46258 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },
...@@ -42462,12 +46260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42462,12 +46260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42462 }, .{46260 }, .{
42463 .required_features = .{ .sse4_1, null, null, null },46261 .required_features = .{ .sse4_1, null, null, null },
42464 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },46262 .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 },
42466 .patterns = &.{46264 .patterns = &.{
42467 .{ .src = .{ .mem, .none, .none } },46265 .{ .src = .{ .mem, .none, .none } },
42468 .{ .src = .{ .to_sse, .none, .none } },46266 .{ .src = .{ .to_sse, .none, .none } },
42469 },46267 },
42470 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46268 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42471 .each = .{ .once = &.{46269 .each = .{ .once = &.{
42472 .{ ._, .p_q, .movsxw, .dst0x, .src0d, ._, ._ },46270 .{ ._, .p_q, .movsxw, .dst0x, .src0d, ._, ._ },
42473 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },46271 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },
...@@ -42475,12 +46273,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42475,12 +46273,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42475 }, .{46273 }, .{
42476 .required_features = .{ .sse4_1, null, null, null },46274 .required_features = .{ .sse4_1, null, null, null },
42477 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .word } }, .any, .any },46275 .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 },
42479 .patterns = &.{46277 .patterns = &.{
42480 .{ .src = .{ .mem, .none, .none } },46278 .{ .src = .{ .mem, .none, .none } },
42481 .{ .src = .{ .to_sse, .none, .none } },46279 .{ .src = .{ .to_sse, .none, .none } },
42482 },46280 },
42483 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46281 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42484 .each = .{ .once = &.{46282 .each = .{ .once = &.{
42485 .{ ._, .p_q, .movzxw, .dst0x, .src0d, ._, ._ },46283 .{ ._, .p_q, .movzxw, .dst0x, .src0d, ._, ._ },
42486 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },46284 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },
...@@ -42488,7 +46286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42488,7 +46286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42488 }, .{46286 }, .{
42489 .required_features = .{ .sse2, null, null, null },46287 .required_features = .{ .sse2, null, null, null },
42490 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },46288 .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 },
42492 .patterns = &.{46290 .patterns = &.{
42493 .{ .src = .{ .to_mut_sse, .none, .none } },46291 .{ .src = .{ .to_mut_sse, .none, .none } },
42494 },46292 },
...@@ -42503,7 +46301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42503,7 +46301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42503 .unused,46301 .unused,
42504 .unused,46302 .unused,
42505 },46303 },
42506 .dst_temps = .{.{ .ref = .src0 }},46304 .dst_temps = .{ .{ .ref = .src0 }, .unused },
42507 .each = .{ .once = &.{46305 .each = .{ .once = &.{
42508 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },46306 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
42509 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },46307 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -42516,7 +46314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42516,7 +46314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42516 }, .{46314 }, .{
42517 .required_features = .{ .sse2, null, null, null },46315 .required_features = .{ .sse2, null, null, null },
42518 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .word } }, .any, .any },46316 .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 },
42520 .patterns = &.{46318 .patterns = &.{
42521 .{ .src = .{ .to_mut_sse, .none, .none } },46319 .{ .src = .{ .to_mut_sse, .none, .none } },
42522 },46320 },
...@@ -42531,7 +46329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42531,7 +46329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42531 .unused,46329 .unused,
42532 .unused,46330 .unused,
42533 },46331 },
42534 .dst_temps = .{.{ .ref = .src0 }},46332 .dst_temps = .{ .{ .ref = .src0 }, .unused },
42535 .each = .{ .once = &.{46333 .each = .{ .once = &.{
42536 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },46334 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
42537 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },46335 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },
...@@ -42541,7 +46339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42541,7 +46339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42541 }, .{46339 }, .{
42542 .required_features = .{ .@"64bit", null, null, null },46340 .required_features = .{ .@"64bit", null, null, null },
42543 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },46341 .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 },
42545 .patterns = &.{46343 .patterns = &.{
42546 .{ .src = .{ .to_mem, .none, .none } },46344 .{ .src = .{ .to_mem, .none, .none } },
42547 },46345 },
...@@ -42556,7 +46354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42556,7 +46354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42556 .unused,46354 .unused,
42557 .unused,46355 .unused,
42558 },46356 },
42559 .dst_temps = .{.mem},46357 .dst_temps = .{ .mem, .unused },
42560 .clobbers = .{ .eflags = true },46358 .clobbers = .{ .eflags = true },
42561 .each = .{ .once = &.{46359 .each = .{ .once = &.{
42562 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46360 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42572,7 +46370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42572,7 +46370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42572 }, .{46370 }, .{
42573 .required_features = .{ .@"64bit", null, null, null },46371 .required_features = .{ .@"64bit", null, null, null },
42574 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },46372 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42575 .dst_constraints = .{.any_scalar_int},46373 .dst_constraints = .{ .any_scalar_int, .any },
42576 .patterns = &.{46374 .patterns = &.{
42577 .{ .src = .{ .to_mem, .none, .none } },46375 .{ .src = .{ .to_mem, .none, .none } },
42578 },46376 },
...@@ -42587,7 +46385,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42587,7 +46385,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42587 .unused,46385 .unused,
42588 .unused,46386 .unused,
42589 },46387 },
42590 .dst_temps = .{.mem},46388 .dst_temps = .{ .mem, .unused },
42591 .clobbers = .{ .eflags = true },46389 .clobbers = .{ .eflags = true },
42592 .each = .{ .once = &.{46390 .each = .{ .once = &.{
42593 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46391 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42603,55 +46401,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42603,55 +46401,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42603 }, .{46401 }, .{
42604 .required_features = .{ .avx, null, null, null },46402 .required_features = .{ .avx, null, null, null },
42605 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },46403 .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 },
42607 .patterns = &.{46405 .patterns = &.{
42608 .{ .src = .{ .mem, .none, .none } },46406 .{ .src = .{ .mem, .none, .none } },
42609 .{ .src = .{ .to_sse, .none, .none } },46407 .{ .src = .{ .to_sse, .none, .none } },
42610 },46408 },
42611 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46409 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42612 .each = .{ .once = &.{46410 .each = .{ .once = &.{
42613 .{ ._, .vp_q, .movsxd, .dst0x, .src0q, ._, ._ },46411 .{ ._, .vp_q, .movsxd, .dst0x, .src0q, ._, ._ },
42614 } },46412 } },
42615 }, .{46413 }, .{
42616 .required_features = .{ .avx, null, null, null },46414 .required_features = .{ .avx, null, null, null },
42617 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },46415 .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 },
42619 .patterns = &.{46417 .patterns = &.{
42620 .{ .src = .{ .mem, .none, .none } },46418 .{ .src = .{ .mem, .none, .none } },
42621 .{ .src = .{ .to_sse, .none, .none } },46419 .{ .src = .{ .to_sse, .none, .none } },
42622 },46420 },
42623 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46421 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42624 .each = .{ .once = &.{46422 .each = .{ .once = &.{
42625 .{ ._, .vp_q, .movzxd, .dst0x, .src0q, ._, ._ },46423 .{ ._, .vp_q, .movzxd, .dst0x, .src0q, ._, ._ },
42626 } },46424 } },
42627 }, .{46425 }, .{
42628 .required_features = .{ .sse4_1, null, null, null },46426 .required_features = .{ .sse4_1, null, null, null },
42629 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },46427 .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 },
42631 .patterns = &.{46429 .patterns = &.{
42632 .{ .src = .{ .mem, .none, .none } },46430 .{ .src = .{ .mem, .none, .none } },
42633 .{ .src = .{ .to_sse, .none, .none } },46431 .{ .src = .{ .to_sse, .none, .none } },
42634 },46432 },
42635 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46433 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42636 .each = .{ .once = &.{46434 .each = .{ .once = &.{
42637 .{ ._, .p_q, .movsxd, .dst0x, .src0q, ._, ._ },46435 .{ ._, .p_q, .movsxd, .dst0x, .src0q, ._, ._ },
42638 } },46436 } },
42639 }, .{46437 }, .{
42640 .required_features = .{ .sse4_1, null, null, null },46438 .required_features = .{ .sse4_1, null, null, null },
42641 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },46439 .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 },
42643 .patterns = &.{46441 .patterns = &.{
42644 .{ .src = .{ .mem, .none, .none } },46442 .{ .src = .{ .mem, .none, .none } },
42645 .{ .src = .{ .to_sse, .none, .none } },46443 .{ .src = .{ .to_sse, .none, .none } },
42646 },46444 },
42647 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46445 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42648 .each = .{ .once = &.{46446 .each = .{ .once = &.{
42649 .{ ._, .p_q, .movzxd, .dst0x, .src0q, ._, ._ },46447 .{ ._, .p_q, .movzxd, .dst0x, .src0q, ._, ._ },
42650 } },46448 } },
42651 }, .{46449 }, .{
42652 .required_features = .{ .sse2, null, null, null },46450 .required_features = .{ .sse2, null, null, null },
42653 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },46451 .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 },
42655 .patterns = &.{46453 .patterns = &.{
42656 .{ .src = .{ .to_mut_sse, .none, .none } },46454 .{ .src = .{ .to_mut_sse, .none, .none } },
42657 },46455 },
...@@ -42666,7 +46464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42666,7 +46464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42666 .unused,46464 .unused,
42667 .unused,46465 .unused,
42668 },46466 },
42669 .dst_temps = .{.{ .ref = .src0 }},46467 .dst_temps = .{ .{ .ref = .src0 }, .unused },
42670 .each = .{ .once = &.{46468 .each = .{ .once = &.{
42671 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },46469 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
42672 .{ ._, .p_d, .cmpgt, .tmp0x, .src0x, ._, ._ },46470 .{ ._, .p_d, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -42675,7 +46473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42675,7 +46473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42675 }, .{46473 }, .{
42676 .required_features = .{ .sse2, null, null, null },46474 .required_features = .{ .sse2, null, null, null },
42677 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },46475 .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 },
42679 .patterns = &.{46477 .patterns = &.{
42680 .{ .src = .{ .to_mut_sse, .none, .none } },46478 .{ .src = .{ .to_mut_sse, .none, .none } },
42681 },46479 },
...@@ -42690,7 +46488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42690,7 +46488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42690 .unused,46488 .unused,
42691 .unused,46489 .unused,
42692 },46490 },
42693 .dst_temps = .{.{ .ref = .src0 }},46491 .dst_temps = .{ .{ .ref = .src0 }, .unused },
42694 .each = .{ .once = &.{46492 .each = .{ .once = &.{
42695 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },46493 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
42696 .{ ._, .p_, .unpckldq, .dst0x, .tmp0x, ._, ._ },46494 .{ ._, .p_, .unpckldq, .dst0x, .tmp0x, ._, ._ },
...@@ -42698,31 +46496,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42698,31 +46496,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42698 }, .{46496 }, .{
42699 .required_features = .{ .avx2, null, null, null },46497 .required_features = .{ .avx2, null, null, null },
42700 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },46498 .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 },
42702 .patterns = &.{46500 .patterns = &.{
42703 .{ .src = .{ .mem, .none, .none } },46501 .{ .src = .{ .mem, .none, .none } },
42704 .{ .src = .{ .to_sse, .none, .none } },46502 .{ .src = .{ .to_sse, .none, .none } },
42705 },46503 },
42706 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46504 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42707 .each = .{ .once = &.{46505 .each = .{ .once = &.{
42708 .{ ._, .vp_q, .movsxd, .dst0y, .src0x, ._, ._ },46506 .{ ._, .vp_q, .movsxd, .dst0y, .src0x, ._, ._ },
42709 } },46507 } },
42710 }, .{46508 }, .{
42711 .required_features = .{ .avx2, null, null, null },46509 .required_features = .{ .avx2, null, null, null },
42712 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },46510 .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 },
42714 .patterns = &.{46512 .patterns = &.{
42715 .{ .src = .{ .mem, .none, .none } },46513 .{ .src = .{ .mem, .none, .none } },
42716 .{ .src = .{ .to_sse, .none, .none } },46514 .{ .src = .{ .to_sse, .none, .none } },
42717 },46515 },
42718 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46516 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42719 .each = .{ .once = &.{46517 .each = .{ .once = &.{
42720 .{ ._, .vp_q, .movzxd, .dst0y, .src0x, ._, ._ },46518 .{ ._, .vp_q, .movzxd, .dst0y, .src0x, ._, ._ },
42721 } },46519 } },
42722 }, .{46520 }, .{
42723 .required_features = .{ .avx2, null, null, null },46521 .required_features = .{ .avx2, null, null, null },
42724 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },46522 .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 },
42726 .patterns = &.{46524 .patterns = &.{
42727 .{ .src = .{ .to_mem, .none, .none } },46525 .{ .src = .{ .to_mem, .none, .none } },
42728 },46526 },
...@@ -42737,7 +46535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42737,7 +46535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42737 .unused,46535 .unused,
42738 .unused,46536 .unused,
42739 },46537 },
42740 .dst_temps = .{.mem},46538 .dst_temps = .{ .mem, .unused },
42741 .clobbers = .{ .eflags = true },46539 .clobbers = .{ .eflags = true },
42742 .each = .{ .once = &.{46540 .each = .{ .once = &.{
42743 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42749,7 +46547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42749,7 +46547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42749 }, .{46547 }, .{
42750 .required_features = .{ .avx2, null, null, null },46548 .required_features = .{ .avx2, null, null, null },
42751 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },46549 .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 },
42753 .patterns = &.{46551 .patterns = &.{
42754 .{ .src = .{ .to_mem, .none, .none } },46552 .{ .src = .{ .to_mem, .none, .none } },
42755 },46553 },
...@@ -42764,7 +46562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42764,7 +46562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42764 .unused,46562 .unused,
42765 .unused,46563 .unused,
42766 },46564 },
42767 .dst_temps = .{.mem},46565 .dst_temps = .{ .mem, .unused },
42768 .clobbers = .{ .eflags = true },46566 .clobbers = .{ .eflags = true },
42769 .each = .{ .once = &.{46567 .each = .{ .once = &.{
42770 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46568 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42776,7 +46574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42776,7 +46574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42776 }, .{46574 }, .{
42777 .required_features = .{ .avx, null, null, null },46575 .required_features = .{ .avx, null, null, null },
42778 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },46576 .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 },
42780 .patterns = &.{46578 .patterns = &.{
42781 .{ .src = .{ .to_mem, .none, .none } },46579 .{ .src = .{ .to_mem, .none, .none } },
42782 },46580 },
...@@ -42791,7 +46589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42791,7 +46589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42791 .unused,46589 .unused,
42792 .unused,46590 .unused,
42793 },46591 },
42794 .dst_temps = .{.mem},46592 .dst_temps = .{ .mem, .unused },
42795 .clobbers = .{ .eflags = true },46593 .clobbers = .{ .eflags = true },
42796 .each = .{ .once = &.{46594 .each = .{ .once = &.{
42797 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46595 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42803,7 +46601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42803,7 +46601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42803 }, .{46601 }, .{
42804 .required_features = .{ .avx, null, null, null },46602 .required_features = .{ .avx, null, null, null },
42805 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },46603 .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 },
42807 .patterns = &.{46605 .patterns = &.{
42808 .{ .src = .{ .to_mem, .none, .none } },46606 .{ .src = .{ .to_mem, .none, .none } },
42809 },46607 },
...@@ -42818,7 +46616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42818,7 +46616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42818 .unused,46616 .unused,
42819 .unused,46617 .unused,
42820 },46618 },
42821 .dst_temps = .{.mem},46619 .dst_temps = .{ .mem, .unused },
42822 .clobbers = .{ .eflags = true },46620 .clobbers = .{ .eflags = true },
42823 .each = .{ .once = &.{46621 .each = .{ .once = &.{
42824 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46622 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42830,7 +46628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42830,7 +46628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42830 }, .{46628 }, .{
42831 .required_features = .{ .sse4_1, null, null, null },46629 .required_features = .{ .sse4_1, null, null, null },
42832 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },46630 .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 },
42834 .patterns = &.{46632 .patterns = &.{
42835 .{ .src = .{ .to_mem, .none, .none } },46633 .{ .src = .{ .to_mem, .none, .none } },
42836 },46634 },
...@@ -42845,7 +46643,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42845,7 +46643,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42845 .unused,46643 .unused,
42846 .unused,46644 .unused,
42847 },46645 },
42848 .dst_temps = .{.mem},46646 .dst_temps = .{ .mem, .unused },
42849 .clobbers = .{ .eflags = true },46647 .clobbers = .{ .eflags = true },
42850 .each = .{ .once = &.{46648 .each = .{ .once = &.{
42851 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46649 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42857,7 +46655,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42857,7 +46655,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42857 }, .{46655 }, .{
42858 .required_features = .{ .sse4_1, null, null, null },46656 .required_features = .{ .sse4_1, null, null, null },
42859 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },46657 .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 },
42861 .patterns = &.{46659 .patterns = &.{
42862 .{ .src = .{ .to_mem, .none, .none } },46660 .{ .src = .{ .to_mem, .none, .none } },
42863 },46661 },
...@@ -42872,7 +46670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42872,7 +46670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42872 .unused,46670 .unused,
42873 .unused,46671 .unused,
42874 },46672 },
42875 .dst_temps = .{.mem},46673 .dst_temps = .{ .mem, .unused },
42876 .clobbers = .{ .eflags = true },46674 .clobbers = .{ .eflags = true },
42877 .each = .{ .once = &.{46675 .each = .{ .once = &.{
42878 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46676 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42884,7 +46682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42884,7 +46682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42884 }, .{46682 }, .{
42885 .required_features = .{ .@"64bit", null, null, null },46683 .required_features = .{ .@"64bit", null, null, null },
42886 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },46684 .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 },
42888 .patterns = &.{46686 .patterns = &.{
42889 .{ .src = .{ .to_mem, .none, .none } },46687 .{ .src = .{ .to_mem, .none, .none } },
42890 },46688 },
...@@ -42899,7 +46697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42899,7 +46697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42899 .unused,46697 .unused,
42900 .unused,46698 .unused,
42901 },46699 },
42902 .dst_temps = .{.mem},46700 .dst_temps = .{ .mem, .unused },
42903 .clobbers = .{ .eflags = true },46701 .clobbers = .{ .eflags = true },
42904 .each = .{ .once = &.{46702 .each = .{ .once = &.{
42905 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46703 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42911,7 +46709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42911,7 +46709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42911 }, .{46709 }, .{
42912 .required_features = .{ .@"64bit", null, null, null },46710 .required_features = .{ .@"64bit", null, null, null },
42913 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },46711 .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 },
42915 .patterns = &.{46713 .patterns = &.{
42916 .{ .src = .{ .to_mem, .none, .none } },46714 .{ .src = .{ .to_mem, .none, .none } },
42917 },46715 },
...@@ -42926,7 +46724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42926,7 +46724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42926 .unused,46724 .unused,
42927 .unused,46725 .unused,
42928 },46726 },
42929 .dst_temps = .{.mem},46727 .dst_temps = .{ .mem, .unused },
42930 .clobbers = .{ .eflags = true },46728 .clobbers = .{ .eflags = true },
42931 .each = .{ .once = &.{46729 .each = .{ .once = &.{
42932 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46730 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -42938,12 +46736,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42938,12 +46736,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42938 }, .{46736 }, .{
42939 .required_features = .{ .avx, null, null, null },46737 .required_features = .{ .avx, null, null, null },
42940 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },46738 .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 },
42942 .patterns = &.{46740 .patterns = &.{
42943 .{ .src = .{ .mem, .none, .none } },46741 .{ .src = .{ .mem, .none, .none } },
42944 .{ .src = .{ .to_sse, .none, .none } },46742 .{ .src = .{ .to_sse, .none, .none } },
42945 },46743 },
42946 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46744 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42947 .each = .{ .once = &.{46745 .each = .{ .once = &.{
42948 .{ ._, .vp_q, .movsxd, .dst0x, .src0q, ._, ._ },46746 .{ ._, .vp_q, .movsxd, .dst0x, .src0q, ._, ._ },
42949 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },46747 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },
...@@ -42951,12 +46749,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42951,12 +46749,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42951 }, .{46749 }, .{
42952 .required_features = .{ .avx, null, null, null },46750 .required_features = .{ .avx, null, null, null },
42953 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },46751 .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 },
42955 .patterns = &.{46753 .patterns = &.{
42956 .{ .src = .{ .mem, .none, .none } },46754 .{ .src = .{ .mem, .none, .none } },
42957 .{ .src = .{ .to_sse, .none, .none } },46755 .{ .src = .{ .to_sse, .none, .none } },
42958 },46756 },
42959 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46757 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42960 .each = .{ .once = &.{46758 .each = .{ .once = &.{
42961 .{ ._, .vp_q, .movzxd, .dst0x, .src0q, ._, ._ },46759 .{ ._, .vp_q, .movzxd, .dst0x, .src0q, ._, ._ },
42962 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },46760 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },
...@@ -42964,12 +46762,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42964,12 +46762,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42964 }, .{46762 }, .{
42965 .required_features = .{ .sse4_1, null, null, null },46763 .required_features = .{ .sse4_1, null, null, null },
42966 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },46764 .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 },
42968 .patterns = &.{46766 .patterns = &.{
42969 .{ .src = .{ .mem, .none, .none } },46767 .{ .src = .{ .mem, .none, .none } },
42970 .{ .src = .{ .to_sse, .none, .none } },46768 .{ .src = .{ .to_sse, .none, .none } },
42971 },46769 },
42972 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46770 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42973 .each = .{ .once = &.{46771 .each = .{ .once = &.{
42974 .{ ._, .p_q, .movsxd, .dst0x, .src0q, ._, ._ },46772 .{ ._, .p_q, .movsxd, .dst0x, .src0q, ._, ._ },
42975 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },46773 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },
...@@ -42977,12 +46775,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42977,12 +46775,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42977 }, .{46775 }, .{
42978 .required_features = .{ .sse4_1, null, null, null },46776 .required_features = .{ .sse4_1, null, null, null },
42979 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },46777 .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 },
42981 .patterns = &.{46779 .patterns = &.{
42982 .{ .src = .{ .mem, .none, .none } },46780 .{ .src = .{ .mem, .none, .none } },
42983 .{ .src = .{ .to_sse, .none, .none } },46781 .{ .src = .{ .to_sse, .none, .none } },
42984 },46782 },
42985 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},46783 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
42986 .each = .{ .once = &.{46784 .each = .{ .once = &.{
42987 .{ ._, .p_q, .movzxd, .dst0x, .src0q, ._, ._ },46785 .{ ._, .p_q, .movzxd, .dst0x, .src0q, ._, ._ },
42988 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },46786 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },
...@@ -42990,7 +46788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -42990,7 +46788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42990 }, .{46788 }, .{
42991 .required_features = .{ .sse2, null, null, null },46789 .required_features = .{ .sse2, null, null, null },
42992 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },46790 .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 },
42994 .patterns = &.{46792 .patterns = &.{
42995 .{ .src = .{ .to_mut_sse, .none, .none } },46793 .{ .src = .{ .to_mut_sse, .none, .none } },
42996 },46794 },
...@@ -43005,7 +46803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43005,7 +46803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43005 .unused,46803 .unused,
43006 .unused,46804 .unused,
43007 },46805 },
43008 .dst_temps = .{.{ .ref = .src0 }},46806 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43009 .each = .{ .once = &.{46807 .each = .{ .once = &.{
43010 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },46808 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
43011 .{ ._, .p_d, .cmpgt, .tmp0x, .src0x, ._, ._ },46809 .{ ._, .p_d, .cmpgt, .tmp0x, .src0x, ._, ._ },
...@@ -43016,7 +46814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43016,7 +46814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43016 }, .{46814 }, .{
43017 .required_features = .{ .sse2, null, null, null },46815 .required_features = .{ .sse2, null, null, null },
43018 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },46816 .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 },
43020 .patterns = &.{46818 .patterns = &.{
43021 .{ .src = .{ .to_mut_sse, .none, .none } },46819 .{ .src = .{ .to_mut_sse, .none, .none } },
43022 },46820 },
...@@ -43031,7 +46829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43031,7 +46829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43031 .unused,46829 .unused,
43032 .unused,46830 .unused,
43033 },46831 },
43034 .dst_temps = .{.{ .ref = .src0 }},46832 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43035 .each = .{ .once = &.{46833 .each = .{ .once = &.{
43036 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },46834 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
43037 .{ ._, .p_, .unpckldq, .dst0x, .tmp0x, ._, ._ },46835 .{ ._, .p_, .unpckldq, .dst0x, .tmp0x, ._, ._ },
...@@ -43040,7 +46838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43040,7 +46838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43040 }, .{46838 }, .{
43041 .required_features = .{ .@"64bit", null, null, null },46839 .required_features = .{ .@"64bit", null, null, null },
43042 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },46840 .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 },
43044 .patterns = &.{46842 .patterns = &.{
43045 .{ .src = .{ .to_mem, .none, .none } },46843 .{ .src = .{ .to_mem, .none, .none } },
43046 },46844 },
...@@ -43055,7 +46853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43055,7 +46853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43055 .unused,46853 .unused,
43056 .unused,46854 .unused,
43057 },46855 },
43058 .dst_temps = .{.mem},46856 .dst_temps = .{ .mem, .unused },
43059 .clobbers = .{ .eflags = true },46857 .clobbers = .{ .eflags = true },
43060 .each = .{ .once = &.{46858 .each = .{ .once = &.{
43061 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -43071,7 +46869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43071,7 +46869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43071 }, .{46869 }, .{
43072 .required_features = .{ .@"64bit", null, null, null },46870 .required_features = .{ .@"64bit", null, null, null },
43073 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },46871 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
43074 .dst_constraints = .{.any_scalar_int},46872 .dst_constraints = .{ .any_scalar_int, .any },
43075 .patterns = &.{46873 .patterns = &.{
43076 .{ .src = .{ .to_mem, .none, .none } },46874 .{ .src = .{ .to_mem, .none, .none } },
43077 },46875 },
...@@ -43086,7 +46884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43086,7 +46884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43086 .unused,46884 .unused,
43087 .unused,46885 .unused,
43088 },46886 },
43089 .dst_temps = .{.mem},46887 .dst_temps = .{ .mem, .unused },
43090 .clobbers = .{ .eflags = true },46888 .clobbers = .{ .eflags = true },
43091 .each = .{ .once = &.{46889 .each = .{ .once = &.{
43092 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },46890 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -43102,7 +46900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43102,7 +46900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43102 }, .{46900 }, .{
43103 .required_features = .{ .@"64bit", .slow_incdec, null, null },46901 .required_features = .{ .@"64bit", .slow_incdec, null, null },
43104 .src_constraints = .{ .any_scalar_signed_int, .any, .any },46902 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
43105 .dst_constraints = .{.any_scalar_signed_int},46903 .dst_constraints = .{ .any_scalar_signed_int, .any },
43106 .patterns = &.{46904 .patterns = &.{
43107 .{ .src = .{ .to_mem, .none, .none } },46905 .{ .src = .{ .to_mem, .none, .none } },
43108 },46906 },
...@@ -43117,7 +46915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43117,7 +46915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43117 .unused,46915 .unused,
43118 .unused,46916 .unused,
43119 },46917 },
43120 .dst_temps = .{.mem},46918 .dst_temps = .{ .mem, .unused },
43121 .clobbers = .{ .eflags = true },46919 .clobbers = .{ .eflags = true },
43122 .each = .{ .once = &.{46920 .each = .{ .once = &.{
43123 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },46921 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -43136,7 +46934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43136,7 +46934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43136 }, .{46934 }, .{
43137 .required_features = .{ .@"64bit", null, null, null },46935 .required_features = .{ .@"64bit", null, null, null },
43138 .src_constraints = .{ .any_scalar_signed_int, .any, .any },46936 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
43139 .dst_constraints = .{.any_scalar_signed_int},46937 .dst_constraints = .{ .any_scalar_signed_int, .any },
43140 .patterns = &.{46938 .patterns = &.{
43141 .{ .src = .{ .to_mem, .none, .none } },46939 .{ .src = .{ .to_mem, .none, .none } },
43142 },46940 },
...@@ -43151,7 +46949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43151,7 +46949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43151 .unused,46949 .unused,
43152 .unused,46950 .unused,
43153 },46951 },
43154 .dst_temps = .{.mem},46952 .dst_temps = .{ .mem, .unused },
43155 .clobbers = .{ .eflags = true },46953 .clobbers = .{ .eflags = true },
43156 .each = .{ .once = &.{46954 .each = .{ .once = &.{
43157 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },46955 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -43170,7 +46968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43170,7 +46968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43170 }, .{46968 }, .{
43171 .required_features = .{ .@"64bit", .slow_incdec, null, null },46969 .required_features = .{ .@"64bit", .slow_incdec, null, null },
43172 .src_constraints = .{ .any_scalar_int, .any, .any },46970 .src_constraints = .{ .any_scalar_int, .any, .any },
43173 .dst_constraints = .{.any_scalar_int},46971 .dst_constraints = .{ .any_scalar_int, .any },
43174 .patterns = &.{46972 .patterns = &.{
43175 .{ .src = .{ .to_mem, .none, .none } },46973 .{ .src = .{ .to_mem, .none, .none } },
43176 },46974 },
...@@ -43185,7 +46983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43185,7 +46983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43185 .unused,46983 .unused,
43186 .unused,46984 .unused,
43187 },46985 },
43188 .dst_temps = .{.mem},46986 .dst_temps = .{ .mem, .unused },
43189 .clobbers = .{ .eflags = true },46987 .clobbers = .{ .eflags = true },
43190 .each = .{ .once = &.{46988 .each = .{ .once = &.{
43191 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },46989 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -43202,7 +47000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43202,7 +47000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43202 }, .{47000 }, .{
43203 .required_features = .{ .@"64bit", null, null, null },47001 .required_features = .{ .@"64bit", null, null, null },
43204 .src_constraints = .{ .any_scalar_int, .any, .any },47002 .src_constraints = .{ .any_scalar_int, .any, .any },
43205 .dst_constraints = .{.any_scalar_int},47003 .dst_constraints = .{ .any_scalar_int, .any },
43206 .patterns = &.{47004 .patterns = &.{
43207 .{ .src = .{ .to_mem, .none, .none } },47005 .{ .src = .{ .to_mem, .none, .none } },
43208 },47006 },
...@@ -43217,7 +47015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43217,7 +47015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43217 .unused,47015 .unused,
43218 .unused,47016 .unused,
43219 },47017 },
43220 .dst_temps = .{.mem},47018 .dst_temps = .{ .mem, .unused },
43221 .clobbers = .{ .eflags = true },47019 .clobbers = .{ .eflags = true },
43222 .each = .{ .once = &.{47020 .each = .{ .once = &.{
43223 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },47021 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -43242,17 +47040,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43242,17 +47040,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43242 };47040 };
43243 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);47041 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
43244 },47042 },
47043 .intcast_safe => unreachable,
43245 .trunc => |air_tag| if (use_old) try cg.airTrunc(inst) else {47044 .trunc => |air_tag| if (use_old) try cg.airTrunc(inst) else {
43246 const ty_op = air_datas[@intFromEnum(inst)].ty_op;47045 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
43247 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});47046 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
43248 var res: [1]Temp = undefined;47047 var res: [1]Temp = undefined;
43249 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{47048 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
43250 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },47049 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43251 .dst_constraints = .{.{ .exact_signed_int = 1 }},47050 .dst_constraints = .{ .{ .exact_signed_int = 1 }, .any },
43252 .patterns = &.{47051 .patterns = &.{
43253 .{ .src = .{ .to_mut_gpr, .none, .none } },47052 .{ .src = .{ .to_mut_gpr, .none, .none } },
43254 },47053 },
43255 .dst_temps = .{.{ .ref = .src0 }},47054 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43256 .clobbers = .{ .eflags = true },47055 .clobbers = .{ .eflags = true },
43257 .each = .{ .once = &.{47056 .each = .{ .once = &.{
43258 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },47057 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },
...@@ -43260,11 +47059,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43260,11 +47059,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43260 } },47059 } },
43261 }, .{47060 }, .{
43262 .src_constraints = .{ .any_signed_int, .any, .any },47061 .src_constraints = .{ .any_signed_int, .any, .any },
43263 .dst_constraints = .{.{ .exact_signed_int = 1 }},47062 .dst_constraints = .{ .{ .exact_signed_int = 1 }, .any },
43264 .patterns = &.{47063 .patterns = &.{
43265 .{ .src = .{ .to_mem, .none, .none } },47064 .{ .src = .{ .to_mem, .none, .none } },
43266 },47065 },
43267 .dst_temps = .{.{ .rc = .general_purpose }},47066 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43268 .clobbers = .{ .eflags = true },47067 .clobbers = .{ .eflags = true },
43269 .each = .{ .once = &.{47068 .each = .{ .once = &.{
43270 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },47069 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
...@@ -43273,39 +47072,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43273,39 +47072,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43273 } },47072 } },
43274 }, .{47073 }, .{
43275 .src_constraints = .{ .{ .int = .gpr }, .any, .any },47074 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
43276 .dst_constraints = .{.{ .exact_int = 8 }},47075 .dst_constraints = .{ .{ .exact_int = 8 }, .any },
43277 .patterns = &.{47076 .patterns = &.{
43278 .{ .src = .{ .to_mut_gpr, .none, .none } },47077 .{ .src = .{ .to_mut_gpr, .none, .none } },
43279 },47078 },
43280 .dst_temps = .{.{ .ref = .src0 }},47079 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43281 .each = .{ .once = &.{} },47080 .each = .{ .once = &.{} },
43282 }, .{47081 }, .{
43283 .src_constraints = .{ .any_signed_int, .any, .any },47082 .src_constraints = .{ .any_signed_int, .any, .any },
43284 .dst_constraints = .{.{ .exact_signed_int = 8 }},47083 .dst_constraints = .{ .{ .exact_signed_int = 8 }, .any },
43285 .patterns = &.{47084 .patterns = &.{
43286 .{ .src = .{ .to_mem, .none, .none } },47085 .{ .src = .{ .to_mem, .none, .none } },
43287 },47086 },
43288 .dst_temps = .{.{ .rc = .general_purpose }},47087 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43289 .each = .{ .once = &.{47088 .each = .{ .once = &.{
43290 .{ ._, ._, .movsx, .dst0d, .mem(.src0b), ._, ._ },47089 .{ ._, ._, .movsx, .dst0d, .mem(.src0b), ._, ._ },
43291 } },47090 } },
43292 }, .{47091 }, .{
43293 .src_constraints = .{ .any_unsigned_int, .any, .any },47092 .src_constraints = .{ .any_unsigned_int, .any, .any },
43294 .dst_constraints = .{.{ .exact_unsigned_int = 8 }},47093 .dst_constraints = .{ .{ .exact_unsigned_int = 8 }, .any },
43295 .patterns = &.{47094 .patterns = &.{
43296 .{ .src = .{ .to_mem, .none, .none } },47095 .{ .src = .{ .to_mem, .none, .none } },
43297 },47096 },
43298 .dst_temps = .{.{ .rc = .general_purpose }},47097 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43299 .each = .{ .once = &.{47098 .each = .{ .once = &.{
43300 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },47099 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
43301 } },47100 } },
43302 }, .{47101 }, .{
43303 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },47102 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43304 .dst_constraints = .{.{ .signed_int = .byte }},47103 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
43305 .patterns = &.{47104 .patterns = &.{
43306 .{ .src = .{ .to_mut_gpr, .none, .none } },47105 .{ .src = .{ .to_mut_gpr, .none, .none } },
43307 },47106 },
43308 .dst_temps = .{.{ .ref = .src0 }},47107 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43309 .clobbers = .{ .eflags = true },47108 .clobbers = .{ .eflags = true },
43310 .each = .{ .once = &.{47109 .each = .{ .once = &.{
43311 .{ ._, ._l, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },47110 .{ ._, ._l, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
...@@ -43313,22 +47112,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43313,22 +47112,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43313 } },47112 } },
43314 }, .{47113 }, .{
43315 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },47114 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43316 .dst_constraints = .{.{ .unsigned_int = .byte }},47115 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
43317 .patterns = &.{47116 .patterns = &.{
43318 .{ .src = .{ .to_mut_gpr, .none, .none } },47117 .{ .src = .{ .to_mut_gpr, .none, .none } },
43319 },47118 },
43320 .dst_temps = .{.{ .ref = .src0 }},47119 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43321 .clobbers = .{ .eflags = true },47120 .clobbers = .{ .eflags = true },
43322 .each = .{ .once = &.{47121 .each = .{ .once = &.{
43323 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },47122 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },
43324 } },47123 } },
43325 }, .{47124 }, .{
43326 .src_constraints = .{ .any_int, .any, .any },47125 .src_constraints = .{ .any_int, .any, .any },
43327 .dst_constraints = .{.{ .unsigned_int = .byte }},47126 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
43328 .patterns = &.{47127 .patterns = &.{
43329 .{ .src = .{ .to_mem, .none, .none } },47128 .{ .src = .{ .to_mem, .none, .none } },
43330 },47129 },
43331 .dst_temps = .{.{ .rc = .general_purpose }},47130 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43332 .clobbers = .{ .eflags = true },47131 .clobbers = .{ .eflags = true },
43333 .each = .{ .once = &.{47132 .each = .{ .once = &.{
43334 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },47133 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
...@@ -43336,40 +47135,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43336,40 +47135,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43336 } },47135 } },
43337 }, .{47136 }, .{
43338 .src_constraints = .{ .{ .int = .gpr }, .any, .any },47137 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
43339 .dst_constraints = .{.{ .exact_int = 16 }},47138 .dst_constraints = .{ .{ .exact_int = 16 }, .any },
43340 .patterns = &.{47139 .patterns = &.{
43341 .{ .src = .{ .to_mut_gpr, .none, .none } },47140 .{ .src = .{ .to_mut_gpr, .none, .none } },
43342 },47141 },
43343 .dst_temps = .{.{ .ref = .src0 }},47142 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43344 .each = .{ .once = &.{} },47143 .each = .{ .once = &.{} },
43345 }, .{47144 }, .{
43346 .src_constraints = .{ .any_signed_int, .any, .any },47145 .src_constraints = .{ .any_signed_int, .any, .any },
43347 .dst_constraints = .{.{ .exact_signed_int = 16 }},47146 .dst_constraints = .{ .{ .exact_signed_int = 16 }, .any },
43348 .patterns = &.{47147 .patterns = &.{
43349 .{ .src = .{ .to_mem, .none, .none } },47148 .{ .src = .{ .to_mem, .none, .none } },
43350 },47149 },
43351 .dst_temps = .{.{ .rc = .general_purpose }},47150 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43352 .each = .{ .once = &.{47151 .each = .{ .once = &.{
43353 .{ ._, ._, .movsx, .dst0d, .mem(.src0w), ._, ._ },47152 .{ ._, ._, .movsx, .dst0d, .mem(.src0w), ._, ._ },
43354 } },47153 } },
43355 }, .{47154 }, .{
43356 .src_constraints = .{ .any_unsigned_int, .any, .any },47155 .src_constraints = .{ .any_unsigned_int, .any, .any },
43357 .dst_constraints = .{.{ .exact_unsigned_int = 16 }},47156 .dst_constraints = .{ .{ .exact_unsigned_int = 16 }, .any },
43358 .patterns = &.{47157 .patterns = &.{
43359 .{ .src = .{ .to_mem, .none, .none } },47158 .{ .src = .{ .to_mem, .none, .none } },
43360 },47159 },
43361 .dst_temps = .{.{ .rc = .general_purpose }},47160 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43362 .each = .{ .once = &.{47161 .each = .{ .once = &.{
43363 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },47162 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
43364 } },47163 } },
43365 }, .{47164 }, .{
43366 .required_features = .{ .fast_imm16, null, null, null },47165 .required_features = .{ .fast_imm16, null, null, null },
43367 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },47166 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43368 .dst_constraints = .{.{ .unsigned_int = .word }},47167 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
43369 .patterns = &.{47168 .patterns = &.{
43370 .{ .src = .{ .to_mut_gpr, .none, .none } },47169 .{ .src = .{ .to_mut_gpr, .none, .none } },
43371 },47170 },
43372 .dst_temps = .{.{ .ref = .src0 }},47171 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43373 .clobbers = .{ .eflags = true },47172 .clobbers = .{ .eflags = true },
43374 .each = .{ .once = &.{47173 .each = .{ .once = &.{
43375 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },47174 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },
...@@ -43377,11 +47176,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43377,11 +47176,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43377 }, .{47176 }, .{
43378 .required_features = .{ .fast_imm16, null, null, null },47177 .required_features = .{ .fast_imm16, null, null, null },
43379 .src_constraints = .{ .any_unsigned_int, .any, .any },47178 .src_constraints = .{ .any_unsigned_int, .any, .any },
43380 .dst_constraints = .{.{ .unsigned_int = .word }},47179 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
43381 .patterns = &.{47180 .patterns = &.{
43382 .{ .src = .{ .to_mem, .none, .none } },47181 .{ .src = .{ .to_mem, .none, .none } },
43383 },47182 },
43384 .dst_temps = .{.{ .rc = .general_purpose }},47183 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43385 .clobbers = .{ .eflags = true },47184 .clobbers = .{ .eflags = true },
43386 .each = .{ .once = &.{47185 .each = .{ .once = &.{
43387 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },47186 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
...@@ -43389,29 +47188,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43389,29 +47188,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43389 } },47188 } },
43390 }, .{47189 }, .{
43391 .src_constraints = .{ .{ .int = .gpr }, .any, .any },47190 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
43392 .dst_constraints = .{.{ .exact_int = 32 }},47191 .dst_constraints = .{ .{ .exact_int = 32 }, .any },
43393 .patterns = &.{47192 .patterns = &.{
43394 .{ .src = .{ .to_mut_gpr, .none, .none } },47193 .{ .src = .{ .to_mut_gpr, .none, .none } },
43395 },47194 },
43396 .dst_temps = .{.{ .ref = .src0 }},47195 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43397 .each = .{ .once = &.{} },47196 .each = .{ .once = &.{} },
43398 }, .{47197 }, .{
43399 .src_constraints = .{ .any_int, .any, .any },47198 .src_constraints = .{ .any_int, .any, .any },
43400 .dst_constraints = .{.{ .exact_int = 32 }},47199 .dst_constraints = .{ .{ .exact_int = 32 }, .any },
43401 .patterns = &.{47200 .patterns = &.{
43402 .{ .src = .{ .to_mem, .none, .none } },47201 .{ .src = .{ .to_mem, .none, .none } },
43403 },47202 },
43404 .dst_temps = .{.{ .rc = .general_purpose }},47203 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43405 .each = .{ .once = &.{47204 .each = .{ .once = &.{
43406 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },47205 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
43407 } },47206 } },
43408 }, .{47207 }, .{
43409 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },47208 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43410 .dst_constraints = .{.{ .signed_int = .dword }},47209 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
43411 .patterns = &.{47210 .patterns = &.{
43412 .{ .src = .{ .to_mut_gpr, .none, .none } },47211 .{ .src = .{ .to_mut_gpr, .none, .none } },
43413 },47212 },
43414 .dst_temps = .{.{ .ref = .src0 }},47213 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43415 .clobbers = .{ .eflags = true },47214 .clobbers = .{ .eflags = true },
43416 .each = .{ .once = &.{47215 .each = .{ .once = &.{
43417 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },47216 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
...@@ -43419,11 +47218,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43419,11 +47218,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43419 } },47218 } },
43420 }, .{47219 }, .{
43421 .src_constraints = .{ .any_signed_int, .any, .any },47220 .src_constraints = .{ .any_signed_int, .any, .any },
43422 .dst_constraints = .{.{ .signed_int = .dword }},47221 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
43423 .patterns = &.{47222 .patterns = &.{
43424 .{ .src = .{ .to_mem, .none, .none } },47223 .{ .src = .{ .to_mem, .none, .none } },
43425 },47224 },
43426 .dst_temps = .{.{ .rc = .general_purpose }},47225 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43427 .clobbers = .{ .eflags = true },47226 .clobbers = .{ .eflags = true },
43428 .each = .{ .once = &.{47227 .each = .{ .once = &.{
43429 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },47228 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
...@@ -43432,22 +47231,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43432,22 +47231,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43432 } },47231 } },
43433 }, .{47232 }, .{
43434 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },47233 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43435 .dst_constraints = .{.{ .unsigned_int = .dword }},47234 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
43436 .patterns = &.{47235 .patterns = &.{
43437 .{ .src = .{ .to_mut_gpr, .none, .none } },47236 .{ .src = .{ .to_mut_gpr, .none, .none } },
43438 },47237 },
43439 .dst_temps = .{.{ .ref = .src0 }},47238 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43440 .clobbers = .{ .eflags = true },47239 .clobbers = .{ .eflags = true },
43441 .each = .{ .once = &.{47240 .each = .{ .once = &.{
43442 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },47241 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },
43443 } },47242 } },
43444 }, .{47243 }, .{
43445 .src_constraints = .{ .any_unsigned_int, .any, .any },47244 .src_constraints = .{ .any_unsigned_int, .any, .any },
43446 .dst_constraints = .{.{ .unsigned_int = .dword }},47245 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
43447 .patterns = &.{47246 .patterns = &.{
43448 .{ .src = .{ .to_mem, .none, .none } },47247 .{ .src = .{ .to_mem, .none, .none } },
43449 },47248 },
43450 .dst_temps = .{.{ .rc = .general_purpose }},47249 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43451 .clobbers = .{ .eflags = true },47250 .clobbers = .{ .eflags = true },
43452 .each = .{ .once = &.{47251 .each = .{ .once = &.{
43453 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },47252 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
...@@ -43456,22 +47255,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43456,22 +47255,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43456 }, .{47255 }, .{
43457 .required_features = .{ .@"64bit", null, null, null },47256 .required_features = .{ .@"64bit", null, null, null },
43458 .src_constraints = .{ .any_int, .any, .any },47257 .src_constraints = .{ .any_int, .any, .any },
43459 .dst_constraints = .{.{ .exact_int = 64 }},47258 .dst_constraints = .{ .{ .exact_int = 64 }, .any },
43460 .patterns = &.{47259 .patterns = &.{
43461 .{ .src = .{ .to_mem, .none, .none } },47260 .{ .src = .{ .to_mem, .none, .none } },
43462 },47261 },
43463 .dst_temps = .{.{ .rc = .general_purpose }},47262 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43464 .each = .{ .once = &.{47263 .each = .{ .once = &.{
43465 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },47264 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
43466 } },47265 } },
43467 }, .{47266 }, .{
43468 .required_features = .{ .@"64bit", null, null, null },47267 .required_features = .{ .@"64bit", null, null, null },
43469 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },47268 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43470 .dst_constraints = .{.{ .signed_int = .qword }},47269 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
43471 .patterns = &.{47270 .patterns = &.{
43472 .{ .src = .{ .to_mut_gpr, .none, .none } },47271 .{ .src = .{ .to_mut_gpr, .none, .none } },
43473 },47272 },
43474 .dst_temps = .{.{ .ref = .src0 }},47273 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43475 .clobbers = .{ .eflags = true },47274 .clobbers = .{ .eflags = true },
43476 .each = .{ .once = &.{47275 .each = .{ .once = &.{
43477 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },47276 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
...@@ -43480,11 +47279,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43480,11 +47279,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43480 }, .{47279 }, .{
43481 .required_features = .{ .@"64bit", null, null, null },47280 .required_features = .{ .@"64bit", null, null, null },
43482 .src_constraints = .{ .any_signed_int, .any, .any },47281 .src_constraints = .{ .any_signed_int, .any, .any },
43483 .dst_constraints = .{.{ .signed_int = .qword }},47282 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
43484 .patterns = &.{47283 .patterns = &.{
43485 .{ .src = .{ .to_mem, .none, .none } },47284 .{ .src = .{ .to_mem, .none, .none } },
43486 },47285 },
43487 .dst_temps = .{.{ .rc = .general_purpose }},47286 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43488 .clobbers = .{ .eflags = true },47287 .clobbers = .{ .eflags = true },
43489 .each = .{ .once = &.{47288 .each = .{ .once = &.{
43490 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },47289 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
...@@ -43494,12 +47293,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43494,12 +47293,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43494 }, .{47293 }, .{
43495 .required_features = .{ .@"64bit", .bmi2, null, null },47294 .required_features = .{ .@"64bit", .bmi2, null, null },
43496 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },47295 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43497 .dst_constraints = .{.{ .unsigned_int = .qword }},47296 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
43498 .patterns = &.{47297 .patterns = &.{
43499 .{ .src = .{ .mem, .none, .none } },47298 .{ .src = .{ .mem, .none, .none } },
43500 .{ .src = .{ .to_gpr, .none, .none } },47299 .{ .src = .{ .to_gpr, .none, .none } },
43501 },47300 },
43502 .dst_temps = .{.{ .rc = .general_purpose }},47301 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43503 .clobbers = .{ .eflags = true },47302 .clobbers = .{ .eflags = true },
43504 .each = .{ .once = &.{47303 .each = .{ .once = &.{
43505 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },47304 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
...@@ -43508,11 +47307,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43508,11 +47307,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43508 }, .{47307 }, .{
43509 .required_features = .{ .@"64bit", .bmi2, null, null },47308 .required_features = .{ .@"64bit", .bmi2, null, null },
43510 .src_constraints = .{ .any_unsigned_int, .any, .any },47309 .src_constraints = .{ .any_unsigned_int, .any, .any },
43511 .dst_constraints = .{.{ .unsigned_int = .qword }},47310 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
43512 .patterns = &.{47311 .patterns = &.{
43513 .{ .src = .{ .to_mem, .none, .none } },47312 .{ .src = .{ .to_mem, .none, .none } },
43514 },47313 },
43515 .dst_temps = .{.{ .rc = .general_purpose }},47314 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43516 .clobbers = .{ .eflags = true },47315 .clobbers = .{ .eflags = true },
43517 .each = .{ .once = &.{47316 .each = .{ .once = &.{
43518 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },47317 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
...@@ -43521,12 +47320,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43521,12 +47320,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43521 }, .{47320 }, .{
43522 .required_features = .{ .@"64bit", null, null, null },47321 .required_features = .{ .@"64bit", null, null, null },
43523 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },47322 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43524 .dst_constraints = .{.{ .unsigned_int = .qword }},47323 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
43525 .patterns = &.{47324 .patterns = &.{
43526 .{ .src = .{ .mem, .none, .none } },47325 .{ .src = .{ .mem, .none, .none } },
43527 .{ .src = .{ .to_gpr, .none, .none } },47326 .{ .src = .{ .to_gpr, .none, .none } },
43528 },47327 },
43529 .dst_temps = .{.{ .rc = .general_purpose }},47328 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43530 .clobbers = .{ .eflags = true },47329 .clobbers = .{ .eflags = true },
43531 .each = .{ .once = &.{47330 .each = .{ .once = &.{
43532 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },47331 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
...@@ -43535,11 +47334,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43535,11 +47334,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43535 }, .{47334 }, .{
43536 .required_features = .{ .@"64bit", null, null, null },47335 .required_features = .{ .@"64bit", null, null, null },
43537 .src_constraints = .{ .any_unsigned_int, .any, .any },47336 .src_constraints = .{ .any_unsigned_int, .any, .any },
43538 .dst_constraints = .{.{ .unsigned_int = .qword }},47337 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
43539 .patterns = &.{47338 .patterns = &.{
43540 .{ .src = .{ .to_mem, .none, .none } },47339 .{ .src = .{ .to_mem, .none, .none } },
43541 },47340 },
43542 .dst_temps = .{.{ .rc = .general_purpose }},47341 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
43543 .clobbers = .{ .eflags = true },47342 .clobbers = .{ .eflags = true },
43544 .each = .{ .once = &.{47343 .each = .{ .once = &.{
43545 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },47344 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
...@@ -43548,7 +47347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43548,7 +47347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43548 }, .{47347 }, .{
43549 .required_features = .{ .@"64bit", null, null, null },47348 .required_features = .{ .@"64bit", null, null, null },
43550 .src_constraints = .{ .any_int, .any, .any },47349 .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 },
43552 .patterns = &.{47351 .patterns = &.{
43553 .{ .src = .{ .to_mem, .none, .none } },47352 .{ .src = .{ .to_mem, .none, .none } },
43554 },47353 },
...@@ -43563,7 +47362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43563,7 +47362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43563 .unused,47362 .unused,
43564 .unused,47363 .unused,
43565 },47364 },
43566 .dst_temps = .{.mem},47365 .dst_temps = .{ .mem, .unused },
43567 .each = .{ .once = &.{47366 .each = .{ .once = &.{
43568 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47367 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
43569 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },47368 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
...@@ -43573,7 +47372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43573,7 +47372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43573 }, .{47372 }, .{
43574 .required_features = .{ .@"64bit", null, null, null },47373 .required_features = .{ .@"64bit", null, null, null },
43575 .src_constraints = .{ .any_signed_int, .any, .any },47374 .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 },
43577 .patterns = &.{47376 .patterns = &.{
43578 .{ .src = .{ .to_mem, .none, .none } },47377 .{ .src = .{ .to_mem, .none, .none } },
43579 },47378 },
...@@ -43588,7 +47387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43588,7 +47387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43588 .unused,47387 .unused,
43589 .unused,47388 .unused,
43590 },47389 },
43591 .dst_temps = .{.mem},47390 .dst_temps = .{ .mem, .unused },
43592 .clobbers = .{ .eflags = true },47391 .clobbers = .{ .eflags = true },
43593 .each = .{ .once = &.{47392 .each = .{ .once = &.{
43594 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47393 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43603,7 +47402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43603,7 +47402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43603 }, .{47402 }, .{
43604 .required_features = .{ .@"64bit", null, null, null },47403 .required_features = .{ .@"64bit", null, null, null },
43605 .src_constraints = .{ .any_signed_int, .any, .any },47404 .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 },
43607 .patterns = &.{47406 .patterns = &.{
43608 .{ .src = .{ .to_mem, .none, .none } },47407 .{ .src = .{ .to_mem, .none, .none } },
43609 },47408 },
...@@ -43618,7 +47417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43618,7 +47417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43618 .unused,47417 .unused,
43619 .unused,47418 .unused,
43620 },47419 },
43621 .dst_temps = .{.mem},47420 .dst_temps = .{ .mem, .unused },
43622 .clobbers = .{ .eflags = true },47421 .clobbers = .{ .eflags = true },
43623 .each = .{ .once = &.{47422 .each = .{ .once = &.{
43624 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47423 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43635,7 +47434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43635,7 +47434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43635 }, .{47434 }, .{
43636 .required_features = .{ .@"64bit", null, null, null },47435 .required_features = .{ .@"64bit", null, null, null },
43637 .src_constraints = .{ .any_signed_int, .any, .any },47436 .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 },
43639 .patterns = &.{47438 .patterns = &.{
43640 .{ .src = .{ .to_mem, .none, .none } },47439 .{ .src = .{ .to_mem, .none, .none } },
43641 },47440 },
...@@ -43650,7 +47449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43650,7 +47449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43650 .unused,47449 .unused,
43651 .unused,47450 .unused,
43652 },47451 },
43653 .dst_temps = .{.mem},47452 .dst_temps = .{ .mem, .unused },
43654 .clobbers = .{ .eflags = true },47453 .clobbers = .{ .eflags = true },
43655 .each = .{ .once = &.{47454 .each = .{ .once = &.{
43656 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47455 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43665,7 +47464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43665,7 +47464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43665 }, .{47464 }, .{
43666 .required_features = .{ .@"64bit", null, null, null },47465 .required_features = .{ .@"64bit", null, null, null },
43667 .src_constraints = .{ .any_unsigned_int, .any, .any },47466 .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 },
43669 .patterns = &.{47468 .patterns = &.{
43670 .{ .src = .{ .to_mem, .none, .none } },47469 .{ .src = .{ .to_mem, .none, .none } },
43671 },47470 },
...@@ -43680,7 +47479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43680,7 +47479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43680 .unused,47479 .unused,
43681 .unused,47480 .unused,
43682 },47481 },
43683 .dst_temps = .{.mem},47482 .dst_temps = .{ .mem, .unused },
43684 .each = .{ .once = &.{47483 .each = .{ .once = &.{
43685 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47484 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
43686 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },47485 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
...@@ -43691,7 +47490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43691,7 +47490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43691 }, .{47490 }, .{
43692 .required_features = .{ .@"64bit", .bmi2, null, null },47491 .required_features = .{ .@"64bit", .bmi2, null, null },
43693 .src_constraints = .{ .any_unsigned_int, .any, .any },47492 .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 },
43695 .patterns = &.{47494 .patterns = &.{
43696 .{ .src = .{ .to_mem, .none, .none } },47495 .{ .src = .{ .to_mem, .none, .none } },
43697 },47496 },
...@@ -43706,7 +47505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43706,7 +47505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43706 .unused,47505 .unused,
43707 .unused,47506 .unused,
43708 },47507 },
43709 .dst_temps = .{.mem},47508 .dst_temps = .{ .mem, .unused },
43710 .clobbers = .{ .eflags = true },47509 .clobbers = .{ .eflags = true },
43711 .each = .{ .once = &.{47510 .each = .{ .once = &.{
43712 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47511 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43721,7 +47520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43721,7 +47520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43721 }, .{47520 }, .{
43722 .required_features = .{ .@"64bit", .bmi2, null, null },47521 .required_features = .{ .@"64bit", .bmi2, null, null },
43723 .src_constraints = .{ .any_unsigned_int, .any, .any },47522 .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 },
43725 .patterns = &.{47524 .patterns = &.{
43726 .{ .src = .{ .to_mem, .none, .none } },47525 .{ .src = .{ .to_mem, .none, .none } },
43727 },47526 },
...@@ -43736,7 +47535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43736,7 +47535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43736 .unused,47535 .unused,
43737 .unused,47536 .unused,
43738 },47537 },
43739 .dst_temps = .{.mem},47538 .dst_temps = .{ .mem, .unused },
43740 .clobbers = .{ .eflags = true },47539 .clobbers = .{ .eflags = true },
43741 .each = .{ .once = &.{47540 .each = .{ .once = &.{
43742 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47541 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43750,7 +47549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43750,7 +47549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43750 }, .{47549 }, .{
43751 .required_features = .{ .@"64bit", null, null, null },47550 .required_features = .{ .@"64bit", null, null, null },
43752 .src_constraints = .{ .any_unsigned_int, .any, .any },47551 .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 },
43754 .patterns = &.{47553 .patterns = &.{
43755 .{ .src = .{ .to_mem, .none, .none } },47554 .{ .src = .{ .to_mem, .none, .none } },
43756 },47555 },
...@@ -43765,7 +47564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43765,7 +47564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43765 .unused,47564 .unused,
43766 .unused,47565 .unused,
43767 },47566 },
43768 .dst_temps = .{.mem},47567 .dst_temps = .{ .mem, .unused },
43769 .clobbers = .{ .eflags = true },47568 .clobbers = .{ .eflags = true },
43770 .each = .{ .once = &.{47569 .each = .{ .once = &.{
43771 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47570 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43780,7 +47579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43780,7 +47579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43780 }, .{47579 }, .{
43781 .required_features = .{ .@"64bit", null, null, null },47580 .required_features = .{ .@"64bit", null, null, null },
43782 .src_constraints = .{ .any_unsigned_int, .any, .any },47581 .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 },
43784 .patterns = &.{47583 .patterns = &.{
43785 .{ .src = .{ .to_mem, .none, .none } },47584 .{ .src = .{ .to_mem, .none, .none } },
43786 },47585 },
...@@ -43795,7 +47594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43795,7 +47594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43795 .unused,47594 .unused,
43796 .unused,47595 .unused,
43797 },47596 },
43798 .dst_temps = .{.mem},47597 .dst_temps = .{ .mem, .unused },
43799 .clobbers = .{ .eflags = true },47598 .clobbers = .{ .eflags = true },
43800 .each = .{ .once = &.{47599 .each = .{ .once = &.{
43801 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },47600 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -43809,7 +47608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43809,7 +47608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43809 }, .{47608 }, .{
43810 .required_features = .{ .avx, null, null, null },47609 .required_features = .{ .avx, null, null, null },
43811 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },47610 .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 },
43813 .patterns = &.{47612 .patterns = &.{
43814 .{ .src = .{ .to_sse, .none, .none } },47613 .{ .src = .{ .to_sse, .none, .none } },
43815 },47614 },
...@@ -43824,7 +47623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43824,7 +47623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43824 .unused,47623 .unused,
43825 .unused,47624 .unused,
43826 },47625 },
43827 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},47626 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
43828 .each = .{ .once = &.{47627 .each = .{ .once = &.{
43829 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47628 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43830 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },47629 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -43835,7 +47634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43835,7 +47634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43835 }, .{47634 }, .{
43836 .required_features = .{ .avx, null, null, null },47635 .required_features = .{ .avx, null, null, null },
43837 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },47636 .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 },
43839 .patterns = &.{47638 .patterns = &.{
43840 .{ .src = .{ .to_sse, .none, .none } },47639 .{ .src = .{ .to_sse, .none, .none } },
43841 },47640 },
...@@ -43850,7 +47649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43850,7 +47649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43850 .unused,47649 .unused,
43851 .unused,47650 .unused,
43852 },47651 },
43853 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},47652 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
43854 .each = .{ .once = &.{47653 .each = .{ .once = &.{
43855 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47654 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43856 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },47655 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -43858,7 +47657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43858,7 +47657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43858 }, .{47657 }, .{
43859 .required_features = .{ .sse2, null, null, null },47658 .required_features = .{ .sse2, null, null, null },
43860 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },47659 .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 },
43862 .patterns = &.{47661 .patterns = &.{
43863 .{ .src = .{ .to_mut_sse, .none, .none } },47662 .{ .src = .{ .to_mut_sse, .none, .none } },
43864 },47663 },
...@@ -43873,7 +47672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43873,7 +47672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43873 .unused,47672 .unused,
43874 .unused,47673 .unused,
43875 },47674 },
43876 .dst_temps = .{.{ .ref = .src0 }},47675 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43877 .each = .{ .once = &.{47676 .each = .{ .once = &.{
43878 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47677 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43879 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },47678 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -43884,7 +47683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43884,7 +47683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43884 }, .{47683 }, .{
43885 .required_features = .{ .sse2, null, null, null },47684 .required_features = .{ .sse2, null, null, null },
43886 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },47685 .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 },
43888 .patterns = &.{47687 .patterns = &.{
43889 .{ .src = .{ .to_mut_sse, .none, .none } },47688 .{ .src = .{ .to_mut_sse, .none, .none } },
43890 },47689 },
...@@ -43899,7 +47698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43899,7 +47698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43899 .unused,47698 .unused,
43900 .unused,47699 .unused,
43901 },47700 },
43902 .dst_temps = .{.{ .ref = .src0 }},47701 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43903 .each = .{ .once = &.{47702 .each = .{ .once = &.{
43904 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47703 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43905 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },47704 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -43907,7 +47706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43907,7 +47706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43907 }, .{47706 }, .{
43908 .required_features = .{ .sse, null, null, null },47707 .required_features = .{ .sse, null, null, null },
43909 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },47708 .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 },
43911 .patterns = &.{47710 .patterns = &.{
43912 .{ .src = .{ .to_mut_sse, .none, .none } },47711 .{ .src = .{ .to_mut_sse, .none, .none } },
43913 },47712 },
...@@ -43922,7 +47721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43922,7 +47721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43922 .unused,47721 .unused,
43923 .unused,47722 .unused,
43924 },47723 },
43925 .dst_temps = .{.{ .ref = .src0 }},47724 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43926 .each = .{ .once = &.{47725 .each = .{ .once = &.{
43927 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47726 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43928 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },47727 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -43930,7 +47729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43930,7 +47729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43930 }, .{47729 }, .{
43931 .required_features = .{ .avx2, null, null, null },47730 .required_features = .{ .avx2, null, null, null },
43932 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },47731 .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 },
43934 .patterns = &.{47733 .patterns = &.{
43935 .{ .src = .{ .to_sse, .none, .none } },47734 .{ .src = .{ .to_sse, .none, .none } },
43936 },47735 },
...@@ -43945,7 +47744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43945,7 +47744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43945 .unused,47744 .unused,
43946 .unused,47745 .unused,
43947 },47746 },
43948 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},47747 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
43949 .each = .{ .once = &.{47748 .each = .{ .once = &.{
43950 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47749 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43951 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },47750 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -43956,7 +47755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43956,7 +47755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43956 }, .{47755 }, .{
43957 .required_features = .{ .avx2, null, null, null },47756 .required_features = .{ .avx2, null, null, null },
43958 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },47757 .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 },
43960 .patterns = &.{47759 .patterns = &.{
43961 .{ .src = .{ .to_sse, .none, .none } },47760 .{ .src = .{ .to_sse, .none, .none } },
43962 },47761 },
...@@ -43971,7 +47770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43971,7 +47770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43971 .unused,47770 .unused,
43972 .unused,47771 .unused,
43973 },47772 },
43974 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},47773 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
43975 .each = .{ .once = &.{47774 .each = .{ .once = &.{
43976 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },47775 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
43977 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },47776 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -43979,7 +47778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43979,7 +47778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43979 }, .{47778 }, .{
43980 .required_features = .{ .avx2, null, null, null },47779 .required_features = .{ .avx2, null, null, null },
43981 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },47780 .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 },
43983 .patterns = &.{47782 .patterns = &.{
43984 .{ .src = .{ .to_mem, .none, .none } },47783 .{ .src = .{ .to_mem, .none, .none } },
43985 },47784 },
...@@ -43994,7 +47793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -43994,7 +47793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43994 .unused,47793 .unused,
43995 .unused,47794 .unused,
43996 },47795 },
43997 .dst_temps = .{.mem},47796 .dst_temps = .{ .mem, .unused },
43998 .clobbers = .{ .eflags = true },47797 .clobbers = .{ .eflags = true },
43999 .each = .{ .once = &.{47798 .each = .{ .once = &.{
44000 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },47799 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
...@@ -44012,7 +47811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44012,7 +47811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44012 }, .{47811 }, .{
44013 .required_features = .{ .avx2, null, null, null },47812 .required_features = .{ .avx2, null, null, null },
44014 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },47813 .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 },
44016 .patterns = &.{47815 .patterns = &.{
44017 .{ .src = .{ .to_mem, .none, .none } },47816 .{ .src = .{ .to_mem, .none, .none } },
44018 },47817 },
...@@ -44027,7 +47826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44027,7 +47826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44027 .unused,47826 .unused,
44028 .unused,47827 .unused,
44029 },47828 },
44030 .dst_temps = .{.mem},47829 .dst_temps = .{ .mem, .unused },
44031 .clobbers = .{ .eflags = true },47830 .clobbers = .{ .eflags = true },
44032 .each = .{ .once = &.{47831 .each = .{ .once = &.{
44033 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },47832 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -44041,7 +47840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44041,7 +47840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44041 }, .{47840 }, .{
44042 .required_features = .{ .avx, null, null, null },47841 .required_features = .{ .avx, null, null, null },
44043 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },47842 .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 },
44045 .patterns = &.{47844 .patterns = &.{
44046 .{ .src = .{ .to_mem, .none, .none } },47845 .{ .src = .{ .to_mem, .none, .none } },
44047 },47846 },
...@@ -44056,7 +47855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44056,7 +47855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44056 .unused,47855 .unused,
44057 .unused,47856 .unused,
44058 },47857 },
44059 .dst_temps = .{.mem},47858 .dst_temps = .{ .mem, .unused },
44060 .clobbers = .{ .eflags = true },47859 .clobbers = .{ .eflags = true },
44061 .each = .{ .once = &.{47860 .each = .{ .once = &.{
44062 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },47861 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
...@@ -44074,7 +47873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44074,7 +47873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44074 }, .{47873 }, .{
44075 .required_features = .{ .avx, null, null, null },47874 .required_features = .{ .avx, null, null, null },
44076 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },47875 .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 },
44078 .patterns = &.{47877 .patterns = &.{
44079 .{ .src = .{ .to_mem, .none, .none } },47878 .{ .src = .{ .to_mem, .none, .none } },
44080 },47879 },
...@@ -44089,7 +47888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44089,7 +47888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44089 .unused,47888 .unused,
44090 .unused,47889 .unused,
44091 },47890 },
44092 .dst_temps = .{.mem},47891 .dst_temps = .{ .mem, .unused },
44093 .clobbers = .{ .eflags = true },47892 .clobbers = .{ .eflags = true },
44094 .each = .{ .once = &.{47893 .each = .{ .once = &.{
44095 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },47894 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -44103,7 +47902,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44103,7 +47902,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44103 }, .{47902 }, .{
44104 .required_features = .{ .sse2, null, null, null },47903 .required_features = .{ .sse2, null, null, null },
44105 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },47904 .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 },
44107 .patterns = &.{47906 .patterns = &.{
44108 .{ .src = .{ .to_mem, .none, .none } },47907 .{ .src = .{ .to_mem, .none, .none } },
44109 },47908 },
...@@ -44118,7 +47917,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44118,7 +47917,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44118 .unused,47917 .unused,
44119 .unused,47918 .unused,
44120 },47919 },
44121 .dst_temps = .{.mem},47920 .dst_temps = .{ .mem, .unused },
44122 .clobbers = .{ .eflags = true },47921 .clobbers = .{ .eflags = true },
44123 .each = .{ .once = &.{47922 .each = .{ .once = &.{
44124 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },47923 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
...@@ -44137,7 +47936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44137,7 +47936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44137 }, .{47936 }, .{
44138 .required_features = .{ .sse2, null, null, null },47937 .required_features = .{ .sse2, null, null, null },
44139 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },47938 .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 },
44141 .patterns = &.{47940 .patterns = &.{
44142 .{ .src = .{ .to_mem, .none, .none } },47941 .{ .src = .{ .to_mem, .none, .none } },
44143 },47942 },
...@@ -44152,7 +47951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44152,7 +47951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44152 .unused,47951 .unused,
44153 .unused,47952 .unused,
44154 },47953 },
44155 .dst_temps = .{.mem},47954 .dst_temps = .{ .mem, .unused },
44156 .clobbers = .{ .eflags = true },47955 .clobbers = .{ .eflags = true },
44157 .each = .{ .once = &.{47956 .each = .{ .once = &.{
44158 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },47957 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -44167,7 +47966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44167,7 +47966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44167 }, .{47966 }, .{
44168 .required_features = .{ .sse, null, null, null },47967 .required_features = .{ .sse, null, null, null },
44169 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },47968 .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 },
44171 .patterns = &.{47970 .patterns = &.{
44172 .{ .src = .{ .to_mem, .none, .none } },47971 .{ .src = .{ .to_mem, .none, .none } },
44173 },47972 },
...@@ -44182,7 +47981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44182,7 +47981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44182 .unused,47981 .unused,
44183 .unused,47982 .unused,
44184 },47983 },
44185 .dst_temps = .{.mem},47984 .dst_temps = .{ .mem, .unused },
44186 .clobbers = .{ .eflags = true },47985 .clobbers = .{ .eflags = true },
44187 .each = .{ .once = &.{47986 .each = .{ .once = &.{
44188 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },47987 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -44197,7 +47996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44197,7 +47996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44197 }, .{47996 }, .{
44198 .required_features = .{ .slow_incdec, null, null, null },47997 .required_features = .{ .slow_incdec, null, null, null },
44199 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },47998 .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 },
44201 .patterns = &.{48000 .patterns = &.{
44202 .{ .src = .{ .to_mem, .none, .none } },48001 .{ .src = .{ .to_mem, .none, .none } },
44203 },48002 },
...@@ -44212,7 +48011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44212,7 +48011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44212 .unused,48011 .unused,
44213 .unused,48012 .unused,
44214 },48013 },
44215 .dst_temps = .{.mem},48014 .dst_temps = .{ .mem, .unused },
44216 .clobbers = .{ .eflags = true },48015 .clobbers = .{ .eflags = true },
44217 .each = .{ .once = &.{48016 .each = .{ .once = &.{
44218 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48017 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44225,7 +48024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44225,7 +48024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44225 } },48024 } },
44226 }, .{48025 }, .{
44227 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },48026 .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 },
44229 .patterns = &.{48028 .patterns = &.{
44230 .{ .src = .{ .to_mem, .none, .none } },48029 .{ .src = .{ .to_mem, .none, .none } },
44231 },48030 },
...@@ -44240,7 +48039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44240,7 +48039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44240 .unused,48039 .unused,
44241 .unused,48040 .unused,
44242 },48041 },
44243 .dst_temps = .{.mem},48042 .dst_temps = .{ .mem, .unused },
44244 .clobbers = .{ .eflags = true },48043 .clobbers = .{ .eflags = true },
44245 .each = .{ .once = &.{48044 .each = .{ .once = &.{
44246 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48045 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44254,7 +48053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44254,7 +48053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44254 }, .{48053 }, .{
44255 .required_features = .{ .slow_incdec, null, null, null },48054 .required_features = .{ .slow_incdec, null, null, null },
44256 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },48055 .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 },
44258 .patterns = &.{48057 .patterns = &.{
44259 .{ .src = .{ .to_mem, .none, .none } },48058 .{ .src = .{ .to_mem, .none, .none } },
44260 },48059 },
...@@ -44269,7 +48068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44269,7 +48068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44269 .unused,48068 .unused,
44270 .unused,48069 .unused,
44271 },48070 },
44272 .dst_temps = .{.mem},48071 .dst_temps = .{ .mem, .unused },
44273 .clobbers = .{ .eflags = true },48072 .clobbers = .{ .eflags = true },
44274 .each = .{ .once = &.{48073 .each = .{ .once = &.{
44275 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48074 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44282,7 +48081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44282,7 +48081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44282 } },48081 } },
44283 }, .{48082 }, .{
44284 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },48083 .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 },
44286 .patterns = &.{48085 .patterns = &.{
44287 .{ .src = .{ .to_mem, .none, .none } },48086 .{ .src = .{ .to_mem, .none, .none } },
44288 },48087 },
...@@ -44297,7 +48096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44297,7 +48096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44297 .unused,48096 .unused,
44298 .unused,48097 .unused,
44299 },48098 },
44300 .dst_temps = .{.mem},48099 .dst_temps = .{ .mem, .unused },
44301 .clobbers = .{ .eflags = true },48100 .clobbers = .{ .eflags = true },
44302 .each = .{ .once = &.{48101 .each = .{ .once = &.{
44303 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48102 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44311,7 +48110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44311,7 +48110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44311 }, .{48110 }, .{
44312 .required_features = .{ .slow_incdec, null, null, null },48111 .required_features = .{ .slow_incdec, null, null, null },
44313 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },48112 .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 },
44315 .patterns = &.{48114 .patterns = &.{
44316 .{ .src = .{ .to_mem, .none, .none } },48115 .{ .src = .{ .to_mem, .none, .none } },
44317 },48116 },
...@@ -44326,7 +48125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44326,7 +48125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44326 .unused,48125 .unused,
44327 .unused,48126 .unused,
44328 },48127 },
44329 .dst_temps = .{.mem},48128 .dst_temps = .{ .mem, .unused },
44330 .clobbers = .{ .eflags = true },48129 .clobbers = .{ .eflags = true },
44331 .each = .{ .once = &.{48130 .each = .{ .once = &.{
44332 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48131 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44338,7 +48137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44338,7 +48137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44338 } },48137 } },
44339 }, .{48138 }, .{
44340 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },48139 .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 },
44342 .patterns = &.{48141 .patterns = &.{
44343 .{ .src = .{ .to_mem, .none, .none } },48142 .{ .src = .{ .to_mem, .none, .none } },
44344 },48143 },
...@@ -44353,7 +48152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44353,7 +48152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44353 .unused,48152 .unused,
44354 .unused,48153 .unused,
44355 },48154 },
44356 .dst_temps = .{.mem},48155 .dst_temps = .{ .mem, .unused },
44357 .clobbers = .{ .eflags = true },48156 .clobbers = .{ .eflags = true },
44358 .each = .{ .once = &.{48157 .each = .{ .once = &.{
44359 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48158 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44366,7 +48165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44366,7 +48165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44366 }, .{48165 }, .{
44367 .required_features = .{ .slow_incdec, null, null, null },48166 .required_features = .{ .slow_incdec, null, null, null },
44368 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },48167 .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 },
44370 .patterns = &.{48169 .patterns = &.{
44371 .{ .src = .{ .to_mem, .none, .none } },48170 .{ .src = .{ .to_mem, .none, .none } },
44372 },48171 },
...@@ -44381,7 +48180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44381,7 +48180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44381 .unused,48180 .unused,
44382 .unused,48181 .unused,
44383 },48182 },
44384 .dst_temps = .{.mem},48183 .dst_temps = .{ .mem, .unused },
44385 .clobbers = .{ .eflags = true },48184 .clobbers = .{ .eflags = true },
44386 .each = .{ .once = &.{48185 .each = .{ .once = &.{
44387 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48186 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44392,7 +48191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44392,7 +48191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44392 } },48191 } },
44393 }, .{48192 }, .{
44394 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },48193 .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 },
44396 .patterns = &.{48195 .patterns = &.{
44397 .{ .src = .{ .to_mem, .none, .none } },48196 .{ .src = .{ .to_mem, .none, .none } },
44398 },48197 },
...@@ -44407,7 +48206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44407,7 +48206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44407 .unused,48206 .unused,
44408 .unused,48207 .unused,
44409 },48208 },
44410 .dst_temps = .{.mem},48209 .dst_temps = .{ .mem, .unused },
44411 .clobbers = .{ .eflags = true },48210 .clobbers = .{ .eflags = true },
44412 .each = .{ .once = &.{48211 .each = .{ .once = &.{
44413 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48212 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44419,7 +48218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44419,7 +48218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44419 }, .{48218 }, .{
44420 .required_features = .{ .slow_incdec, null, null, null },48219 .required_features = .{ .slow_incdec, null, null, null },
44421 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },48220 .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 },
44423 .patterns = &.{48222 .patterns = &.{
44424 .{ .src = .{ .to_mem, .none, .none } },48223 .{ .src = .{ .to_mem, .none, .none } },
44425 },48224 },
...@@ -44434,7 +48233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44434,7 +48233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44434 .unused,48233 .unused,
44435 .unused,48234 .unused,
44436 },48235 },
44437 .dst_temps = .{.mem},48236 .dst_temps = .{ .mem, .unused },
44438 .clobbers = .{ .eflags = true },48237 .clobbers = .{ .eflags = true },
44439 .each = .{ .once = &.{48238 .each = .{ .once = &.{
44440 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48239 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44447,7 +48246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44447,7 +48246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44447 } },48246 } },
44448 }, .{48247 }, .{
44449 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },48248 .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 },
44451 .patterns = &.{48250 .patterns = &.{
44452 .{ .src = .{ .to_mem, .none, .none } },48251 .{ .src = .{ .to_mem, .none, .none } },
44453 },48252 },
...@@ -44462,7 +48261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44462,7 +48261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44462 .unused,48261 .unused,
44463 .unused,48262 .unused,
44464 },48263 },
44465 .dst_temps = .{.mem},48264 .dst_temps = .{ .mem, .unused },
44466 .clobbers = .{ .eflags = true },48265 .clobbers = .{ .eflags = true },
44467 .each = .{ .once = &.{48266 .each = .{ .once = &.{
44468 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48267 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44476,7 +48275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44476,7 +48275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44476 }, .{48275 }, .{
44477 .required_features = .{ .slow_incdec, null, null, null },48276 .required_features = .{ .slow_incdec, null, null, null },
44478 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },48277 .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 },
44480 .patterns = &.{48279 .patterns = &.{
44481 .{ .src = .{ .to_mem, .none, .none } },48280 .{ .src = .{ .to_mem, .none, .none } },
44482 },48281 },
...@@ -44491,7 +48290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44491,7 +48290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44491 .unused,48290 .unused,
44492 .unused,48291 .unused,
44493 },48292 },
44494 .dst_temps = .{.mem},48293 .dst_temps = .{ .mem, .unused },
44495 .clobbers = .{ .eflags = true },48294 .clobbers = .{ .eflags = true },
44496 .each = .{ .once = &.{48295 .each = .{ .once = &.{
44497 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48296 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44503,7 +48302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44503,7 +48302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44503 } },48302 } },
44504 }, .{48303 }, .{
44505 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },48304 .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 },
44507 .patterns = &.{48306 .patterns = &.{
44508 .{ .src = .{ .to_mem, .none, .none } },48307 .{ .src = .{ .to_mem, .none, .none } },
44509 },48308 },
...@@ -44518,7 +48317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44518,7 +48317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44518 .unused,48317 .unused,
44519 .unused,48318 .unused,
44520 },48319 },
44521 .dst_temps = .{.mem},48320 .dst_temps = .{ .mem, .unused },
44522 .clobbers = .{ .eflags = true },48321 .clobbers = .{ .eflags = true },
44523 .each = .{ .once = &.{48322 .each = .{ .once = &.{
44524 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48323 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44531,7 +48330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44531,7 +48330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44531 }, .{48330 }, .{
44532 .required_features = .{ .slow_incdec, null, null, null },48331 .required_features = .{ .slow_incdec, null, null, null },
44533 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },48332 .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 },
44535 .patterns = &.{48334 .patterns = &.{
44536 .{ .src = .{ .to_mem, .none, .none } },48335 .{ .src = .{ .to_mem, .none, .none } },
44537 },48336 },
...@@ -44546,7 +48345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44546,7 +48345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44546 .unused,48345 .unused,
44547 .unused,48346 .unused,
44548 },48347 },
44549 .dst_temps = .{.mem},48348 .dst_temps = .{ .mem, .unused },
44550 .clobbers = .{ .eflags = true },48349 .clobbers = .{ .eflags = true },
44551 .each = .{ .once = &.{48350 .each = .{ .once = &.{
44552 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48351 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44557,7 +48356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44557,7 +48356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44557 } },48356 } },
44558 }, .{48357 }, .{
44559 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },48358 .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 },
44561 .patterns = &.{48360 .patterns = &.{
44562 .{ .src = .{ .to_mem, .none, .none } },48361 .{ .src = .{ .to_mem, .none, .none } },
44563 },48362 },
...@@ -44572,7 +48371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44572,7 +48371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44572 .unused,48371 .unused,
44573 .unused,48372 .unused,
44574 },48373 },
44575 .dst_temps = .{.mem},48374 .dst_temps = .{ .mem, .unused },
44576 .clobbers = .{ .eflags = true },48375 .clobbers = .{ .eflags = true },
44577 .each = .{ .once = &.{48376 .each = .{ .once = &.{
44578 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48377 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44584,7 +48383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44584,7 +48383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44584 }, .{48383 }, .{
44585 .required_features = .{ .slow_incdec, null, null, null },48384 .required_features = .{ .slow_incdec, null, null, null },
44586 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },48385 .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 },
44588 .patterns = &.{48387 .patterns = &.{
44589 .{ .src = .{ .to_mem, .none, .none } },48388 .{ .src = .{ .to_mem, .none, .none } },
44590 },48389 },
...@@ -44599,7 +48398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44599,7 +48398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44599 .unused,48398 .unused,
44600 .unused,48399 .unused,
44601 },48400 },
44602 .dst_temps = .{.mem},48401 .dst_temps = .{ .mem, .unused },
44603 .clobbers = .{ .eflags = true },48402 .clobbers = .{ .eflags = true },
44604 .each = .{ .once = &.{48403 .each = .{ .once = &.{
44605 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48404 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44612,7 +48411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44612,7 +48411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44612 } },48411 } },
44613 }, .{48412 }, .{
44614 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },48413 .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 },
44616 .patterns = &.{48415 .patterns = &.{
44617 .{ .src = .{ .to_mem, .none, .none } },48416 .{ .src = .{ .to_mem, .none, .none } },
44618 },48417 },
...@@ -44627,7 +48426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44627,7 +48426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44627 .unused,48426 .unused,
44628 .unused,48427 .unused,
44629 },48428 },
44630 .dst_temps = .{.mem},48429 .dst_temps = .{ .mem, .unused },
44631 .clobbers = .{ .eflags = true },48430 .clobbers = .{ .eflags = true },
44632 .each = .{ .once = &.{48431 .each = .{ .once = &.{
44633 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48432 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44641,7 +48440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44641,7 +48440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44641 }, .{48440 }, .{
44642 .required_features = .{ .bmi2, .slow_incdec, null, null },48441 .required_features = .{ .bmi2, .slow_incdec, null, null },
44643 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },48442 .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 },
44645 .patterns = &.{48444 .patterns = &.{
44646 .{ .src = .{ .to_mem, .none, .none } },48445 .{ .src = .{ .to_mem, .none, .none } },
44647 },48446 },
...@@ -44656,7 +48455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44656,7 +48455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44656 .unused,48455 .unused,
44657 .unused,48456 .unused,
44658 },48457 },
44659 .dst_temps = .{.mem},48458 .dst_temps = .{ .mem, .unused },
44660 .clobbers = .{ .eflags = true },48459 .clobbers = .{ .eflags = true },
44661 .each = .{ .once = &.{48460 .each = .{ .once = &.{
44662 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48461 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44669,7 +48468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44669,7 +48468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44669 }, .{48468 }, .{
44670 .required_features = .{ .bmi2, null, null, null },48469 .required_features = .{ .bmi2, null, null, null },
44671 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },48470 .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 },
44673 .patterns = &.{48472 .patterns = &.{
44674 .{ .src = .{ .to_mem, .none, .none } },48473 .{ .src = .{ .to_mem, .none, .none } },
44675 },48474 },
...@@ -44684,7 +48483,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44684,7 +48483,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44684 .unused,48483 .unused,
44685 .unused,48484 .unused,
44686 },48485 },
44687 .dst_temps = .{.mem},48486 .dst_temps = .{ .mem, .unused },
44688 .clobbers = .{ .eflags = true },48487 .clobbers = .{ .eflags = true },
44689 .each = .{ .once = &.{48488 .each = .{ .once = &.{
44690 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48489 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44697,7 +48496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44697,7 +48496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44697 }, .{48496 }, .{
44698 .required_features = .{ .slow_incdec, null, null, null },48497 .required_features = .{ .slow_incdec, null, null, null },
44699 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },48498 .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 },
44701 .patterns = &.{48500 .patterns = &.{
44702 .{ .src = .{ .to_mem, .none, .none } },48501 .{ .src = .{ .to_mem, .none, .none } },
44703 },48502 },
...@@ -44712,7 +48511,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44712,7 +48511,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44712 .unused,48511 .unused,
44713 .unused,48512 .unused,
44714 },48513 },
44715 .dst_temps = .{.mem},48514 .dst_temps = .{ .mem, .unused },
44716 .clobbers = .{ .eflags = true },48515 .clobbers = .{ .eflags = true },
44717 .each = .{ .once = &.{48516 .each = .{ .once = &.{
44718 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48517 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44724,7 +48523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44724,7 +48523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44724 } },48523 } },
44725 }, .{48524 }, .{
44726 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },48525 .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 },
44728 .patterns = &.{48527 .patterns = &.{
44729 .{ .src = .{ .to_mem, .none, .none } },48528 .{ .src = .{ .to_mem, .none, .none } },
44730 },48529 },
...@@ -44739,7 +48538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44739,7 +48538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44739 .unused,48538 .unused,
44740 .unused,48539 .unused,
44741 },48540 },
44742 .dst_temps = .{.mem},48541 .dst_temps = .{ .mem, .unused },
44743 .clobbers = .{ .eflags = true },48542 .clobbers = .{ .eflags = true },
44744 .each = .{ .once = &.{48543 .each = .{ .once = &.{
44745 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48544 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44752,7 +48551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44752,7 +48551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44752 }, .{48551 }, .{
44753 .required_features = .{ .slow_incdec, null, null, null },48552 .required_features = .{ .slow_incdec, null, null, null },
44754 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },48553 .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 },
44756 .patterns = &.{48555 .patterns = &.{
44757 .{ .src = .{ .to_mem, .none, .none } },48556 .{ .src = .{ .to_mem, .none, .none } },
44758 },48557 },
...@@ -44767,7 +48566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44767,7 +48566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44767 .unused,48566 .unused,
44768 .unused,48567 .unused,
44769 },48568 },
44770 .dst_temps = .{.mem},48569 .dst_temps = .{ .mem, .unused },
44771 .clobbers = .{ .eflags = true },48570 .clobbers = .{ .eflags = true },
44772 .each = .{ .once = &.{48571 .each = .{ .once = &.{
44773 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48572 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44778,7 +48577,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44778,7 +48577,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44778 } },48577 } },
44779 }, .{48578 }, .{
44780 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },48579 .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 },
44782 .patterns = &.{48581 .patterns = &.{
44783 .{ .src = .{ .to_mem, .none, .none } },48582 .{ .src = .{ .to_mem, .none, .none } },
44784 },48583 },
...@@ -44793,7 +48592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44793,7 +48592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44793 .unused,48592 .unused,
44794 .unused,48593 .unused,
44795 },48594 },
44796 .dst_temps = .{.mem},48595 .dst_temps = .{ .mem, .unused },
44797 .clobbers = .{ .eflags = true },48596 .clobbers = .{ .eflags = true },
44798 .each = .{ .once = &.{48597 .each = .{ .once = &.{
44799 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48598 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44805,7 +48604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44805,7 +48604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44805 }, .{48604 }, .{
44806 .required_features = .{ .slow_incdec, null, null, null },48605 .required_features = .{ .slow_incdec, null, null, null },
44807 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },48606 .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 },
44809 .patterns = &.{48608 .patterns = &.{
44810 .{ .src = .{ .to_mem, .none, .none } },48609 .{ .src = .{ .to_mem, .none, .none } },
44811 },48610 },
...@@ -44820,7 +48619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44820,7 +48619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44820 .unused,48619 .unused,
44821 .unused,48620 .unused,
44822 },48621 },
44823 .dst_temps = .{.mem},48622 .dst_temps = .{ .mem, .unused },
44824 .clobbers = .{ .eflags = true },48623 .clobbers = .{ .eflags = true },
44825 .each = .{ .once = &.{48624 .each = .{ .once = &.{
44826 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48625 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44833,7 +48632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44833,7 +48632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44833 } },48632 } },
44834 }, .{48633 }, .{
44835 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },48634 .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 },
44837 .patterns = &.{48636 .patterns = &.{
44838 .{ .src = .{ .to_mem, .none, .none } },48637 .{ .src = .{ .to_mem, .none, .none } },
44839 },48638 },
...@@ -44848,7 +48647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44848,7 +48647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44848 .unused,48647 .unused,
44849 .unused,48648 .unused,
44850 },48649 },
44851 .dst_temps = .{.mem},48650 .dst_temps = .{ .mem, .unused },
44852 .clobbers = .{ .eflags = true },48651 .clobbers = .{ .eflags = true },
44853 .each = .{ .once = &.{48652 .each = .{ .once = &.{
44854 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48653 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44862,7 +48661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44862,7 +48661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44862 }, .{48661 }, .{
44863 .required_features = .{ .bmi2, .slow_incdec, null, null },48662 .required_features = .{ .bmi2, .slow_incdec, null, null },
44864 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },48663 .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 },
44866 .patterns = &.{48665 .patterns = &.{
44867 .{ .src = .{ .to_mem, .none, .none } },48666 .{ .src = .{ .to_mem, .none, .none } },
44868 },48667 },
...@@ -44877,7 +48676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44877,7 +48676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44877 .unused,48676 .unused,
44878 .unused,48677 .unused,
44879 },48678 },
44880 .dst_temps = .{.mem},48679 .dst_temps = .{ .mem, .unused },
44881 .clobbers = .{ .eflags = true },48680 .clobbers = .{ .eflags = true },
44882 .each = .{ .once = &.{48681 .each = .{ .once = &.{
44883 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48682 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44890,7 +48689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44890,7 +48689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44890 }, .{48689 }, .{
44891 .required_features = .{ .bmi2, null, null, null },48690 .required_features = .{ .bmi2, null, null, null },
44892 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },48691 .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 },
44894 .patterns = &.{48693 .patterns = &.{
44895 .{ .src = .{ .to_mem, .none, .none } },48694 .{ .src = .{ .to_mem, .none, .none } },
44896 },48695 },
...@@ -44905,7 +48704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44905,7 +48704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44905 .unused,48704 .unused,
44906 .unused,48705 .unused,
44907 },48706 },
44908 .dst_temps = .{.mem},48707 .dst_temps = .{ .mem, .unused },
44909 .clobbers = .{ .eflags = true },48708 .clobbers = .{ .eflags = true },
44910 .each = .{ .once = &.{48709 .each = .{ .once = &.{
44911 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48710 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44918,7 +48717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44918,7 +48717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44918 }, .{48717 }, .{
44919 .required_features = .{ .slow_incdec, null, null, null },48718 .required_features = .{ .slow_incdec, null, null, null },
44920 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },48719 .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 },
44922 .patterns = &.{48721 .patterns = &.{
44923 .{ .src = .{ .to_mem, .none, .none } },48722 .{ .src = .{ .to_mem, .none, .none } },
44924 },48723 },
...@@ -44933,7 +48732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44933,7 +48732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44933 .unused,48732 .unused,
44934 .unused,48733 .unused,
44935 },48734 },
44936 .dst_temps = .{.mem},48735 .dst_temps = .{ .mem, .unused },
44937 .clobbers = .{ .eflags = true },48736 .clobbers = .{ .eflags = true },
44938 .each = .{ .once = &.{48737 .each = .{ .once = &.{
44939 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48738 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44945,7 +48744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44945,7 +48744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44945 } },48744 } },
44946 }, .{48745 }, .{
44947 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },48746 .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 },
44949 .patterns = &.{48748 .patterns = &.{
44950 .{ .src = .{ .to_mem, .none, .none } },48749 .{ .src = .{ .to_mem, .none, .none } },
44951 },48750 },
...@@ -44960,7 +48759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44960,7 +48759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44960 .unused,48759 .unused,
44961 .unused,48760 .unused,
44962 },48761 },
44963 .dst_temps = .{.mem},48762 .dst_temps = .{ .mem, .unused },
44964 .clobbers = .{ .eflags = true },48763 .clobbers = .{ .eflags = true },
44965 .each = .{ .once = &.{48764 .each = .{ .once = &.{
44966 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48765 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -44973,7 +48772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44973,7 +48772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44973 }, .{48772 }, .{
44974 .required_features = .{ .slow_incdec, null, null, null },48773 .required_features = .{ .slow_incdec, null, null, null },
44975 .src_constraints = .{ .any_scalar_int, .any, .any },48774 .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 },
44977 .patterns = &.{48776 .patterns = &.{
44978 .{ .src = .{ .to_mem, .none, .none } },48777 .{ .src = .{ .to_mem, .none, .none } },
44979 },48778 },
...@@ -44988,7 +48787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -44988,7 +48787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44988 .unused,48787 .unused,
44989 .unused,48788 .unused,
44990 },48789 },
44991 .dst_temps = .{.mem},48790 .dst_temps = .{ .mem, .unused },
44992 .clobbers = .{ .eflags = true },48791 .clobbers = .{ .eflags = true },
44993 .each = .{ .once = &.{48792 .each = .{ .once = &.{
44994 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48793 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45001,7 +48800,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45001,7 +48800,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45001 } },48800 } },
45002 }, .{48801 }, .{
45003 .src_constraints = .{ .any_scalar_int, .any, .any },48802 .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 },
45005 .patterns = &.{48804 .patterns = &.{
45006 .{ .src = .{ .to_mem, .none, .none } },48805 .{ .src = .{ .to_mem, .none, .none } },
45007 },48806 },
...@@ -45016,7 +48815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45016,7 +48815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45016 .unused,48815 .unused,
45017 .unused,48816 .unused,
45018 },48817 },
45019 .dst_temps = .{.mem},48818 .dst_temps = .{ .mem, .unused },
45020 .clobbers = .{ .eflags = true },48819 .clobbers = .{ .eflags = true },
45021 .each = .{ .once = &.{48820 .each = .{ .once = &.{
45022 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48821 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45030,7 +48829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45030,7 +48829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45030 }, .{48829 }, .{
45031 .required_features = .{ .slow_incdec, null, null, null },48830 .required_features = .{ .slow_incdec, null, null, null },
45032 .src_constraints = .{ .any_scalar_signed_int, .any, .any },48831 .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 },
45034 .patterns = &.{48833 .patterns = &.{
45035 .{ .src = .{ .to_mem, .none, .none } },48834 .{ .src = .{ .to_mem, .none, .none } },
45036 },48835 },
...@@ -45045,7 +48844,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45045,7 +48844,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45045 .unused,48844 .unused,
45046 .unused,48845 .unused,
45047 },48846 },
45048 .dst_temps = .{.mem},48847 .dst_temps = .{ .mem, .unused },
45049 .clobbers = .{ .eflags = true },48848 .clobbers = .{ .eflags = true },
45050 .each = .{ .once = &.{48849 .each = .{ .once = &.{
45051 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48850 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45060,7 +48859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45060,7 +48859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45060 } },48859 } },
45061 }, .{48860 }, .{
45062 .src_constraints = .{ .any_scalar_signed_int, .any, .any },48861 .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 },
45064 .patterns = &.{48863 .patterns = &.{
45065 .{ .src = .{ .to_mem, .none, .none } },48864 .{ .src = .{ .to_mem, .none, .none } },
45066 },48865 },
...@@ -45075,7 +48874,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45075,7 +48874,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45075 .unused,48874 .unused,
45076 .unused,48875 .unused,
45077 },48876 },
45078 .dst_temps = .{.mem},48877 .dst_temps = .{ .mem, .unused },
45079 .clobbers = .{ .eflags = true },48878 .clobbers = .{ .eflags = true },
45080 .each = .{ .once = &.{48879 .each = .{ .once = &.{
45081 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48880 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45091,7 +48890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45091,7 +48890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45091 }, .{48890 }, .{
45092 .required_features = .{ .bmi2, .slow_incdec, null, null },48891 .required_features = .{ .bmi2, .slow_incdec, null, null },
45093 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },48892 .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 },
45095 .patterns = &.{48894 .patterns = &.{
45096 .{ .src = .{ .to_mem, .none, .none } },48895 .{ .src = .{ .to_mem, .none, .none } },
45097 },48896 },
...@@ -45106,7 +48905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45106,7 +48905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45106 .unused,48905 .unused,
45107 .unused,48906 .unused,
45108 },48907 },
45109 .dst_temps = .{.mem},48908 .dst_temps = .{ .mem, .unused },
45110 .clobbers = .{ .eflags = true },48909 .clobbers = .{ .eflags = true },
45111 .each = .{ .once = &.{48910 .each = .{ .once = &.{
45112 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48911 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45121,7 +48920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45121,7 +48920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45121 }, .{48920 }, .{
45122 .required_features = .{ .bmi2, null, null, null },48921 .required_features = .{ .bmi2, null, null, null },
45123 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },48922 .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 },
45125 .patterns = &.{48924 .patterns = &.{
45126 .{ .src = .{ .to_mem, .none, .none } },48925 .{ .src = .{ .to_mem, .none, .none } },
45127 },48926 },
...@@ -45136,7 +48935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45136,7 +48935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45136 .unused,48935 .unused,
45137 .unused,48936 .unused,
45138 },48937 },
45139 .dst_temps = .{.mem},48938 .dst_temps = .{ .mem, .unused },
45140 .clobbers = .{ .eflags = true },48939 .clobbers = .{ .eflags = true },
45141 .each = .{ .once = &.{48940 .each = .{ .once = &.{
45142 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48941 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45151,7 +48950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45151,7 +48950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45151 }, .{48950 }, .{
45152 .required_features = .{ .slow_incdec, null, null, null },48951 .required_features = .{ .slow_incdec, null, null, null },
45153 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },48952 .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 },
45155 .patterns = &.{48954 .patterns = &.{
45156 .{ .src = .{ .to_mem, .none, .none } },48955 .{ .src = .{ .to_mem, .none, .none } },
45157 },48956 },
...@@ -45166,7 +48965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45166,7 +48965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45166 .unused,48965 .unused,
45167 .unused,48966 .unused,
45168 },48967 },
45169 .dst_temps = .{.mem},48968 .dst_temps = .{ .mem, .unused },
45170 .clobbers = .{ .eflags = true },48969 .clobbers = .{ .eflags = true },
45171 .each = .{ .once = &.{48970 .each = .{ .once = &.{
45172 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },48971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45180,7 +48979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45180,7 +48979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45180 } },48979 } },
45181 }, .{48980 }, .{
45182 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },48981 .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 },
45184 .patterns = &.{48983 .patterns = &.{
45185 .{ .src = .{ .to_mem, .none, .none } },48984 .{ .src = .{ .to_mem, .none, .none } },
45186 },48985 },
...@@ -45195,7 +48994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45195,7 +48994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45195 .unused,48994 .unused,
45196 .unused,48995 .unused,
45197 },48996 },
45198 .dst_temps = .{.mem},48997 .dst_temps = .{ .mem, .unused },
45199 .clobbers = .{ .eflags = true },48998 .clobbers = .{ .eflags = true },
45200 .each = .{ .once = &.{48999 .each = .{ .once = &.{
45201 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49000 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45210,11 +49009,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45210,11 +49009,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45210 }, .{49009 }, .{
45211 .required_features = .{ .avx, null, null, null },49010 .required_features = .{ .avx, null, null, null },
45212 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },49011 .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 },
45214 .patterns = &.{49013 .patterns = &.{
45215 .{ .src = .{ .to_sse, .none, .none } },49014 .{ .src = .{ .to_sse, .none, .none } },
45216 },49015 },
45217 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},49016 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
45218 .each = .{ .once = &.{49017 .each = .{ .once = &.{
45219 .{ ._, .vp_w, .sll, .dst0x, .src0x, .uia(16, .dst0, .sub_bit_size), ._ },49018 .{ ._, .vp_w, .sll, .dst0x, .src0x, .uia(16, .dst0, .sub_bit_size), ._ },
45220 .{ ._, .vp_w, .sra, .dst0x, .dst0x, .uia(16, .dst0, .sub_bit_size), ._ },49019 .{ ._, .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 {...@@ -45222,7 +49021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45222 }, .{49021 }, .{
45223 .required_features = .{ .avx, null, null, null },49022 .required_features = .{ .avx, null, null, null },
45224 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },49023 .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 },
45226 .patterns = &.{49025 .patterns = &.{
45227 .{ .src = .{ .to_sse, .none, .none } },49026 .{ .src = .{ .to_sse, .none, .none } },
45228 },49027 },
...@@ -45237,7 +49036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45237,7 +49036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45237 .unused,49036 .unused,
45238 .unused,49037 .unused,
45239 },49038 },
45240 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},49039 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
45241 .each = .{ .once = &.{49040 .each = .{ .once = &.{
45242 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },49041 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
45243 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },49042 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -45245,11 +49044,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45245,11 +49044,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45245 }, .{49044 }, .{
45246 .required_features = .{ .sse2, null, null, null },49045 .required_features = .{ .sse2, null, null, null },
45247 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },49046 .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 },
45249 .patterns = &.{49048 .patterns = &.{
45250 .{ .src = .{ .to_mut_sse, .none, .none } },49049 .{ .src = .{ .to_mut_sse, .none, .none } },
45251 },49050 },
45252 .dst_temps = .{.{ .ref = .src0 }},49051 .dst_temps = .{ .{ .ref = .src0 }, .unused },
45253 .each = .{ .once = &.{49052 .each = .{ .once = &.{
45254 .{ ._, .p_w, .sll, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },49053 .{ ._, .p_w, .sll, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
45255 .{ ._, .p_w, .sra, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },49054 .{ ._, .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 {...@@ -45257,7 +49056,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45257 }, .{49056 }, .{
45258 .required_features = .{ .sse2, null, null, null },49057 .required_features = .{ .sse2, null, null, null },
45259 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },49058 .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 },
45261 .patterns = &.{49060 .patterns = &.{
45262 .{ .src = .{ .to_mut_sse, .none, .none } },49061 .{ .src = .{ .to_mut_sse, .none, .none } },
45263 },49062 },
...@@ -45272,7 +49071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45272,7 +49071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45272 .unused,49071 .unused,
45273 .unused,49072 .unused,
45274 },49073 },
45275 .dst_temps = .{.{ .ref = .src0 }},49074 .dst_temps = .{ .{ .ref = .src0 }, .unused },
45276 .each = .{ .once = &.{49075 .each = .{ .once = &.{
45277 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },49076 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
45278 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },49077 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -45280,7 +49079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45280,7 +49079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45280 }, .{49079 }, .{
45281 .required_features = .{ .sse, null, null, null },49080 .required_features = .{ .sse, null, null, null },
45282 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },49081 .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 },
45284 .patterns = &.{49083 .patterns = &.{
45285 .{ .src = .{ .to_mut_sse, .none, .none } },49084 .{ .src = .{ .to_mut_sse, .none, .none } },
45286 },49085 },
...@@ -45295,7 +49094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45295,7 +49094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45295 .unused,49094 .unused,
45296 .unused,49095 .unused,
45297 },49096 },
45298 .dst_temps = .{.{ .ref = .src0 }},49097 .dst_temps = .{ .{ .ref = .src0 }, .unused },
45299 .each = .{ .once = &.{49098 .each = .{ .once = &.{
45300 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },49099 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
45301 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },49100 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -45303,11 +49102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45303,11 +49102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45303 }, .{49102 }, .{
45304 .required_features = .{ .avx2, null, null, null },49103 .required_features = .{ .avx2, null, null, null },
45305 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },49104 .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 },
45307 .patterns = &.{49106 .patterns = &.{
45308 .{ .src = .{ .to_sse, .none, .none } },49107 .{ .src = .{ .to_sse, .none, .none } },
45309 },49108 },
45310 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},49109 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
45311 .each = .{ .once = &.{49110 .each = .{ .once = &.{
45312 .{ ._, .vp_w, .sll, .dst0y, .src0y, .uia(16, .dst0, .sub_bit_size), ._ },49111 .{ ._, .vp_w, .sll, .dst0y, .src0y, .uia(16, .dst0, .sub_bit_size), ._ },
45313 .{ ._, .vp_w, .sra, .dst0y, .dst0y, .uia(16, .dst0, .sub_bit_size), ._ },49112 .{ ._, .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 {...@@ -45315,7 +49114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45315 }, .{49114 }, .{
45316 .required_features = .{ .avx2, null, null, null },49115 .required_features = .{ .avx2, null, null, null },
45317 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },49116 .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 },
45319 .patterns = &.{49118 .patterns = &.{
45320 .{ .src = .{ .to_sse, .none, .none } },49119 .{ .src = .{ .to_sse, .none, .none } },
45321 },49120 },
...@@ -45330,7 +49129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45330,7 +49129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45330 .unused,49129 .unused,
45331 .unused,49130 .unused,
45332 },49131 },
45333 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},49132 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
45334 .each = .{ .once = &.{49133 .each = .{ .once = &.{
45335 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },49134 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
45336 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },49135 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -45338,7 +49137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45338,7 +49137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45338 }, .{49137 }, .{
45339 .required_features = .{ .avx2, null, null, null },49138 .required_features = .{ .avx2, null, null, null },
45340 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },49139 .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 },
45342 .patterns = &.{49141 .patterns = &.{
45343 .{ .src = .{ .to_mem, .none, .none } },49142 .{ .src = .{ .to_mem, .none, .none } },
45344 },49143 },
...@@ -45353,7 +49152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45353,7 +49152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45353 .unused,49152 .unused,
45354 .unused,49153 .unused,
45355 },49154 },
45356 .dst_temps = .{.mem},49155 .dst_temps = .{ .mem, .unused },
45357 .clobbers = .{ .eflags = true },49156 .clobbers = .{ .eflags = true },
45358 .each = .{ .once = &.{49157 .each = .{ .once = &.{
45359 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49158 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45367,7 +49166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45367,7 +49166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45367 }, .{49166 }, .{
45368 .required_features = .{ .avx2, null, null, null },49167 .required_features = .{ .avx2, null, null, null },
45369 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },49168 .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 },
45371 .patterns = &.{49170 .patterns = &.{
45372 .{ .src = .{ .to_mem, .none, .none } },49171 .{ .src = .{ .to_mem, .none, .none } },
45373 },49172 },
...@@ -45382,7 +49181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45382,7 +49181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45382 .unused,49181 .unused,
45383 .unused,49182 .unused,
45384 },49183 },
45385 .dst_temps = .{.mem},49184 .dst_temps = .{ .mem, .unused },
45386 .clobbers = .{ .eflags = true },49185 .clobbers = .{ .eflags = true },
45387 .each = .{ .once = &.{49186 .each = .{ .once = &.{
45388 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },49187 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -45396,7 +49195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45396,7 +49195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45396 }, .{49195 }, .{
45397 .required_features = .{ .avx, null, null, null },49196 .required_features = .{ .avx, null, null, null },
45398 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },49197 .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 },
45400 .patterns = &.{49199 .patterns = &.{
45401 .{ .src = .{ .to_mem, .none, .none } },49200 .{ .src = .{ .to_mem, .none, .none } },
45402 },49201 },
...@@ -45411,7 +49210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45411,7 +49210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45411 .unused,49210 .unused,
45412 .unused,49211 .unused,
45413 },49212 },
45414 .dst_temps = .{.mem},49213 .dst_temps = .{ .mem, .unused },
45415 .clobbers = .{ .eflags = true },49214 .clobbers = .{ .eflags = true },
45416 .each = .{ .once = &.{49215 .each = .{ .once = &.{
45417 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49216 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45425,7 +49224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45425,7 +49224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45425 }, .{49224 }, .{
45426 .required_features = .{ .avx, null, null, null },49225 .required_features = .{ .avx, null, null, null },
45427 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },49226 .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 },
45429 .patterns = &.{49228 .patterns = &.{
45430 .{ .src = .{ .to_mem, .none, .none } },49229 .{ .src = .{ .to_mem, .none, .none } },
45431 },49230 },
...@@ -45440,7 +49239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45440,7 +49239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45440 .unused,49239 .unused,
45441 .unused,49240 .unused,
45442 },49241 },
45443 .dst_temps = .{.mem},49242 .dst_temps = .{ .mem, .unused },
45444 .clobbers = .{ .eflags = true },49243 .clobbers = .{ .eflags = true },
45445 .each = .{ .once = &.{49244 .each = .{ .once = &.{
45446 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },49245 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -45454,7 +49253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45454,7 +49253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45454 }, .{49253 }, .{
45455 .required_features = .{ .sse2, null, null, null },49254 .required_features = .{ .sse2, null, null, null },
45456 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },49255 .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 },
45458 .patterns = &.{49257 .patterns = &.{
45459 .{ .src = .{ .to_mem, .none, .none } },49258 .{ .src = .{ .to_mem, .none, .none } },
45460 },49259 },
...@@ -45469,7 +49268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45469,7 +49268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45469 .unused,49268 .unused,
45470 .unused,49269 .unused,
45471 },49270 },
45472 .dst_temps = .{.mem},49271 .dst_temps = .{ .mem, .unused },
45473 .clobbers = .{ .eflags = true },49272 .clobbers = .{ .eflags = true },
45474 .each = .{ .once = &.{49273 .each = .{ .once = &.{
45475 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49274 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45483,7 +49282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45483,7 +49282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45483 }, .{49282 }, .{
45484 .required_features = .{ .sse2, null, null, null },49283 .required_features = .{ .sse2, null, null, null },
45485 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },49284 .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 },
45487 .patterns = &.{49286 .patterns = &.{
45488 .{ .src = .{ .to_mem, .none, .none } },49287 .{ .src = .{ .to_mem, .none, .none } },
45489 },49288 },
...@@ -45498,7 +49297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45498,7 +49297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45498 .unused,49297 .unused,
45499 .unused,49298 .unused,
45500 },49299 },
45501 .dst_temps = .{.mem},49300 .dst_temps = .{ .mem, .unused },
45502 .clobbers = .{ .eflags = true },49301 .clobbers = .{ .eflags = true },
45503 .each = .{ .once = &.{49302 .each = .{ .once = &.{
45504 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },49303 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -45513,7 +49312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45513,7 +49312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45513 }, .{49312 }, .{
45514 .required_features = .{ .sse, null, null, null },49313 .required_features = .{ .sse, null, null, null },
45515 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },49314 .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 },
45517 .patterns = &.{49316 .patterns = &.{
45518 .{ .src = .{ .to_mem, .none, .none } },49317 .{ .src = .{ .to_mem, .none, .none } },
45519 },49318 },
...@@ -45528,7 +49327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45528,7 +49327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45528 .unused,49327 .unused,
45529 .unused,49328 .unused,
45530 },49329 },
45531 .dst_temps = .{.mem},49330 .dst_temps = .{ .mem, .unused },
45532 .clobbers = .{ .eflags = true },49331 .clobbers = .{ .eflags = true },
45533 .each = .{ .once = &.{49332 .each = .{ .once = &.{
45534 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },49333 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -45542,7 +49341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45542,7 +49341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45542 } },49341 } },
45543 }, .{49342 }, .{
45544 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },49343 .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 },
45546 .patterns = &.{49345 .patterns = &.{
45547 .{ .src = .{ .to_mem, .none, .none } },49346 .{ .src = .{ .to_mem, .none, .none } },
45548 },49347 },
...@@ -45557,7 +49356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45557,7 +49356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45557 .unused,49356 .unused,
45558 .unused,49357 .unused,
45559 },49358 },
45560 .dst_temps = .{.mem},49359 .dst_temps = .{ .mem, .unused },
45561 .clobbers = .{ .eflags = true },49360 .clobbers = .{ .eflags = true },
45562 .each = .{ .once = &.{49361 .each = .{ .once = &.{
45563 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49362 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45568,7 +49367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45568,7 +49367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45568 } },49367 } },
45569 }, .{49368 }, .{
45570 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },49369 .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 },
45572 .patterns = &.{49371 .patterns = &.{
45573 .{ .src = .{ .to_mem, .none, .none } },49372 .{ .src = .{ .to_mem, .none, .none } },
45574 },49373 },
...@@ -45583,7 +49382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45583,7 +49382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45583 .unused,49382 .unused,
45584 .unused,49383 .unused,
45585 },49384 },
45586 .dst_temps = .{.mem},49385 .dst_temps = .{ .mem, .unused },
45587 .clobbers = .{ .eflags = true },49386 .clobbers = .{ .eflags = true },
45588 .each = .{ .once = &.{49387 .each = .{ .once = &.{
45589 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49388 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45597,7 +49396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45597,7 +49396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45597 }, .{49396 }, .{
45598 .required_features = .{ .fast_imm16, null, null, null },49397 .required_features = .{ .fast_imm16, null, null, null },
45599 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },49398 .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 },
45601 .patterns = &.{49400 .patterns = &.{
45602 .{ .src = .{ .to_mem, .none, .none } },49401 .{ .src = .{ .to_mem, .none, .none } },
45603 },49402 },
...@@ -45612,7 +49411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45612,7 +49411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45612 .unused,49411 .unused,
45613 .unused,49412 .unused,
45614 },49413 },
45615 .dst_temps = .{.mem},49414 .dst_temps = .{ .mem, .unused },
45616 .clobbers = .{ .eflags = true },49415 .clobbers = .{ .eflags = true },
45617 .each = .{ .once = &.{49416 .each = .{ .once = &.{
45618 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49417 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45624,7 +49423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45624,7 +49423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45624 } },49423 } },
45625 }, .{49424 }, .{
45626 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },49425 .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 },
45628 .patterns = &.{49427 .patterns = &.{
45629 .{ .src = .{ .to_mem, .none, .none } },49428 .{ .src = .{ .to_mem, .none, .none } },
45630 },49429 },
...@@ -45639,7 +49438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45639,7 +49438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45639 .unused,49438 .unused,
45640 .unused,49439 .unused,
45641 },49440 },
45642 .dst_temps = .{.mem},49441 .dst_temps = .{ .mem, .unused },
45643 .clobbers = .{ .eflags = true },49442 .clobbers = .{ .eflags = true },
45644 .each = .{ .once = &.{49443 .each = .{ .once = &.{
45645 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49444 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45651,7 +49450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45651,7 +49450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45651 } },49450 } },
45652 }, .{49451 }, .{
45653 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },49452 .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 },
45655 .patterns = &.{49454 .patterns = &.{
45656 .{ .src = .{ .to_mem, .none, .none } },49455 .{ .src = .{ .to_mem, .none, .none } },
45657 },49456 },
...@@ -45666,7 +49465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45666,7 +49465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45666 .unused,49465 .unused,
45667 .unused,49466 .unused,
45668 },49467 },
45669 .dst_temps = .{.mem},49468 .dst_temps = .{ .mem, .unused },
45670 .clobbers = .{ .eflags = true },49469 .clobbers = .{ .eflags = true },
45671 .each = .{ .once = &.{49470 .each = .{ .once = &.{
45672 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45677,7 +49476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45677,7 +49476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45677 } },49476 } },
45678 }, .{49477 }, .{
45679 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },49478 .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 },
45681 .patterns = &.{49480 .patterns = &.{
45682 .{ .src = .{ .to_mem, .none, .none } },49481 .{ .src = .{ .to_mem, .none, .none } },
45683 },49482 },
...@@ -45692,7 +49491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45692,7 +49491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45692 .unused,49491 .unused,
45693 .unused,49492 .unused,
45694 },49493 },
45695 .dst_temps = .{.mem},49494 .dst_temps = .{ .mem, .unused },
45696 .clobbers = .{ .eflags = true },49495 .clobbers = .{ .eflags = true },
45697 .each = .{ .once = &.{49496 .each = .{ .once = &.{
45698 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49497 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45706,7 +49505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45706,7 +49505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45706 }, .{49505 }, .{
45707 .required_features = .{ .bmi2, null, null, null },49506 .required_features = .{ .bmi2, null, null, null },
45708 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },49507 .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 },
45710 .patterns = &.{49509 .patterns = &.{
45711 .{ .src = .{ .to_mem, .none, .none } },49510 .{ .src = .{ .to_mem, .none, .none } },
45712 },49511 },
...@@ -45721,7 +49520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45721,7 +49520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45721 .unused,49520 .unused,
45722 .unused,49521 .unused,
45723 },49522 },
45724 .dst_temps = .{.mem},49523 .dst_temps = .{ .mem, .unused },
45725 .clobbers = .{ .eflags = true },49524 .clobbers = .{ .eflags = true },
45726 .each = .{ .once = &.{49525 .each = .{ .once = &.{
45727 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49526 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45734,7 +49533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45734,7 +49533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45734 }, .{49533 }, .{
45735 .required_features = .{ .fast_imm16, null, null, null },49534 .required_features = .{ .fast_imm16, null, null, null },
45736 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },49535 .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 },
45738 .patterns = &.{49537 .patterns = &.{
45739 .{ .src = .{ .to_mem, .none, .none } },49538 .{ .src = .{ .to_mem, .none, .none } },
45740 },49539 },
...@@ -45749,7 +49548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45749,7 +49548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45749 .unused,49548 .unused,
45750 .unused,49549 .unused,
45751 },49550 },
45752 .dst_temps = .{.mem},49551 .dst_temps = .{ .mem, .unused },
45753 .clobbers = .{ .eflags = true },49552 .clobbers = .{ .eflags = true },
45754 .each = .{ .once = &.{49553 .each = .{ .once = &.{
45755 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49554 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45761,7 +49560,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45761,7 +49560,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45761 } },49560 } },
45762 }, .{49561 }, .{
45763 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },49562 .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 },
45765 .patterns = &.{49564 .patterns = &.{
45766 .{ .src = .{ .to_mem, .none, .none } },49565 .{ .src = .{ .to_mem, .none, .none } },
45767 },49566 },
...@@ -45776,7 +49575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45776,7 +49575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45776 .unused,49575 .unused,
45777 .unused,49576 .unused,
45778 },49577 },
45779 .dst_temps = .{.mem},49578 .dst_temps = .{ .mem, .unused },
45780 .clobbers = .{ .eflags = true },49579 .clobbers = .{ .eflags = true },
45781 .each = .{ .once = &.{49580 .each = .{ .once = &.{
45782 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49581 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45788,7 +49587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45788,7 +49587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45788 } },49587 } },
45789 }, .{49588 }, .{
45790 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },49589 .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 },
45792 .patterns = &.{49591 .patterns = &.{
45793 .{ .src = .{ .to_mem, .none, .none } },49592 .{ .src = .{ .to_mem, .none, .none } },
45794 },49593 },
...@@ -45803,7 +49602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45803,7 +49602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45803 .unused,49602 .unused,
45804 .unused,49603 .unused,
45805 },49604 },
45806 .dst_temps = .{.mem},49605 .dst_temps = .{ .mem, .unused },
45807 .clobbers = .{ .eflags = true },49606 .clobbers = .{ .eflags = true },
45808 .each = .{ .once = &.{49607 .each = .{ .once = &.{
45809 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49608 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45814,7 +49613,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45814,7 +49613,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45814 } },49613 } },
45815 }, .{49614 }, .{
45816 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },49615 .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 },
45818 .patterns = &.{49617 .patterns = &.{
45819 .{ .src = .{ .to_mem, .none, .none } },49618 .{ .src = .{ .to_mem, .none, .none } },
45820 },49619 },
...@@ -45829,7 +49628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45829,7 +49628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45829 .unused,49628 .unused,
45830 .unused,49629 .unused,
45831 },49630 },
45832 .dst_temps = .{.mem},49631 .dst_temps = .{ .mem, .unused },
45833 .clobbers = .{ .eflags = true },49632 .clobbers = .{ .eflags = true },
45834 .each = .{ .once = &.{49633 .each = .{ .once = &.{
45835 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49634 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45843,7 +49642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45843,7 +49642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45843 }, .{49642 }, .{
45844 .required_features = .{ .bmi2, null, null, null },49643 .required_features = .{ .bmi2, null, null, null },
45845 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },49644 .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 },
45847 .patterns = &.{49646 .patterns = &.{
45848 .{ .src = .{ .to_mem, .none, .none } },49647 .{ .src = .{ .to_mem, .none, .none } },
45849 },49648 },
...@@ -45858,7 +49657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45858,7 +49657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45858 .unused,49657 .unused,
45859 .unused,49658 .unused,
45860 },49659 },
45861 .dst_temps = .{.mem},49660 .dst_temps = .{ .mem, .unused },
45862 .clobbers = .{ .eflags = true },49661 .clobbers = .{ .eflags = true },
45863 .each = .{ .once = &.{49662 .each = .{ .once = &.{
45864 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49663 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45871,7 +49670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45871,7 +49670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45871 }, .{49670 }, .{
45872 .required_features = .{ .fast_imm16, null, null, null },49671 .required_features = .{ .fast_imm16, null, null, null },
45873 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },49672 .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 },
45875 .patterns = &.{49674 .patterns = &.{
45876 .{ .src = .{ .to_mem, .none, .none } },49675 .{ .src = .{ .to_mem, .none, .none } },
45877 },49676 },
...@@ -45886,7 +49685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45886,7 +49685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45886 .unused,49685 .unused,
45887 .unused,49686 .unused,
45888 },49687 },
45889 .dst_temps = .{.mem},49688 .dst_temps = .{ .mem, .unused },
45890 .clobbers = .{ .eflags = true },49689 .clobbers = .{ .eflags = true },
45891 .each = .{ .once = &.{49690 .each = .{ .once = &.{
45892 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49691 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45898,7 +49697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45898,7 +49697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45898 } },49697 } },
45899 }, .{49698 }, .{
45900 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },49699 .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 },
45902 .patterns = &.{49701 .patterns = &.{
45903 .{ .src = .{ .to_mem, .none, .none } },49702 .{ .src = .{ .to_mem, .none, .none } },
45904 },49703 },
...@@ -45913,7 +49712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45913,7 +49712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45913 .unused,49712 .unused,
45914 .unused,49713 .unused,
45915 },49714 },
45916 .dst_temps = .{.mem},49715 .dst_temps = .{ .mem, .unused },
45917 .clobbers = .{ .eflags = true },49716 .clobbers = .{ .eflags = true },
45918 .each = .{ .once = &.{49717 .each = .{ .once = &.{
45919 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49718 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45925,7 +49724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45925,7 +49724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45925 } },49724 } },
45926 }, .{49725 }, .{
45927 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },49726 .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 },
45929 .patterns = &.{49728 .patterns = &.{
45930 .{ .src = .{ .to_mem, .none, .none } },49729 .{ .src = .{ .to_mem, .none, .none } },
45931 },49730 },
...@@ -45940,7 +49739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45940,7 +49739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45940 .unused,49739 .unused,
45941 .unused,49740 .unused,
45942 },49741 },
45943 .dst_temps = .{.mem},49742 .dst_temps = .{ .mem, .unused },
45944 .clobbers = .{ .eflags = true },49743 .clobbers = .{ .eflags = true },
45945 .each = .{ .once = &.{49744 .each = .{ .once = &.{
45946 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49745 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45951,7 +49750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45951,7 +49750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45951 } },49750 } },
45952 }, .{49751 }, .{
45953 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },49752 .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 },
45955 .patterns = &.{49754 .patterns = &.{
45956 .{ .src = .{ .to_mem, .none, .none } },49755 .{ .src = .{ .to_mem, .none, .none } },
45957 },49756 },
...@@ -45966,7 +49765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45966,7 +49765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45966 .unused,49765 .unused,
45967 .unused,49766 .unused,
45968 },49767 },
45969 .dst_temps = .{.mem},49768 .dst_temps = .{ .mem, .unused },
45970 .clobbers = .{ .eflags = true },49769 .clobbers = .{ .eflags = true },
45971 .each = .{ .once = &.{49770 .each = .{ .once = &.{
45972 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49771 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -45980,7 +49779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45980,7 +49779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45980 }, .{49779 }, .{
45981 .required_features = .{ .bmi2, null, null, null },49780 .required_features = .{ .bmi2, null, null, null },
45982 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },49781 .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 },
45984 .patterns = &.{49783 .patterns = &.{
45985 .{ .src = .{ .to_mem, .none, .none } },49784 .{ .src = .{ .to_mem, .none, .none } },
45986 },49785 },
...@@ -45995,7 +49794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -45995,7 +49794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
45995 .unused,49794 .unused,
45996 .unused,49795 .unused,
45997 },49796 },
45998 .dst_temps = .{.mem},49797 .dst_temps = .{ .mem, .unused },
45999 .clobbers = .{ .eflags = true },49798 .clobbers = .{ .eflags = true },
46000 .each = .{ .once = &.{49799 .each = .{ .once = &.{
46001 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49800 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46008,7 +49807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46008,7 +49807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46008 }, .{49807 }, .{
46009 .required_features = .{ .fast_imm16, null, null, null },49808 .required_features = .{ .fast_imm16, null, null, null },
46010 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },49809 .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 },
46012 .patterns = &.{49811 .patterns = &.{
46013 .{ .src = .{ .to_mem, .none, .none } },49812 .{ .src = .{ .to_mem, .none, .none } },
46014 },49813 },
...@@ -46023,7 +49822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46023,7 +49822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46023 .unused,49822 .unused,
46024 .unused,49823 .unused,
46025 },49824 },
46026 .dst_temps = .{.mem},49825 .dst_temps = .{ .mem, .unused },
46027 .clobbers = .{ .eflags = true },49826 .clobbers = .{ .eflags = true },
46028 .each = .{ .once = &.{49827 .each = .{ .once = &.{
46029 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49828 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46035,7 +49834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46035,7 +49834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46035 } },49834 } },
46036 }, .{49835 }, .{
46037 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },49836 .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 },
46039 .patterns = &.{49838 .patterns = &.{
46040 .{ .src = .{ .to_mem, .none, .none } },49839 .{ .src = .{ .to_mem, .none, .none } },
46041 },49840 },
...@@ -46050,7 +49849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46050,7 +49849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46050 .unused,49849 .unused,
46051 .unused,49850 .unused,
46052 },49851 },
46053 .dst_temps = .{.mem},49852 .dst_temps = .{ .mem, .unused },
46054 .clobbers = .{ .eflags = true },49853 .clobbers = .{ .eflags = true },
46055 .each = .{ .once = &.{49854 .each = .{ .once = &.{
46056 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49855 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46062,7 +49861,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46062,7 +49861,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46062 } },49861 } },
46063 }, .{49862 }, .{
46064 .src_constraints = .{ .any_scalar_int, .any, .any },49863 .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 },
46066 .patterns = &.{49865 .patterns = &.{
46067 .{ .src = .{ .to_mem, .none, .none } },49866 .{ .src = .{ .to_mem, .none, .none } },
46068 },49867 },
...@@ -46077,7 +49876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46077,7 +49876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46077 .unused,49876 .unused,
46078 .unused,49877 .unused,
46079 },49878 },
46080 .dst_temps = .{.mem},49879 .dst_temps = .{ .mem, .unused },
46081 .clobbers = .{ .eflags = true },49880 .clobbers = .{ .eflags = true },
46082 .each = .{ .once = &.{49881 .each = .{ .once = &.{
46083 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49882 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46090,7 +49889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46090,7 +49889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46090 } },49889 } },
46091 }, .{49890 }, .{
46092 .src_constraints = .{ .any_scalar_signed_int, .any, .any },49891 .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 },
46094 .patterns = &.{49893 .patterns = &.{
46095 .{ .src = .{ .to_mem, .none, .none } },49894 .{ .src = .{ .to_mem, .none, .none } },
46096 },49895 },
...@@ -46105,7 +49904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46105,7 +49904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46105 .unused,49904 .unused,
46106 .unused,49905 .unused,
46107 },49906 },
46108 .dst_temps = .{.mem},49907 .dst_temps = .{ .mem, .unused },
46109 .clobbers = .{ .eflags = true },49908 .clobbers = .{ .eflags = true },
46110 .each = .{ .once = &.{49909 .each = .{ .once = &.{
46111 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49910 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46121,7 +49920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46121,7 +49920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46121 }, .{49920 }, .{
46122 .required_features = .{ .bmi2, null, null, null },49921 .required_features = .{ .bmi2, null, null, null },
46123 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },49922 .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 },
46125 .patterns = &.{49924 .patterns = &.{
46126 .{ .src = .{ .to_mem, .none, .none } },49925 .{ .src = .{ .to_mem, .none, .none } },
46127 },49926 },
...@@ -46136,7 +49935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46136,7 +49935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46136 .unused,49935 .unused,
46137 .unused,49936 .unused,
46138 },49937 },
46139 .dst_temps = .{.mem},49938 .dst_temps = .{ .mem, .unused },
46140 .clobbers = .{ .eflags = true },49939 .clobbers = .{ .eflags = true },
46141 .each = .{ .once = &.{49940 .each = .{ .once = &.{
46142 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49941 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46151,7 +49950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46151,7 +49950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46151 }, .{49950 }, .{
46152 .required_features = .{ .fast_imm16, null, null, null },49951 .required_features = .{ .fast_imm16, null, null, null },
46153 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },49952 .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 },
46155 .patterns = &.{49954 .patterns = &.{
46156 .{ .src = .{ .to_mem, .none, .none } },49955 .{ .src = .{ .to_mem, .none, .none } },
46157 },49956 },
...@@ -46166,7 +49965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46166,7 +49965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46166 .unused,49965 .unused,
46167 .unused,49966 .unused,
46168 },49967 },
46169 .dst_temps = .{.mem},49968 .dst_temps = .{ .mem, .unused },
46170 .clobbers = .{ .eflags = true },49969 .clobbers = .{ .eflags = true },
46171 .each = .{ .once = &.{49970 .each = .{ .once = &.{
46172 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },49971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46180,7 +49979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46180,7 +49979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46180 } },49979 } },
46181 }, .{49980 }, .{
46182 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },49981 .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 },
46184 .patterns = &.{49983 .patterns = &.{
46185 .{ .src = .{ .to_mem, .none, .none } },49984 .{ .src = .{ .to_mem, .none, .none } },
46186 },49985 },
...@@ -46195,7 +49994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46195,7 +49994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46195 .unused,49994 .unused,
46196 .unused,49995 .unused,
46197 },49996 },
46198 .dst_temps = .{.mem},49997 .dst_temps = .{ .mem, .unused },
46199 .clobbers = .{ .eflags = true },49998 .clobbers = .{ .eflags = true },
46200 .each = .{ .once = &.{49999 .each = .{ .once = &.{
46201 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50000 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46210,11 +50009,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46210,11 +50009,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46210 }, .{50009 }, .{
46211 .required_features = .{ .avx, null, null, null },50010 .required_features = .{ .avx, null, null, null },
46212 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },50011 .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 },
46214 .patterns = &.{50013 .patterns = &.{
46215 .{ .src = .{ .to_sse, .none, .none } },50014 .{ .src = .{ .to_sse, .none, .none } },
46216 },50015 },
46217 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},50016 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
46218 .each = .{ .once = &.{50017 .each = .{ .once = &.{
46219 .{ ._, .vp_d, .sll, .dst0x, .src0x, .uia(32, .dst0, .sub_bit_size), ._ },50018 .{ ._, .vp_d, .sll, .dst0x, .src0x, .uia(32, .dst0, .sub_bit_size), ._ },
46220 .{ ._, .vp_d, .sra, .dst0x, .dst0x, .uia(32, .dst0, .sub_bit_size), ._ },50019 .{ ._, .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 {...@@ -46222,7 +50021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46222 }, .{50021 }, .{
46223 .required_features = .{ .avx, null, null, null },50022 .required_features = .{ .avx, null, null, null },
46224 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },50023 .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 },
46226 .patterns = &.{50025 .patterns = &.{
46227 .{ .src = .{ .to_sse, .none, .none } },50026 .{ .src = .{ .to_sse, .none, .none } },
46228 },50027 },
...@@ -46237,7 +50036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46237,7 +50036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46237 .unused,50036 .unused,
46238 .unused,50037 .unused,
46239 },50038 },
46240 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},50039 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
46241 .each = .{ .once = &.{50040 .each = .{ .once = &.{
46242 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50041 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
46243 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },50042 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -46245,11 +50044,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46245,11 +50044,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46245 }, .{50044 }, .{
46246 .required_features = .{ .sse2, null, null, null },50045 .required_features = .{ .sse2, null, null, null },
46247 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },50046 .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 },
46249 .patterns = &.{50048 .patterns = &.{
46250 .{ .src = .{ .to_mut_sse, .none, .none } },50049 .{ .src = .{ .to_mut_sse, .none, .none } },
46251 },50050 },
46252 .dst_temps = .{.{ .ref = .src0 }},50051 .dst_temps = .{ .{ .ref = .src0 }, .unused },
46253 .each = .{ .once = &.{50052 .each = .{ .once = &.{
46254 .{ ._, .p_d, .sll, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },50053 .{ ._, .p_d, .sll, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },
46255 .{ ._, .p_d, .sra, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },50054 .{ ._, .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 {...@@ -46257,7 +50056,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46257 }, .{50056 }, .{
46258 .required_features = .{ .sse2, null, null, null },50057 .required_features = .{ .sse2, null, null, null },
46259 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },50058 .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 },
46261 .patterns = &.{50060 .patterns = &.{
46262 .{ .src = .{ .to_mut_sse, .none, .none } },50061 .{ .src = .{ .to_mut_sse, .none, .none } },
46263 },50062 },
...@@ -46272,7 +50071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46272,7 +50071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46272 .unused,50071 .unused,
46273 .unused,50072 .unused,
46274 },50073 },
46275 .dst_temps = .{.{ .ref = .src0 }},50074 .dst_temps = .{ .{ .ref = .src0 }, .unused },
46276 .each = .{ .once = &.{50075 .each = .{ .once = &.{
46277 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50076 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
46278 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },50077 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -46280,7 +50079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46280,7 +50079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46280 }, .{50079 }, .{
46281 .required_features = .{ .sse, null, null, null },50080 .required_features = .{ .sse, null, null, null },
46282 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },50081 .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 },
46284 .patterns = &.{50083 .patterns = &.{
46285 .{ .src = .{ .to_mut_sse, .none, .none } },50084 .{ .src = .{ .to_mut_sse, .none, .none } },
46286 },50085 },
...@@ -46295,7 +50094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46295,7 +50094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46295 .unused,50094 .unused,
46296 .unused,50095 .unused,
46297 },50096 },
46298 .dst_temps = .{.{ .ref = .src0 }},50097 .dst_temps = .{ .{ .ref = .src0 }, .unused },
46299 .each = .{ .once = &.{50098 .each = .{ .once = &.{
46300 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50099 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
46301 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },50100 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -46303,11 +50102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46303,11 +50102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46303 }, .{50102 }, .{
46304 .required_features = .{ .avx2, null, null, null },50103 .required_features = .{ .avx2, null, null, null },
46305 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },50104 .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 },
46307 .patterns = &.{50106 .patterns = &.{
46308 .{ .src = .{ .to_sse, .none, .none } },50107 .{ .src = .{ .to_sse, .none, .none } },
46309 },50108 },
46310 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},50109 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
46311 .each = .{ .once = &.{50110 .each = .{ .once = &.{
46312 .{ ._, .vp_d, .sll, .dst0y, .src0y, .uia(32, .dst0, .sub_bit_size), ._ },50111 .{ ._, .vp_d, .sll, .dst0y, .src0y, .uia(32, .dst0, .sub_bit_size), ._ },
46313 .{ ._, .vp_d, .sra, .dst0y, .dst0y, .uia(32, .dst0, .sub_bit_size), ._ },50112 .{ ._, .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 {...@@ -46315,7 +50114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46315 }, .{50114 }, .{
46316 .required_features = .{ .avx2, null, null, null },50115 .required_features = .{ .avx2, null, null, null },
46317 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },50116 .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 },
46319 .patterns = &.{50118 .patterns = &.{
46320 .{ .src = .{ .to_sse, .none, .none } },50119 .{ .src = .{ .to_sse, .none, .none } },
46321 },50120 },
...@@ -46330,7 +50129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46330,7 +50129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46330 .unused,50129 .unused,
46331 .unused,50130 .unused,
46332 },50131 },
46333 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},50132 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
46334 .each = .{ .once = &.{50133 .each = .{ .once = &.{
46335 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50134 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
46336 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },50135 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -46338,7 +50137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46338,7 +50137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46338 }, .{50137 }, .{
46339 .required_features = .{ .avx2, null, null, null },50138 .required_features = .{ .avx2, null, null, null },
46340 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },50139 .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 },
46342 .patterns = &.{50141 .patterns = &.{
46343 .{ .src = .{ .to_mem, .none, .none } },50142 .{ .src = .{ .to_mem, .none, .none } },
46344 },50143 },
...@@ -46353,7 +50152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46353,7 +50152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46353 .unused,50152 .unused,
46354 .unused,50153 .unused,
46355 },50154 },
46356 .dst_temps = .{.mem},50155 .dst_temps = .{ .mem, .unused },
46357 .clobbers = .{ .eflags = true },50156 .clobbers = .{ .eflags = true },
46358 .each = .{ .once = &.{50157 .each = .{ .once = &.{
46359 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50158 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46367,7 +50166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46367,7 +50166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46367 }, .{50166 }, .{
46368 .required_features = .{ .avx2, null, null, null },50167 .required_features = .{ .avx2, null, null, null },
46369 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },50168 .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 },
46371 .patterns = &.{50170 .patterns = &.{
46372 .{ .src = .{ .to_mem, .none, .none } },50171 .{ .src = .{ .to_mem, .none, .none } },
46373 },50172 },
...@@ -46382,7 +50181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46382,7 +50181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46382 .unused,50181 .unused,
46383 .unused,50182 .unused,
46384 },50183 },
46385 .dst_temps = .{.mem},50184 .dst_temps = .{ .mem, .unused },
46386 .clobbers = .{ .eflags = true },50185 .clobbers = .{ .eflags = true },
46387 .each = .{ .once = &.{50186 .each = .{ .once = &.{
46388 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },50187 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -46396,7 +50195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46396,7 +50195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46396 }, .{50195 }, .{
46397 .required_features = .{ .avx, null, null, null },50196 .required_features = .{ .avx, null, null, null },
46398 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },50197 .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 },
46400 .patterns = &.{50199 .patterns = &.{
46401 .{ .src = .{ .to_mem, .none, .none } },50200 .{ .src = .{ .to_mem, .none, .none } },
46402 },50201 },
...@@ -46411,7 +50210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46411,7 +50210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46411 .unused,50210 .unused,
46412 .unused,50211 .unused,
46413 },50212 },
46414 .dst_temps = .{.mem},50213 .dst_temps = .{ .mem, .unused },
46415 .clobbers = .{ .eflags = true },50214 .clobbers = .{ .eflags = true },
46416 .each = .{ .once = &.{50215 .each = .{ .once = &.{
46417 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50216 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46425,7 +50224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46425,7 +50224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46425 }, .{50224 }, .{
46426 .required_features = .{ .avx, null, null, null },50225 .required_features = .{ .avx, null, null, null },
46427 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },50226 .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 },
46429 .patterns = &.{50228 .patterns = &.{
46430 .{ .src = .{ .to_mem, .none, .none } },50229 .{ .src = .{ .to_mem, .none, .none } },
46431 },50230 },
...@@ -46440,7 +50239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46440,7 +50239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46440 .unused,50239 .unused,
46441 .unused,50240 .unused,
46442 },50241 },
46443 .dst_temps = .{.mem},50242 .dst_temps = .{ .mem, .unused },
46444 .clobbers = .{ .eflags = true },50243 .clobbers = .{ .eflags = true },
46445 .each = .{ .once = &.{50244 .each = .{ .once = &.{
46446 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },50245 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -46454,7 +50253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46454,7 +50253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46454 }, .{50253 }, .{
46455 .required_features = .{ .sse2, null, null, null },50254 .required_features = .{ .sse2, null, null, null },
46456 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },50255 .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 },
46458 .patterns = &.{50257 .patterns = &.{
46459 .{ .src = .{ .to_mem, .none, .none } },50258 .{ .src = .{ .to_mem, .none, .none } },
46460 },50259 },
...@@ -46469,7 +50268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46469,7 +50268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46469 .unused,50268 .unused,
46470 .unused,50269 .unused,
46471 },50270 },
46472 .dst_temps = .{.mem},50271 .dst_temps = .{ .mem, .unused },
46473 .clobbers = .{ .eflags = true },50272 .clobbers = .{ .eflags = true },
46474 .each = .{ .once = &.{50273 .each = .{ .once = &.{
46475 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50274 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46483,7 +50282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46483,7 +50282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46483 }, .{50282 }, .{
46484 .required_features = .{ .sse2, null, null, null },50283 .required_features = .{ .sse2, null, null, null },
46485 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },50284 .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 },
46487 .patterns = &.{50286 .patterns = &.{
46488 .{ .src = .{ .to_mem, .none, .none } },50287 .{ .src = .{ .to_mem, .none, .none } },
46489 },50288 },
...@@ -46498,7 +50297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46498,7 +50297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46498 .unused,50297 .unused,
46499 .unused,50298 .unused,
46500 },50299 },
46501 .dst_temps = .{.mem},50300 .dst_temps = .{ .mem, .unused },
46502 .clobbers = .{ .eflags = true },50301 .clobbers = .{ .eflags = true },
46503 .each = .{ .once = &.{50302 .each = .{ .once = &.{
46504 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },50303 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -46513,7 +50312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46513,7 +50312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46513 }, .{50312 }, .{
46514 .required_features = .{ .sse, null, null, null },50313 .required_features = .{ .sse, null, null, null },
46515 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },50314 .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 },
46517 .patterns = &.{50316 .patterns = &.{
46518 .{ .src = .{ .to_mem, .none, .none } },50317 .{ .src = .{ .to_mem, .none, .none } },
46519 },50318 },
...@@ -46528,7 +50327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46528,7 +50327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46528 .unused,50327 .unused,
46529 .unused,50328 .unused,
46530 },50329 },
46531 .dst_temps = .{.mem},50330 .dst_temps = .{ .mem, .unused },
46532 .clobbers = .{ .eflags = true },50331 .clobbers = .{ .eflags = true },
46533 .each = .{ .once = &.{50332 .each = .{ .once = &.{
46534 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },50333 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -46542,7 +50341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46542,7 +50341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46542 } },50341 } },
46543 }, .{50342 }, .{
46544 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },50343 .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 },
46546 .patterns = &.{50345 .patterns = &.{
46547 .{ .src = .{ .to_mem, .none, .none } },50346 .{ .src = .{ .to_mem, .none, .none } },
46548 },50347 },
...@@ -46557,7 +50356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46557,7 +50356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46557 .unused,50356 .unused,
46558 .unused,50357 .unused,
46559 },50358 },
46560 .dst_temps = .{.mem},50359 .dst_temps = .{ .mem, .unused },
46561 .clobbers = .{ .eflags = true },50360 .clobbers = .{ .eflags = true },
46562 .each = .{ .once = &.{50361 .each = .{ .once = &.{
46563 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50362 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46568,7 +50367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46568,7 +50367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46568 } },50367 } },
46569 }, .{50368 }, .{
46570 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },50369 .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 },
46572 .patterns = &.{50371 .patterns = &.{
46573 .{ .src = .{ .to_mem, .none, .none } },50372 .{ .src = .{ .to_mem, .none, .none } },
46574 },50373 },
...@@ -46583,7 +50382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46583,7 +50382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46583 .unused,50382 .unused,
46584 .unused,50383 .unused,
46585 },50384 },
46586 .dst_temps = .{.mem},50385 .dst_temps = .{ .mem, .unused },
46587 .clobbers = .{ .eflags = true },50386 .clobbers = .{ .eflags = true },
46588 .each = .{ .once = &.{50387 .each = .{ .once = &.{
46589 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50388 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46597,7 +50396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46597,7 +50396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46597 }, .{50396 }, .{
46598 .required_features = .{ .bmi2, null, null, null },50397 .required_features = .{ .bmi2, null, null, null },
46599 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },50398 .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 },
46601 .patterns = &.{50400 .patterns = &.{
46602 .{ .src = .{ .to_mem, .none, .none } },50401 .{ .src = .{ .to_mem, .none, .none } },
46603 },50402 },
...@@ -46612,7 +50411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46612,7 +50411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46612 .unused,50411 .unused,
46613 .unused,50412 .unused,
46614 },50413 },
46615 .dst_temps = .{.mem},50414 .dst_temps = .{ .mem, .unused },
46616 .clobbers = .{ .eflags = true },50415 .clobbers = .{ .eflags = true },
46617 .each = .{ .once = &.{50416 .each = .{ .once = &.{
46618 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50417 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46624,7 +50423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46624,7 +50423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46624 } },50423 } },
46625 }, .{50424 }, .{
46626 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },50425 .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 },
46628 .patterns = &.{50427 .patterns = &.{
46629 .{ .src = .{ .to_mem, .none, .none } },50428 .{ .src = .{ .to_mem, .none, .none } },
46630 },50429 },
...@@ -46639,7 +50438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46639,7 +50438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46639 .unused,50438 .unused,
46640 .unused,50439 .unused,
46641 },50440 },
46642 .dst_temps = .{.mem},50441 .dst_temps = .{ .mem, .unused },
46643 .clobbers = .{ .eflags = true },50442 .clobbers = .{ .eflags = true },
46644 .each = .{ .once = &.{50443 .each = .{ .once = &.{
46645 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50444 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46651,7 +50450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46651,7 +50450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46651 } },50450 } },
46652 }, .{50451 }, .{
46653 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },50452 .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 },
46655 .patterns = &.{50454 .patterns = &.{
46656 .{ .src = .{ .to_mem, .none, .none } },50455 .{ .src = .{ .to_mem, .none, .none } },
46657 },50456 },
...@@ -46666,7 +50465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46666,7 +50465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46666 .unused,50465 .unused,
46667 .unused,50466 .unused,
46668 },50467 },
46669 .dst_temps = .{.mem},50468 .dst_temps = .{ .mem, .unused },
46670 .clobbers = .{ .eflags = true },50469 .clobbers = .{ .eflags = true },
46671 .each = .{ .once = &.{50470 .each = .{ .once = &.{
46672 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46677,7 +50476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46677,7 +50476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46677 } },50476 } },
46678 }, .{50477 }, .{
46679 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },50478 .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 },
46681 .patterns = &.{50480 .patterns = &.{
46682 .{ .src = .{ .to_mem, .none, .none } },50481 .{ .src = .{ .to_mem, .none, .none } },
46683 },50482 },
...@@ -46692,7 +50491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46692,7 +50491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46692 .unused,50491 .unused,
46693 .unused,50492 .unused,
46694 },50493 },
46695 .dst_temps = .{.mem},50494 .dst_temps = .{ .mem, .unused },
46696 .clobbers = .{ .eflags = true },50495 .clobbers = .{ .eflags = true },
46697 .each = .{ .once = &.{50496 .each = .{ .once = &.{
46698 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50497 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46706,7 +50505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46706,7 +50505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46706 }, .{50505 }, .{
46707 .required_features = .{ .bmi2, null, null, null },50506 .required_features = .{ .bmi2, null, null, null },
46708 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },50507 .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 },
46710 .patterns = &.{50509 .patterns = &.{
46711 .{ .src = .{ .to_mem, .none, .none } },50510 .{ .src = .{ .to_mem, .none, .none } },
46712 },50511 },
...@@ -46721,7 +50520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46721,7 +50520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46721 .unused,50520 .unused,
46722 .unused,50521 .unused,
46723 },50522 },
46724 .dst_temps = .{.mem},50523 .dst_temps = .{ .mem, .unused },
46725 .clobbers = .{ .eflags = true },50524 .clobbers = .{ .eflags = true },
46726 .each = .{ .once = &.{50525 .each = .{ .once = &.{
46727 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50526 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46733,7 +50532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46733,7 +50532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46733 } },50532 } },
46734 }, .{50533 }, .{
46735 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },50534 .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 },
46737 .patterns = &.{50536 .patterns = &.{
46738 .{ .src = .{ .to_mem, .none, .none } },50537 .{ .src = .{ .to_mem, .none, .none } },
46739 },50538 },
...@@ -46748,7 +50547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46748,7 +50547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46748 .unused,50547 .unused,
46749 .unused,50548 .unused,
46750 },50549 },
46751 .dst_temps = .{.mem},50550 .dst_temps = .{ .mem, .unused },
46752 .clobbers = .{ .eflags = true },50551 .clobbers = .{ .eflags = true },
46753 .each = .{ .once = &.{50552 .each = .{ .once = &.{
46754 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50553 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46760,7 +50559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46760,7 +50559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46760 } },50559 } },
46761 }, .{50560 }, .{
46762 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },50561 .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 },
46764 .patterns = &.{50563 .patterns = &.{
46765 .{ .src = .{ .to_mem, .none, .none } },50564 .{ .src = .{ .to_mem, .none, .none } },
46766 },50565 },
...@@ -46775,7 +50574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46775,7 +50574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46775 .unused,50574 .unused,
46776 .unused,50575 .unused,
46777 },50576 },
46778 .dst_temps = .{.mem},50577 .dst_temps = .{ .mem, .unused },
46779 .clobbers = .{ .eflags = true },50578 .clobbers = .{ .eflags = true },
46780 .each = .{ .once = &.{50579 .each = .{ .once = &.{
46781 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50580 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46786,7 +50585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46786,7 +50585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46786 } },50585 } },
46787 }, .{50586 }, .{
46788 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },50587 .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 },
46790 .patterns = &.{50589 .patterns = &.{
46791 .{ .src = .{ .to_mem, .none, .none } },50590 .{ .src = .{ .to_mem, .none, .none } },
46792 },50591 },
...@@ -46801,7 +50600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46801,7 +50600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46801 .unused,50600 .unused,
46802 .unused,50601 .unused,
46803 },50602 },
46804 .dst_temps = .{.mem},50603 .dst_temps = .{ .mem, .unused },
46805 .clobbers = .{ .eflags = true },50604 .clobbers = .{ .eflags = true },
46806 .each = .{ .once = &.{50605 .each = .{ .once = &.{
46807 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50606 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46815,7 +50614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46815,7 +50614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46815 }, .{50614 }, .{
46816 .required_features = .{ .bmi2, null, null, null },50615 .required_features = .{ .bmi2, null, null, null },
46817 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },50616 .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 },
46819 .patterns = &.{50618 .patterns = &.{
46820 .{ .src = .{ .to_mem, .none, .none } },50619 .{ .src = .{ .to_mem, .none, .none } },
46821 },50620 },
...@@ -46830,7 +50629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46830,7 +50629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46830 .unused,50629 .unused,
46831 .unused,50630 .unused,
46832 },50631 },
46833 .dst_temps = .{.mem},50632 .dst_temps = .{ .mem, .unused },
46834 .clobbers = .{ .eflags = true },50633 .clobbers = .{ .eflags = true },
46835 .each = .{ .once = &.{50634 .each = .{ .once = &.{
46836 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50635 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46842,7 +50641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46842,7 +50641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46842 } },50641 } },
46843 }, .{50642 }, .{
46844 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },50643 .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 },
46846 .patterns = &.{50645 .patterns = &.{
46847 .{ .src = .{ .to_mem, .none, .none } },50646 .{ .src = .{ .to_mem, .none, .none } },
46848 },50647 },
...@@ -46857,7 +50656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46857,7 +50656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46857 .unused,50656 .unused,
46858 .unused,50657 .unused,
46859 },50658 },
46860 .dst_temps = .{.mem},50659 .dst_temps = .{ .mem, .unused },
46861 .clobbers = .{ .eflags = true },50660 .clobbers = .{ .eflags = true },
46862 .each = .{ .once = &.{50661 .each = .{ .once = &.{
46863 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50662 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46869,7 +50668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46869,7 +50668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46869 } },50668 } },
46870 }, .{50669 }, .{
46871 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },50670 .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 },
46873 .patterns = &.{50672 .patterns = &.{
46874 .{ .src = .{ .to_mem, .none, .none } },50673 .{ .src = .{ .to_mem, .none, .none } },
46875 },50674 },
...@@ -46884,7 +50683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46884,7 +50683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46884 .unused,50683 .unused,
46885 .unused,50684 .unused,
46886 },50685 },
46887 .dst_temps = .{.mem},50686 .dst_temps = .{ .mem, .unused },
46888 .clobbers = .{ .eflags = true },50687 .clobbers = .{ .eflags = true },
46889 .each = .{ .once = &.{50688 .each = .{ .once = &.{
46890 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50689 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46895,7 +50694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46895,7 +50694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46895 } },50694 } },
46896 }, .{50695 }, .{
46897 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .yword } }, .any, .any },50696 .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 },
46899 .patterns = &.{50698 .patterns = &.{
46900 .{ .src = .{ .to_mem, .none, .none } },50699 .{ .src = .{ .to_mem, .none, .none } },
46901 },50700 },
...@@ -46910,7 +50709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46910,7 +50709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46910 .unused,50709 .unused,
46911 .unused,50710 .unused,
46912 },50711 },
46913 .dst_temps = .{.mem},50712 .dst_temps = .{ .mem, .unused },
46914 .clobbers = .{ .eflags = true },50713 .clobbers = .{ .eflags = true },
46915 .each = .{ .once = &.{50714 .each = .{ .once = &.{
46916 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50715 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46924,7 +50723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46924,7 +50723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46924 }, .{50723 }, .{
46925 .required_features = .{ .bmi2, null, null, null },50724 .required_features = .{ .bmi2, null, null, null },
46926 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },50725 .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 },
46928 .patterns = &.{50727 .patterns = &.{
46929 .{ .src = .{ .to_mem, .none, .none } },50728 .{ .src = .{ .to_mem, .none, .none } },
46930 },50729 },
...@@ -46939,7 +50738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46939,7 +50738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46939 .unused,50738 .unused,
46940 .unused,50739 .unused,
46941 },50740 },
46942 .dst_temps = .{.mem},50741 .dst_temps = .{ .mem, .unused },
46943 .clobbers = .{ .eflags = true },50742 .clobbers = .{ .eflags = true },
46944 .each = .{ .once = &.{50743 .each = .{ .once = &.{
46945 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50744 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46951,7 +50750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46951,7 +50750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46951 } },50750 } },
46952 }, .{50751 }, .{
46953 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },50752 .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 },
46955 .patterns = &.{50754 .patterns = &.{
46956 .{ .src = .{ .to_mem, .none, .none } },50755 .{ .src = .{ .to_mem, .none, .none } },
46957 },50756 },
...@@ -46966,7 +50765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46966,7 +50765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46966 .unused,50765 .unused,
46967 .unused,50766 .unused,
46968 },50767 },
46969 .dst_temps = .{.mem},50768 .dst_temps = .{ .mem, .unused },
46970 .clobbers = .{ .eflags = true },50769 .clobbers = .{ .eflags = true },
46971 .each = .{ .once = &.{50770 .each = .{ .once = &.{
46972 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50771 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -46978,7 +50777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46978,7 +50777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46978 } },50777 } },
46979 }, .{50778 }, .{
46980 .src_constraints = .{ .any_scalar_int, .any, .any },50779 .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 },
46982 .patterns = &.{50781 .patterns = &.{
46983 .{ .src = .{ .to_mem, .none, .none } },50782 .{ .src = .{ .to_mem, .none, .none } },
46984 },50783 },
...@@ -46993,7 +50792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -46993,7 +50792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46993 .unused,50792 .unused,
46994 .unused,50793 .unused,
46995 },50794 },
46996 .dst_temps = .{.mem},50795 .dst_temps = .{ .mem, .unused },
46997 .clobbers = .{ .eflags = true },50796 .clobbers = .{ .eflags = true },
46998 .each = .{ .once = &.{50797 .each = .{ .once = &.{
46999 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50798 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47006,7 +50805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47006,7 +50805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47006 } },50805 } },
47007 }, .{50806 }, .{
47008 .src_constraints = .{ .any_scalar_signed_int, .any, .any },50807 .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 },
47010 .patterns = &.{50809 .patterns = &.{
47011 .{ .src = .{ .to_mem, .none, .none } },50810 .{ .src = .{ .to_mem, .none, .none } },
47012 },50811 },
...@@ -47021,7 +50820,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47021,7 +50820,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47021 .unused,50820 .unused,
47022 .unused,50821 .unused,
47023 },50822 },
47024 .dst_temps = .{.mem},50823 .dst_temps = .{ .mem, .unused },
47025 .clobbers = .{ .eflags = true },50824 .clobbers = .{ .eflags = true },
47026 .each = .{ .once = &.{50825 .each = .{ .once = &.{
47027 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50826 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47037,7 +50836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47037,7 +50836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47037 }, .{50836 }, .{
47038 .required_features = .{ .bmi2, null, null, null },50837 .required_features = .{ .bmi2, null, null, null },
47039 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },50838 .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 },
47041 .patterns = &.{50840 .patterns = &.{
47042 .{ .src = .{ .to_mem, .none, .none } },50841 .{ .src = .{ .to_mem, .none, .none } },
47043 },50842 },
...@@ -47052,7 +50851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47052,7 +50851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47052 .unused,50851 .unused,
47053 .unused,50852 .unused,
47054 },50853 },
47055 .dst_temps = .{.mem},50854 .dst_temps = .{ .mem, .unused },
47056 .clobbers = .{ .eflags = true },50855 .clobbers = .{ .eflags = true },
47057 .each = .{ .once = &.{50856 .each = .{ .once = &.{
47058 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50857 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47066,7 +50865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47066,7 +50865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47066 } },50865 } },
47067 }, .{50866 }, .{
47068 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },50867 .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 },
47070 .patterns = &.{50869 .patterns = &.{
47071 .{ .src = .{ .to_mem, .none, .none } },50870 .{ .src = .{ .to_mem, .none, .none } },
47072 },50871 },
...@@ -47081,7 +50880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47081,7 +50880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47081 .unused,50880 .unused,
47082 .unused,50881 .unused,
47083 },50882 },
47084 .dst_temps = .{.mem},50883 .dst_temps = .{ .mem, .unused },
47085 .clobbers = .{ .eflags = true },50884 .clobbers = .{ .eflags = true },
47086 .each = .{ .once = &.{50885 .each = .{ .once = &.{
47087 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },50886 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47096,7 +50895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47096,7 +50895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47096 }, .{50895 }, .{
47097 .required_features = .{ .avx, null, null, null },50896 .required_features = .{ .avx, null, null, null },
47098 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },50897 .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 },
47100 .patterns = &.{50899 .patterns = &.{
47101 .{ .src = .{ .to_sse, .none, .none } },50900 .{ .src = .{ .to_sse, .none, .none } },
47102 },50901 },
...@@ -47111,7 +50910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47111,7 +50910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47111 .unused,50910 .unused,
47112 .unused,50911 .unused,
47113 },50912 },
47114 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},50913 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
47115 .each = .{ .once = &.{50914 .each = .{ .once = &.{
47116 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50915 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47117 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },50916 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -47122,7 +50921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47122,7 +50921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47122 }, .{50921 }, .{
47123 .required_features = .{ .avx, null, null, null },50922 .required_features = .{ .avx, null, null, null },
47124 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },50923 .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 },
47126 .patterns = &.{50925 .patterns = &.{
47127 .{ .src = .{ .to_sse, .none, .none } },50926 .{ .src = .{ .to_sse, .none, .none } },
47128 },50927 },
...@@ -47137,7 +50936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47137,7 +50936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47137 .unused,50936 .unused,
47138 .unused,50937 .unused,
47139 },50938 },
47140 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},50939 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
47141 .each = .{ .once = &.{50940 .each = .{ .once = &.{
47142 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50941 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47143 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },50942 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
...@@ -47145,7 +50944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47145,7 +50944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47145 }, .{50944 }, .{
47146 .required_features = .{ .sse2, null, null, null },50945 .required_features = .{ .sse2, null, null, null },
47147 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },50946 .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 },
47149 .patterns = &.{50948 .patterns = &.{
47150 .{ .src = .{ .to_mut_sse, .none, .none } },50949 .{ .src = .{ .to_mut_sse, .none, .none } },
47151 },50950 },
...@@ -47160,7 +50959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47160,7 +50959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47160 .unused,50959 .unused,
47161 .unused,50960 .unused,
47162 },50961 },
47163 .dst_temps = .{.{ .ref = .src0 }},50962 .dst_temps = .{ .{ .ref = .src0 }, .unused },
47164 .each = .{ .once = &.{50963 .each = .{ .once = &.{
47165 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50964 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47166 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },50965 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -47171,7 +50970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47171,7 +50970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47171 }, .{50970 }, .{
47172 .required_features = .{ .sse2, null, null, null },50971 .required_features = .{ .sse2, null, null, null },
47173 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },50972 .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 },
47175 .patterns = &.{50974 .patterns = &.{
47176 .{ .src = .{ .to_mut_sse, .none, .none } },50975 .{ .src = .{ .to_mut_sse, .none, .none } },
47177 },50976 },
...@@ -47186,7 +50985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47186,7 +50985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47186 .unused,50985 .unused,
47187 .unused,50986 .unused,
47188 },50987 },
47189 .dst_temps = .{.{ .ref = .src0 }},50988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
47190 .each = .{ .once = &.{50989 .each = .{ .once = &.{
47191 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },50990 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47192 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },50991 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -47194,7 +50993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47194,7 +50993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47194 }, .{50993 }, .{
47195 .required_features = .{ .sse, null, null, null },50994 .required_features = .{ .sse, null, null, null },
47196 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },50995 .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 },
47198 .patterns = &.{50997 .patterns = &.{
47199 .{ .src = .{ .to_mut_sse, .none, .none } },50998 .{ .src = .{ .to_mut_sse, .none, .none } },
47200 },50999 },
...@@ -47209,7 +51008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47209,7 +51008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47209 .unused,51008 .unused,
47210 .unused,51009 .unused,
47211 },51010 },
47212 .dst_temps = .{.{ .ref = .src0 }},51011 .dst_temps = .{ .{ .ref = .src0 }, .unused },
47213 .each = .{ .once = &.{51012 .each = .{ .once = &.{
47214 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },51013 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47215 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },51014 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
...@@ -47217,7 +51016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47217,7 +51016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47217 }, .{51016 }, .{
47218 .required_features = .{ .avx2, null, null, null },51017 .required_features = .{ .avx2, null, null, null },
47219 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },51018 .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 },
47221 .patterns = &.{51020 .patterns = &.{
47222 .{ .src = .{ .to_sse, .none, .none } },51021 .{ .src = .{ .to_sse, .none, .none } },
47223 },51022 },
...@@ -47232,7 +51031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47232,7 +51031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47232 .unused,51031 .unused,
47233 .unused,51032 .unused,
47234 },51033 },
47235 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},51034 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
47236 .each = .{ .once = &.{51035 .each = .{ .once = &.{
47237 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },51036 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47238 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },51037 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -47243,7 +51042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47243,7 +51042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47243 }, .{51042 }, .{
47244 .required_features = .{ .avx2, null, null, null },51043 .required_features = .{ .avx2, null, null, null },
47245 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },51044 .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 },
47247 .patterns = &.{51046 .patterns = &.{
47248 .{ .src = .{ .to_sse, .none, .none } },51047 .{ .src = .{ .to_sse, .none, .none } },
47249 },51048 },
...@@ -47258,7 +51057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47258,7 +51057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47258 .unused,51057 .unused,
47259 .unused,51058 .unused,
47260 },51059 },
47261 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},51060 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
47262 .each = .{ .once = &.{51061 .each = .{ .once = &.{
47263 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },51062 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
47264 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },51063 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
...@@ -47266,7 +51065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47266,7 +51065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47266 }, .{51065 }, .{
47267 .required_features = .{ .avx2, null, null, null },51066 .required_features = .{ .avx2, null, null, null },
47268 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },51067 .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 },
47270 .patterns = &.{51069 .patterns = &.{
47271 .{ .src = .{ .to_mem, .none, .none } },51070 .{ .src = .{ .to_mem, .none, .none } },
47272 },51071 },
...@@ -47281,7 +51080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47281,7 +51080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47281 .unused,51080 .unused,
47282 .unused,51081 .unused,
47283 },51082 },
47284 .dst_temps = .{.mem},51083 .dst_temps = .{ .mem, .unused },
47285 .clobbers = .{ .eflags = true },51084 .clobbers = .{ .eflags = true },
47286 .each = .{ .once = &.{51085 .each = .{ .once = &.{
47287 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },51086 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
...@@ -47299,7 +51098,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47299,7 +51098,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47299 }, .{51098 }, .{
47300 .required_features = .{ .avx2, null, null, null },51099 .required_features = .{ .avx2, null, null, null },
47301 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },51100 .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 },
47303 .patterns = &.{51102 .patterns = &.{
47304 .{ .src = .{ .to_mem, .none, .none } },51103 .{ .src = .{ .to_mem, .none, .none } },
47305 },51104 },
...@@ -47314,7 +51113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47314,7 +51113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47314 .unused,51113 .unused,
47315 .unused,51114 .unused,
47316 },51115 },
47317 .dst_temps = .{.mem},51116 .dst_temps = .{ .mem, .unused },
47318 .clobbers = .{ .eflags = true },51117 .clobbers = .{ .eflags = true },
47319 .each = .{ .once = &.{51118 .each = .{ .once = &.{
47320 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },51119 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -47328,7 +51127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47328,7 +51127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47328 }, .{51127 }, .{
47329 .required_features = .{ .avx, null, null, null },51128 .required_features = .{ .avx, null, null, null },
47330 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },51129 .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 },
47332 .patterns = &.{51131 .patterns = &.{
47333 .{ .src = .{ .to_mem, .none, .none } },51132 .{ .src = .{ .to_mem, .none, .none } },
47334 },51133 },
...@@ -47343,7 +51142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47343,7 +51142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47343 .unused,51142 .unused,
47344 .unused,51143 .unused,
47345 },51144 },
47346 .dst_temps = .{.mem},51145 .dst_temps = .{ .mem, .unused },
47347 .clobbers = .{ .eflags = true },51146 .clobbers = .{ .eflags = true },
47348 .each = .{ .once = &.{51147 .each = .{ .once = &.{
47349 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },51148 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
...@@ -47361,7 +51160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47361,7 +51160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47361 }, .{51160 }, .{
47362 .required_features = .{ .avx, null, null, null },51161 .required_features = .{ .avx, null, null, null },
47363 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },51162 .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 },
47365 .patterns = &.{51164 .patterns = &.{
47366 .{ .src = .{ .to_mem, .none, .none } },51165 .{ .src = .{ .to_mem, .none, .none } },
47367 },51166 },
...@@ -47376,7 +51175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47376,7 +51175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47376 .unused,51175 .unused,
47377 .unused,51176 .unused,
47378 },51177 },
47379 .dst_temps = .{.mem},51178 .dst_temps = .{ .mem, .unused },
47380 .clobbers = .{ .eflags = true },51179 .clobbers = .{ .eflags = true },
47381 .each = .{ .once = &.{51180 .each = .{ .once = &.{
47382 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },51181 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -47390,7 +51189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47390,7 +51189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47390 }, .{51189 }, .{
47391 .required_features = .{ .sse2, null, null, null },51190 .required_features = .{ .sse2, null, null, null },
47392 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },51191 .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 },
47394 .patterns = &.{51193 .patterns = &.{
47395 .{ .src = .{ .to_mem, .none, .none } },51194 .{ .src = .{ .to_mem, .none, .none } },
47396 },51195 },
...@@ -47405,7 +51204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47405,7 +51204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47405 .unused,51204 .unused,
47406 .unused,51205 .unused,
47407 },51206 },
47408 .dst_temps = .{.mem},51207 .dst_temps = .{ .mem, .unused },
47409 .clobbers = .{ .eflags = true },51208 .clobbers = .{ .eflags = true },
47410 .each = .{ .once = &.{51209 .each = .{ .once = &.{
47411 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },51210 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
...@@ -47424,7 +51223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47424,7 +51223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47424 }, .{51223 }, .{
47425 .required_features = .{ .sse2, null, null, null },51224 .required_features = .{ .sse2, null, null, null },
47426 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },51225 .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 },
47428 .patterns = &.{51227 .patterns = &.{
47429 .{ .src = .{ .to_mem, .none, .none } },51228 .{ .src = .{ .to_mem, .none, .none } },
47430 },51229 },
...@@ -47439,7 +51238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47439,7 +51238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47439 .unused,51238 .unused,
47440 .unused,51239 .unused,
47441 },51240 },
47442 .dst_temps = .{.mem},51241 .dst_temps = .{ .mem, .unused },
47443 .clobbers = .{ .eflags = true },51242 .clobbers = .{ .eflags = true },
47444 .each = .{ .once = &.{51243 .each = .{ .once = &.{
47445 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },51244 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -47454,7 +51253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47454,7 +51253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47454 }, .{51253 }, .{
47455 .required_features = .{ .sse, null, null, null },51254 .required_features = .{ .sse, null, null, null },
47456 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },51255 .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 },
47458 .patterns = &.{51257 .patterns = &.{
47459 .{ .src = .{ .to_mem, .none, .none } },51258 .{ .src = .{ .to_mem, .none, .none } },
47460 },51259 },
...@@ -47469,7 +51268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47469,7 +51268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47469 .unused,51268 .unused,
47470 .unused,51269 .unused,
47471 },51270 },
47472 .dst_temps = .{.mem},51271 .dst_temps = .{ .mem, .unused },
47473 .clobbers = .{ .eflags = true },51272 .clobbers = .{ .eflags = true },
47474 .each = .{ .once = &.{51273 .each = .{ .once = &.{
47475 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },51274 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
...@@ -47484,7 +51283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47484,7 +51283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47484 }, .{51283 }, .{
47485 .required_features = .{ .@"64bit", null, null, null },51284 .required_features = .{ .@"64bit", null, null, null },
47486 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },51285 .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 },
47488 .patterns = &.{51287 .patterns = &.{
47489 .{ .src = .{ .to_mem, .none, .none } },51288 .{ .src = .{ .to_mem, .none, .none } },
47490 },51289 },
...@@ -47499,7 +51298,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47499,7 +51298,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47499 .unused,51298 .unused,
47500 .unused,51299 .unused,
47501 },51300 },
47502 .dst_temps = .{.mem},51301 .dst_temps = .{ .mem, .unused },
47503 .clobbers = .{ .eflags = true },51302 .clobbers = .{ .eflags = true },
47504 .each = .{ .once = &.{51303 .each = .{ .once = &.{
47505 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51304 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47511,7 +51310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47511,7 +51310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47511 }, .{51310 }, .{
47512 .required_features = .{ .@"64bit", null, null, null },51311 .required_features = .{ .@"64bit", null, null, null },
47513 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },51312 .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 },
47515 .patterns = &.{51314 .patterns = &.{
47516 .{ .src = .{ .to_mem, .none, .none } },51315 .{ .src = .{ .to_mem, .none, .none } },
47517 },51316 },
...@@ -47526,7 +51325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47526,7 +51325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47526 .unused,51325 .unused,
47527 .unused,51326 .unused,
47528 },51327 },
47529 .dst_temps = .{.mem},51328 .dst_temps = .{ .mem, .unused },
47530 .clobbers = .{ .eflags = true },51329 .clobbers = .{ .eflags = true },
47531 .each = .{ .once = &.{51330 .each = .{ .once = &.{
47532 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51331 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47540,7 +51339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47540,7 +51339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47540 }, .{51339 }, .{
47541 .required_features = .{ .@"64bit", .bmi2, null, null },51340 .required_features = .{ .@"64bit", .bmi2, null, null },
47542 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },51341 .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 },
47544 .patterns = &.{51343 .patterns = &.{
47545 .{ .src = .{ .to_mem, .none, .none } },51344 .{ .src = .{ .to_mem, .none, .none } },
47546 },51345 },
...@@ -47555,7 +51354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47555,7 +51354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47555 .unused,51354 .unused,
47556 .unused,51355 .unused,
47557 },51356 },
47558 .dst_temps = .{.mem},51357 .dst_temps = .{ .mem, .unused },
47559 .clobbers = .{ .eflags = true },51358 .clobbers = .{ .eflags = true },
47560 .each = .{ .once = &.{51359 .each = .{ .once = &.{
47561 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51360 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47568,7 +51367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47568,7 +51367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47568 }, .{51367 }, .{
47569 .required_features = .{ .@"64bit", null, null, null },51368 .required_features = .{ .@"64bit", null, null, null },
47570 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },51369 .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 },
47572 .patterns = &.{51371 .patterns = &.{
47573 .{ .src = .{ .to_mem, .none, .none } },51372 .{ .src = .{ .to_mem, .none, .none } },
47574 },51373 },
...@@ -47583,7 +51382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47583,7 +51382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47583 .unused,51382 .unused,
47584 .unused,51383 .unused,
47585 },51384 },
47586 .dst_temps = .{.mem},51385 .dst_temps = .{ .mem, .unused },
47587 .clobbers = .{ .eflags = true },51386 .clobbers = .{ .eflags = true },
47588 .each = .{ .once = &.{51387 .each = .{ .once = &.{
47589 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51388 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47596,7 +51395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47596,7 +51395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47596 }, .{51395 }, .{
47597 .required_features = .{ .@"64bit", null, null, null },51396 .required_features = .{ .@"64bit", null, null, null },
47598 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },51397 .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 },
47600 .patterns = &.{51399 .patterns = &.{
47601 .{ .src = .{ .to_mem, .none, .none } },51400 .{ .src = .{ .to_mem, .none, .none } },
47602 },51401 },
...@@ -47611,7 +51410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47611,7 +51410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47611 .unused,51410 .unused,
47612 .unused,51411 .unused,
47613 },51412 },
47614 .dst_temps = .{.mem},51413 .dst_temps = .{ .mem, .unused },
47615 .clobbers = .{ .eflags = true },51414 .clobbers = .{ .eflags = true },
47616 .each = .{ .once = &.{51415 .each = .{ .once = &.{
47617 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51416 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47623,7 +51422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47623,7 +51422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47623 }, .{51422 }, .{
47624 .required_features = .{ .@"64bit", null, null, null },51423 .required_features = .{ .@"64bit", null, null, null },
47625 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },51424 .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 },
47627 .patterns = &.{51426 .patterns = &.{
47628 .{ .src = .{ .to_mem, .none, .none } },51427 .{ .src = .{ .to_mem, .none, .none } },
47629 },51428 },
...@@ -47638,7 +51437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47638,7 +51437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47638 .unused,51437 .unused,
47639 .unused,51438 .unused,
47640 },51439 },
47641 .dst_temps = .{.mem},51440 .dst_temps = .{ .mem, .unused },
47642 .clobbers = .{ .eflags = true },51441 .clobbers = .{ .eflags = true },
47643 .each = .{ .once = &.{51442 .each = .{ .once = &.{
47644 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51443 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47652,7 +51451,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47652,7 +51451,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47652 }, .{51451 }, .{
47653 .required_features = .{ .@"64bit", .bmi2, null, null },51452 .required_features = .{ .@"64bit", .bmi2, null, null },
47654 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },51453 .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 },
47656 .patterns = &.{51455 .patterns = &.{
47657 .{ .src = .{ .to_mem, .none, .none } },51456 .{ .src = .{ .to_mem, .none, .none } },
47658 },51457 },
...@@ -47667,7 +51466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47667,7 +51466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47667 .unused,51466 .unused,
47668 .unused,51467 .unused,
47669 },51468 },
47670 .dst_temps = .{.mem},51469 .dst_temps = .{ .mem, .unused },
47671 .clobbers = .{ .eflags = true },51470 .clobbers = .{ .eflags = true },
47672 .each = .{ .once = &.{51471 .each = .{ .once = &.{
47673 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51472 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47680,7 +51479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47680,7 +51479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47680 }, .{51479 }, .{
47681 .required_features = .{ .@"64bit", null, null, null },51480 .required_features = .{ .@"64bit", null, null, null },
47682 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },51481 .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 },
47684 .patterns = &.{51483 .patterns = &.{
47685 .{ .src = .{ .to_mem, .none, .none } },51484 .{ .src = .{ .to_mem, .none, .none } },
47686 },51485 },
...@@ -47695,7 +51494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47695,7 +51494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47695 .unused,51494 .unused,
47696 .unused,51495 .unused,
47697 },51496 },
47698 .dst_temps = .{.mem},51497 .dst_temps = .{ .mem, .unused },
47699 .clobbers = .{ .eflags = true },51498 .clobbers = .{ .eflags = true },
47700 .each = .{ .once = &.{51499 .each = .{ .once = &.{
47701 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51500 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47708,7 +51507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47708,7 +51507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47708 }, .{51507 }, .{
47709 .required_features = .{ .@"64bit", null, null, null },51508 .required_features = .{ .@"64bit", null, null, null },
47710 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },51509 .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 },
47712 .patterns = &.{51511 .patterns = &.{
47713 .{ .src = .{ .to_mem, .none, .none } },51512 .{ .src = .{ .to_mem, .none, .none } },
47714 },51513 },
...@@ -47723,7 +51522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47723,7 +51522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47723 .unused,51522 .unused,
47724 .unused,51523 .unused,
47725 },51524 },
47726 .dst_temps = .{.mem},51525 .dst_temps = .{ .mem, .unused },
47727 .clobbers = .{ .eflags = true },51526 .clobbers = .{ .eflags = true },
47728 .each = .{ .once = &.{51527 .each = .{ .once = &.{
47729 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51528 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47735,7 +51534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47735,7 +51534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47735 }, .{51534 }, .{
47736 .required_features = .{ .@"64bit", null, null, null },51535 .required_features = .{ .@"64bit", null, null, null },
47737 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .yword } }, .any, .any },51536 .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 },
47739 .patterns = &.{51538 .patterns = &.{
47740 .{ .src = .{ .to_mem, .none, .none } },51539 .{ .src = .{ .to_mem, .none, .none } },
47741 },51540 },
...@@ -47750,7 +51549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47750,7 +51549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47750 .unused,51549 .unused,
47751 .unused,51550 .unused,
47752 },51551 },
47753 .dst_temps = .{.mem},51552 .dst_temps = .{ .mem, .unused },
47754 .clobbers = .{ .eflags = true },51553 .clobbers = .{ .eflags = true },
47755 .each = .{ .once = &.{51554 .each = .{ .once = &.{
47756 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51555 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47764,7 +51563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47764,7 +51563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47764 }, .{51563 }, .{
47765 .required_features = .{ .@"64bit", .bmi2, null, null },51564 .required_features = .{ .@"64bit", .bmi2, null, null },
47766 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },51565 .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 },
47768 .patterns = &.{51567 .patterns = &.{
47769 .{ .src = .{ .to_mem, .none, .none } },51568 .{ .src = .{ .to_mem, .none, .none } },
47770 },51569 },
...@@ -47779,7 +51578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47779,7 +51578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47779 .unused,51578 .unused,
47780 .unused,51579 .unused,
47781 },51580 },
47782 .dst_temps = .{.mem},51581 .dst_temps = .{ .mem, .unused },
47783 .clobbers = .{ .eflags = true },51582 .clobbers = .{ .eflags = true },
47784 .each = .{ .once = &.{51583 .each = .{ .once = &.{
47785 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51584 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47792,7 +51591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47792,7 +51591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47792 }, .{51591 }, .{
47793 .required_features = .{ .@"64bit", null, null, null },51592 .required_features = .{ .@"64bit", null, null, null },
47794 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },51593 .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 },
47796 .patterns = &.{51595 .patterns = &.{
47797 .{ .src = .{ .to_mem, .none, .none } },51596 .{ .src = .{ .to_mem, .none, .none } },
47798 },51597 },
...@@ -47807,7 +51606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47807,7 +51606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47807 .unused,51606 .unused,
47808 .unused,51607 .unused,
47809 },51608 },
47810 .dst_temps = .{.mem},51609 .dst_temps = .{ .mem, .unused },
47811 .clobbers = .{ .eflags = true },51610 .clobbers = .{ .eflags = true },
47812 .each = .{ .once = &.{51611 .each = .{ .once = &.{
47813 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51612 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47820,7 +51619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47820,7 +51619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47820 }, .{51619 }, .{
47821 .required_features = .{ .@"64bit", null, null, null },51620 .required_features = .{ .@"64bit", null, null, null },
47822 .src_constraints = .{ .any_scalar_int, .any, .any },51621 .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 },
47824 .patterns = &.{51623 .patterns = &.{
47825 .{ .src = .{ .to_mem, .none, .none } },51624 .{ .src = .{ .to_mem, .none, .none } },
47826 },51625 },
...@@ -47835,7 +51634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47835,7 +51634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47835 .unused,51634 .unused,
47836 .unused,51635 .unused,
47837 },51636 },
47838 .dst_temps = .{.mem},51637 .dst_temps = .{ .mem, .unused },
47839 .clobbers = .{ .eflags = true },51638 .clobbers = .{ .eflags = true },
47840 .each = .{ .once = &.{51639 .each = .{ .once = &.{
47841 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51640 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47849,7 +51648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47849,7 +51648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47849 }, .{51648 }, .{
47850 .required_features = .{ .@"64bit", null, null, null },51649 .required_features = .{ .@"64bit", null, null, null },
47851 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51650 .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 },
47853 .patterns = &.{51652 .patterns = &.{
47854 .{ .src = .{ .to_mem, .none, .none } },51653 .{ .src = .{ .to_mem, .none, .none } },
47855 },51654 },
...@@ -47864,7 +51663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47864,7 +51663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47864 .unused,51663 .unused,
47865 .unused,51664 .unused,
47866 },51665 },
47867 .dst_temps = .{.mem},51666 .dst_temps = .{ .mem, .unused },
47868 .clobbers = .{ .eflags = true },51667 .clobbers = .{ .eflags = true },
47869 .each = .{ .once = &.{51668 .each = .{ .once = &.{
47870 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51669 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47880,7 +51679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47880,7 +51679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47880 }, .{51679 }, .{
47881 .required_features = .{ .@"64bit", .bmi2, null, null },51680 .required_features = .{ .@"64bit", .bmi2, null, null },
47882 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },51681 .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 },
47884 .patterns = &.{51683 .patterns = &.{
47885 .{ .src = .{ .to_mem, .none, .none } },51684 .{ .src = .{ .to_mem, .none, .none } },
47886 },51685 },
...@@ -47895,7 +51694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47895,7 +51694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47895 .unused,51694 .unused,
47896 .unused,51695 .unused,
47897 },51696 },
47898 .dst_temps = .{.mem},51697 .dst_temps = .{ .mem, .unused },
47899 .clobbers = .{ .eflags = true },51698 .clobbers = .{ .eflags = true },
47900 .each = .{ .once = &.{51699 .each = .{ .once = &.{
47901 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51700 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47910,7 +51709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47910,7 +51709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47910 }, .{51709 }, .{
47911 .required_features = .{ .@"64bit", null, null, null },51710 .required_features = .{ .@"64bit", null, null, null },
47912 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },51711 .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 },
47914 .patterns = &.{51713 .patterns = &.{
47915 .{ .src = .{ .to_mem, .none, .none } },51714 .{ .src = .{ .to_mem, .none, .none } },
47916 },51715 },
...@@ -47925,7 +51724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47925,7 +51724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47925 .unused,51724 .unused,
47926 .unused,51725 .unused,
47927 },51726 },
47928 .dst_temps = .{.mem},51727 .dst_temps = .{ .mem, .unused },
47929 .clobbers = .{ .eflags = true },51728 .clobbers = .{ .eflags = true },
47930 .each = .{ .once = &.{51729 .each = .{ .once = &.{
47931 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },51730 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -47940,7 +51739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47940,7 +51739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47940 }, .{51739 }, .{
47941 .required_features = .{ .@"64bit", .slow_incdec, null, null },51740 .required_features = .{ .@"64bit", .slow_incdec, null, null },
47942 .src_constraints = .{ .any_scalar_int, .any, .any },51741 .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 },
47944 .patterns = &.{51743 .patterns = &.{
47945 .{ .src = .{ .to_mem, .none, .none } },51744 .{ .src = .{ .to_mem, .none, .none } },
47946 },51745 },
...@@ -47955,7 +51754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47955,7 +51754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47955 .unused,51754 .unused,
47956 .unused,51755 .unused,
47957 },51756 },
47958 .dst_temps = .{.mem},51757 .dst_temps = .{ .mem, .unused },
47959 .clobbers = .{ .eflags = true },51758 .clobbers = .{ .eflags = true },
47960 .each = .{ .once = &.{51759 .each = .{ .once = &.{
47961 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51760 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -47970,7 +51769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47970,7 +51769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47970 }, .{51769 }, .{
47971 .required_features = .{ .@"64bit", null, null, null },51770 .required_features = .{ .@"64bit", null, null, null },
47972 .src_constraints = .{ .any_scalar_int, .any, .any },51771 .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 },
47974 .patterns = &.{51773 .patterns = &.{
47975 .{ .src = .{ .to_mem, .none, .none } },51774 .{ .src = .{ .to_mem, .none, .none } },
47976 },51775 },
...@@ -47985,7 +51784,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -47985,7 +51784,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47985 .unused,51784 .unused,
47986 .unused,51785 .unused,
47987 },51786 },
47988 .dst_temps = .{.mem},51787 .dst_temps = .{ .mem, .unused },
47989 .clobbers = .{ .eflags = true },51788 .clobbers = .{ .eflags = true },
47990 .each = .{ .once = &.{51789 .each = .{ .once = &.{
47991 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51790 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48000,7 +51799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48000,7 +51799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48000 }, .{51799 }, .{
48001 .required_features = .{ .@"64bit", .slow_incdec, null, null },51800 .required_features = .{ .@"64bit", .slow_incdec, null, null },
48002 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51801 .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 },
48004 .patterns = &.{51803 .patterns = &.{
48005 .{ .src = .{ .to_mem, .none, .none } },51804 .{ .src = .{ .to_mem, .none, .none } },
48006 },51805 },
...@@ -48015,7 +51814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48015,7 +51814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48015 .unused,51814 .unused,
48016 .unused,51815 .unused,
48017 },51816 },
48018 .dst_temps = .{.mem},51817 .dst_temps = .{ .mem, .unused },
48019 .clobbers = .{ .eflags = true },51818 .clobbers = .{ .eflags = true },
48020 .each = .{ .once = &.{51819 .each = .{ .once = &.{
48021 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51820 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48035,7 +51834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48035,7 +51834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48035 }, .{51834 }, .{
48036 .required_features = .{ .@"64bit", null, null, null },51835 .required_features = .{ .@"64bit", null, null, null },
48037 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51836 .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 },
48039 .patterns = &.{51838 .patterns = &.{
48040 .{ .src = .{ .to_mem, .none, .none } },51839 .{ .src = .{ .to_mem, .none, .none } },
48041 },51840 },
...@@ -48050,7 +51849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48050,7 +51849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48050 .unused,51849 .unused,
48051 .unused,51850 .unused,
48052 },51851 },
48053 .dst_temps = .{.mem},51852 .dst_temps = .{ .mem, .unused },
48054 .clobbers = .{ .eflags = true },51853 .clobbers = .{ .eflags = true },
48055 .each = .{ .once = &.{51854 .each = .{ .once = &.{
48056 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51855 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48070,7 +51869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48070,7 +51869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48070 }, .{51869 }, .{
48071 .required_features = .{ .@"64bit", .slow_incdec, null, null },51870 .required_features = .{ .@"64bit", .slow_incdec, null, null },
48072 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51871 .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 },
48074 .patterns = &.{51873 .patterns = &.{
48075 .{ .src = .{ .to_mem, .none, .none } },51874 .{ .src = .{ .to_mem, .none, .none } },
48076 },51875 },
...@@ -48085,7 +51884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48085,7 +51884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48085 .unused,51884 .unused,
48086 .unused,51885 .unused,
48087 },51886 },
48088 .dst_temps = .{.mem},51887 .dst_temps = .{ .mem, .unused },
48089 .clobbers = .{ .eflags = true },51888 .clobbers = .{ .eflags = true },
48090 .each = .{ .once = &.{51889 .each = .{ .once = &.{
48091 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51890 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48107,7 +51906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48107,7 +51906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48107 }, .{51906 }, .{
48108 .required_features = .{ .@"64bit", null, null, null },51907 .required_features = .{ .@"64bit", null, null, null },
48109 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51908 .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 },
48111 .patterns = &.{51910 .patterns = &.{
48112 .{ .src = .{ .to_mem, .none, .none } },51911 .{ .src = .{ .to_mem, .none, .none } },
48113 },51912 },
...@@ -48122,7 +51921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48122,7 +51921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48122 .unused,51921 .unused,
48123 .unused,51922 .unused,
48124 },51923 },
48125 .dst_temps = .{.mem},51924 .dst_temps = .{ .mem, .unused },
48126 .clobbers = .{ .eflags = true },51925 .clobbers = .{ .eflags = true },
48127 .each = .{ .once = &.{51926 .each = .{ .once = &.{
48128 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51927 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48144,7 +51943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48144,7 +51943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48144 }, .{51943 }, .{
48145 .required_features = .{ .@"64bit", .slow_incdec, null, null },51944 .required_features = .{ .@"64bit", .slow_incdec, null, null },
48146 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51945 .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 },
48148 .patterns = &.{51947 .patterns = &.{
48149 .{ .src = .{ .to_mem, .none, .none } },51948 .{ .src = .{ .to_mem, .none, .none } },
48150 },51949 },
...@@ -48159,7 +51958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48159,7 +51958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48159 .unused,51958 .unused,
48160 .unused,51959 .unused,
48161 },51960 },
48162 .dst_temps = .{.mem},51961 .dst_temps = .{ .mem, .unused },
48163 .clobbers = .{ .eflags = true },51962 .clobbers = .{ .eflags = true },
48164 .each = .{ .once = &.{51963 .each = .{ .once = &.{
48165 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51964 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48178,7 +51977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48178,7 +51977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48178 }, .{51977 }, .{
48179 .required_features = .{ .@"64bit", null, null, null },51978 .required_features = .{ .@"64bit", null, null, null },
48180 .src_constraints = .{ .any_scalar_signed_int, .any, .any },51979 .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 },
48182 .patterns = &.{51981 .patterns = &.{
48183 .{ .src = .{ .to_mem, .none, .none } },51982 .{ .src = .{ .to_mem, .none, .none } },
48184 },51983 },
...@@ -48193,7 +51992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48193,7 +51992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48193 .unused,51992 .unused,
48194 .unused,51993 .unused,
48195 },51994 },
48196 .dst_temps = .{.mem},51995 .dst_temps = .{ .mem, .unused },
48197 .clobbers = .{ .eflags = true },51996 .clobbers = .{ .eflags = true },
48198 .each = .{ .once = &.{51997 .each = .{ .once = &.{
48199 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },51998 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48212,7 +52011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48212,7 +52011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48212 }, .{52011 }, .{
48213 .required_features = .{ .@"64bit", .slow_incdec, null, null },52012 .required_features = .{ .@"64bit", .slow_incdec, null, null },
48214 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52013 .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 },
48216 .patterns = &.{52015 .patterns = &.{
48217 .{ .src = .{ .to_mem, .none, .none } },52016 .{ .src = .{ .to_mem, .none, .none } },
48218 },52017 },
...@@ -48227,7 +52026,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48227,7 +52026,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48227 .unused,52026 .unused,
48228 .unused,52027 .unused,
48229 },52028 },
48230 .dst_temps = .{.mem},52029 .dst_temps = .{ .mem, .unused },
48231 .clobbers = .{ .eflags = true },52030 .clobbers = .{ .eflags = true },
48232 .each = .{ .once = &.{52031 .each = .{ .once = &.{
48233 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52032 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48244,7 +52043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48244,7 +52043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48244 }, .{52043 }, .{
48245 .required_features = .{ .@"64bit", null, null, null },52044 .required_features = .{ .@"64bit", null, null, null },
48246 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52045 .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 },
48248 .patterns = &.{52047 .patterns = &.{
48249 .{ .src = .{ .to_mem, .none, .none } },52048 .{ .src = .{ .to_mem, .none, .none } },
48250 },52049 },
...@@ -48259,7 +52058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48259,7 +52058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48259 .unused,52058 .unused,
48260 .unused,52059 .unused,
48261 },52060 },
48262 .dst_temps = .{.mem},52061 .dst_temps = .{ .mem, .unused },
48263 .clobbers = .{ .eflags = true },52062 .clobbers = .{ .eflags = true },
48264 .each = .{ .once = &.{52063 .each = .{ .once = &.{
48265 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52064 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48276,7 +52075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48276,7 +52075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48276 }, .{52075 }, .{
48277 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },52076 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
48278 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52077 .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 },
48280 .patterns = &.{52079 .patterns = &.{
48281 .{ .src = .{ .to_mem, .none, .none } },52080 .{ .src = .{ .to_mem, .none, .none } },
48282 },52081 },
...@@ -48291,7 +52090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48291,7 +52090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48291 .unused,52090 .unused,
48292 .unused,52091 .unused,
48293 },52092 },
48294 .dst_temps = .{.mem},52093 .dst_temps = .{ .mem, .unused },
48295 .clobbers = .{ .eflags = true },52094 .clobbers = .{ .eflags = true },
48296 .each = .{ .once = &.{52095 .each = .{ .once = &.{
48297 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52096 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48311,7 +52110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48311,7 +52110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48311 }, .{52110 }, .{
48312 .required_features = .{ .@"64bit", .bmi2, null, null },52111 .required_features = .{ .@"64bit", .bmi2, null, null },
48313 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52112 .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 },
48315 .patterns = &.{52114 .patterns = &.{
48316 .{ .src = .{ .to_mem, .none, .none } },52115 .{ .src = .{ .to_mem, .none, .none } },
48317 },52116 },
...@@ -48326,7 +52125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48326,7 +52125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48326 .unused,52125 .unused,
48327 .unused,52126 .unused,
48328 },52127 },
48329 .dst_temps = .{.mem},52128 .dst_temps = .{ .mem, .unused },
48330 .clobbers = .{ .eflags = true },52129 .clobbers = .{ .eflags = true },
48331 .each = .{ .once = &.{52130 .each = .{ .once = &.{
48332 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52131 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48346,7 +52145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48346,7 +52145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48346 }, .{52145 }, .{
48347 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },52146 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
48348 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52147 .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 },
48350 .patterns = &.{52149 .patterns = &.{
48351 .{ .src = .{ .to_mem, .none, .none } },52150 .{ .src = .{ .to_mem, .none, .none } },
48352 },52151 },
...@@ -48361,7 +52160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48361,7 +52160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48361 .unused,52160 .unused,
48362 .unused,52161 .unused,
48363 },52162 },
48364 .dst_temps = .{.mem},52163 .dst_temps = .{ .mem, .unused },
48365 .clobbers = .{ .eflags = true },52164 .clobbers = .{ .eflags = true },
48366 .each = .{ .once = &.{52165 .each = .{ .once = &.{
48367 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52166 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48379,7 +52178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48379,7 +52178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48379 }, .{52178 }, .{
48380 .required_features = .{ .@"64bit", .bmi2, null, null },52179 .required_features = .{ .@"64bit", .bmi2, null, null },
48381 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52180 .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 },
48383 .patterns = &.{52182 .patterns = &.{
48384 .{ .src = .{ .to_mem, .none, .none } },52183 .{ .src = .{ .to_mem, .none, .none } },
48385 },52184 },
...@@ -48394,7 +52193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48394,7 +52193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48394 .unused,52193 .unused,
48395 .unused,52194 .unused,
48396 },52195 },
48397 .dst_temps = .{.mem},52196 .dst_temps = .{ .mem, .unused },
48398 .clobbers = .{ .eflags = true },52197 .clobbers = .{ .eflags = true },
48399 .each = .{ .once = &.{52198 .each = .{ .once = &.{
48400 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52199 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48412,7 +52211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48412,7 +52211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48412 }, .{52211 }, .{
48413 .required_features = .{ .@"64bit", .slow_incdec, null, null },52212 .required_features = .{ .@"64bit", .slow_incdec, null, null },
48414 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52213 .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 },
48416 .patterns = &.{52215 .patterns = &.{
48417 .{ .src = .{ .to_mem, .none, .none } },52216 .{ .src = .{ .to_mem, .none, .none } },
48418 },52217 },
...@@ -48427,7 +52226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48427,7 +52226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48427 .unused,52226 .unused,
48428 .unused,52227 .unused,
48429 },52228 },
48430 .dst_temps = .{.mem},52229 .dst_temps = .{ .mem, .unused },
48431 .clobbers = .{ .eflags = true },52230 .clobbers = .{ .eflags = true },
48432 .each = .{ .once = &.{52231 .each = .{ .once = &.{
48433 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52232 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48447,7 +52246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48447,7 +52246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48447 }, .{52246 }, .{
48448 .required_features = .{ .@"64bit", null, null, null },52247 .required_features = .{ .@"64bit", null, null, null },
48449 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52248 .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 },
48451 .patterns = &.{52250 .patterns = &.{
48452 .{ .src = .{ .to_mem, .none, .none } },52251 .{ .src = .{ .to_mem, .none, .none } },
48453 },52252 },
...@@ -48462,7 +52261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48462,7 +52261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48462 .unused,52261 .unused,
48463 .unused,52262 .unused,
48464 },52263 },
48465 .dst_temps = .{.mem},52264 .dst_temps = .{ .mem, .unused },
48466 .clobbers = .{ .eflags = true },52265 .clobbers = .{ .eflags = true },
48467 .each = .{ .once = &.{52266 .each = .{ .once = &.{
48468 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52267 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48482,7 +52281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48482,7 +52281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48482 }, .{52281 }, .{
48483 .required_features = .{ .@"64bit", .slow_incdec, null, null },52282 .required_features = .{ .@"64bit", .slow_incdec, null, null },
48484 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52283 .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 },
48486 .patterns = &.{52285 .patterns = &.{
48487 .{ .src = .{ .to_mem, .none, .none } },52286 .{ .src = .{ .to_mem, .none, .none } },
48488 },52287 },
...@@ -48497,7 +52296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48497,7 +52296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48497 .unused,52296 .unused,
48498 .unused,52297 .unused,
48499 },52298 },
48500 .dst_temps = .{.mem},52299 .dst_temps = .{ .mem, .unused },
48501 .clobbers = .{ .eflags = true },52300 .clobbers = .{ .eflags = true },
48502 .each = .{ .once = &.{52301 .each = .{ .once = &.{
48503 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52302 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48516,7 +52315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48516,7 +52315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48516 }, .{52315 }, .{
48517 .required_features = .{ .@"64bit", null, null, null },52316 .required_features = .{ .@"64bit", null, null, null },
48518 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },52317 .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 },
48520 .patterns = &.{52319 .patterns = &.{
48521 .{ .src = .{ .to_mem, .none, .none } },52320 .{ .src = .{ .to_mem, .none, .none } },
48522 },52321 },
...@@ -48531,7 +52330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48531,7 +52330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48531 .unused,52330 .unused,
48532 .unused,52331 .unused,
48533 },52332 },
48534 .dst_temps = .{.mem},52333 .dst_temps = .{ .mem, .unused },
48535 .clobbers = .{ .eflags = true },52334 .clobbers = .{ .eflags = true },
48536 .each = .{ .once = &.{52335 .each = .{ .once = &.{
48537 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },52336 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
...@@ -48558,6 +52357,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48558,6 +52357,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48558 };52357 };
48559 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);52358 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
48560 },52359 },
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 },
48561 .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else {52369 .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else {
48562 const ty_op = air_datas[@intFromEnum(inst)].ty_op;52370 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
48563 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});52371 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
...@@ -48568,16 +52376,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48568,16 +52376,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48568 const opt_ty = cg.typeOf(ty_op.operand).childType(zcu);52376 const opt_ty = cg.typeOf(ty_op.operand).childType(zcu);
48569 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});52377 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
48570 if (!opt_ty.optionalReprIsPayload(zcu)) {52378 if (!opt_ty.optionalReprIsPayload(zcu)) {
48571 const opt_child_ty = opt_ty.optionalChild(zcu);52379 const opt_pl_ty = opt_ty.optionalChild(zcu);
48572 const opt_child_abi_size: i32 = @intCast(opt_child_ty.abiSize(zcu));52380 const opt_pl_abi_size: i32 = @intCast(opt_pl_ty.abiSize(zcu));
48573 try ops[0].toOffset(opt_child_abi_size, cg);52381 try ops[0].toOffset(opt_pl_abi_size, cg);
48574 var has_value = try cg.tempInit(.bool, .{ .immediate = 1 });52382 var has_value = try cg.tempInit(.bool, .{ .immediate = 1 });
48575 try ops[0].store(&has_value, .{}, cg);52383 try ops[0].store(&has_value, .{}, cg);
48576 try has_value.die(cg);52384 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);
48578 }52386 }
48579 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);52387 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
48580 },52388 },
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 },
48581 .unwrap_errunion_payload_ptr => if (use_old) try cg.airUnwrapErrUnionPayloadPtr(inst) else {52425 .unwrap_errunion_payload_ptr => if (use_old) try cg.airUnwrapErrUnionPayloadPtr(inst) else {
48582 const ty_op = air_datas[@intFromEnum(inst)].ty_op;52426 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
48583 const eu_ty = cg.typeOf(ty_op.operand).childType(zcu);52427 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 {...@@ -48590,11 +52434,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48590 .unwrap_errunion_err_ptr => if (use_old) try cg.airUnwrapErrUnionErrPtr(inst) else {52434 .unwrap_errunion_err_ptr => if (use_old) try cg.airUnwrapErrUnionErrPtr(inst) else {
48591 const ty_op = air_datas[@intFromEnum(inst)].ty_op;52435 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
48592 const eu_ty = cg.typeOf(ty_op.operand).childType(zcu);52436 const eu_ty = cg.typeOf(ty_op.operand).childType(zcu);
52437 const eu_err_ty = ty_op.ty.toType();
48593 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);52438 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
48594 const eu_err_off: i32 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));52439 const eu_err_off: i32 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
48595 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});52440 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
48596 try ops[0].toOffset(eu_err_off, cg);52441 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);
48598 try err.finish(inst, &.{ty_op.operand}, &ops, cg);52443 try err.finish(inst, &.{ty_op.operand}, &ops, cg);
48599 },52444 },
48600 .errunion_payload_ptr_set => if (use_old) try cg.airErrUnionPayloadPtrSet(inst) else {52445 .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 {...@@ -48606,12 +52451,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48606 const eu_pl_off: i32 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu));52451 const eu_pl_off: i32 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu));
48607 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});52452 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
48608 try ops[0].toOffset(eu_err_off, cg);52453 try ops[0].toOffset(eu_err_off, cg);
48609 var no_err = try cg.tempInit(eu_err_ty, .{ .immediate = 0 });52454 var err = try cg.tempInit(eu_err_ty, .{ .immediate = 0 });
48610 try ops[0].store(&no_err, .{}, cg);52455 try ops[0].store(&err, .{}, cg);
48611 try no_err.die(cg);52456 try err.die(cg);
48612 try ops[0].toOffset(eu_pl_off - eu_err_off, cg);52457 try ops[0].toOffset(eu_pl_off - eu_err_off, cg);
48613 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);52458 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
48614 },52459 },
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 },
48615 .struct_field_ptr => if (use_old) try cg.airStructFieldPtr(inst) else {52485 .struct_field_ptr => if (use_old) try cg.airStructFieldPtr(inst) else {
48616 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;52486 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;
48617 const extra = cg.air.extraData(Air.StructField, ty_pl.payload).data;52487 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 {...@@ -48659,8 +52529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48659 .@"packed" => break :fallback try cg.airStructFieldVal(inst),52529 .@"packed" => break :fallback try cg.airStructFieldVal(inst),
48660 };52530 };
48661 var ops = try cg.tempsFromOperands(inst, .{extra.struct_operand});52531 var ops = try cg.tempsFromOperands(inst, .{extra.struct_operand});
48662 // hack around Sema OPV bugs52532 var res = if (!hack_around_sema_opv_bugs or field_ty.hasRuntimeBitsIgnoreComptime(zcu))
48663 var res = if (field_ty.hasRuntimeBitsIgnoreComptime(zcu))
48664 try ops[0].read(field_ty, .{ .disp = field_off }, cg)52533 try ops[0].read(field_ty, .{ .disp = field_off }, cg)
48665 else52534 else
48666 try cg.tempInit(field_ty, .none);52535 try cg.tempInit(field_ty, .none);
...@@ -48671,8 +52540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48671,8 +52540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48671 const union_ty = cg.typeOf(bin_op.lhs).childType(zcu);52540 const union_ty = cg.typeOf(bin_op.lhs).childType(zcu);
48672 const union_layout = union_ty.unionGetLayout(zcu);52541 const union_layout = union_ty.unionGetLayout(zcu);
48673 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });52542 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
48674 // hack around Sema OPV bugs52543 if (!hack_around_sema_opv_bugs or union_layout.tag_size > 0) try ops[0].store(&ops[1], .{
48675 if (union_layout.tag_size > 0) try ops[0].store(&ops[1], .{
48676 .disp = @intCast(union_layout.tagOffset()),52544 .disp = @intCast(union_layout.tagOffset()),
48677 }, cg);52545 }, cg);
48678 const res = try cg.tempInit(.void, .none);52546 const res = try cg.tempInit(.void, .none);
...@@ -48720,6 +52588,200 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48720,6 +52588,200 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48720 try ops[0].toOffset(0, cg);52588 try ops[0].toOffset(0, cg);
48721 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);52589 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
48722 },52590 },
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 },
48723 .slice_elem_val, .ptr_elem_val => |air_tag| if (use_old) switch (air_tag) {52785 .slice_elem_val, .ptr_elem_val => |air_tag| if (use_old) switch (air_tag) {
48724 else => unreachable,52786 else => unreachable,
48725 .slice_elem_val => try cg.airSliceElemVal(inst),52787 .slice_elem_val => try cg.airSliceElemVal(inst),
...@@ -48730,76 +52792,76 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48730,76 +52792,76 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48730 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });52792 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
48731 try ops[0].toSlicePtr(cg);52793 try ops[0].toSlicePtr(cg);
48732 var res: [1]Temp = undefined;52794 var res: [1]Temp = undefined;
48733 if (res_ty.hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{res_ty}, &ops, comptime &.{ .{52795 if (!hack_around_sema_opv_bugs or res_ty.hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{res_ty}, &ops, comptime &.{ .{
48734 .dst_constraints = .{.{ .int = .byte }},52796 .dst_constraints = .{ .{ .int = .byte }, .any },
48735 .patterns = &.{52797 .patterns = &.{
48736 .{ .src = .{ .to_gpr, .simm32, .none } },52798 .{ .src = .{ .to_gpr, .simm32, .none } },
48737 },52799 },
48738 .dst_temps = .{.{ .rc = .general_purpose }},52800 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48739 .each = .{ .once = &.{52801 .each = .{ .once = &.{
48740 .{ ._, ._, .movzx, .dst0d, .leaa(.src0b, .add_src0_elem_size_times_src1), ._, ._ },52802 .{ ._, ._, .movzx, .dst0d, .leaa(.src0b, .add_src0_elem_size_mul_src1), ._, ._ },
48741 } },52803 } },
48742 }, .{52804 }, .{
48743 .dst_constraints = .{.{ .int = .byte }},52805 .dst_constraints = .{ .{ .int = .byte }, .any },
48744 .patterns = &.{52806 .patterns = &.{
48745 .{ .src = .{ .to_gpr, .to_gpr, .none } },52807 .{ .src = .{ .to_gpr, .to_gpr, .none } },
48746 },52808 },
48747 .dst_temps = .{.{ .rc = .general_purpose }},52809 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48748 .each = .{ .once = &.{52810 .each = .{ .once = &.{
48749 .{ ._, ._, .movzx, .dst0d, .leai(.src0b, .src1), ._, ._ },52811 .{ ._, ._, .movzx, .dst0d, .leai(.src0b, .src1), ._, ._ },
48750 } },52812 } },
48751 }, .{52813 }, .{
48752 .dst_constraints = .{.{ .int = .word }},52814 .dst_constraints = .{ .{ .int = .word }, .any },
48753 .patterns = &.{52815 .patterns = &.{
48754 .{ .src = .{ .to_gpr, .simm32, .none } },52816 .{ .src = .{ .to_gpr, .simm32, .none } },
48755 },52817 },
48756 .dst_temps = .{.{ .rc = .general_purpose }},52818 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48757 .each = .{ .once = &.{52819 .each = .{ .once = &.{
48758 .{ ._, ._, .movzx, .dst0d, .leaa(.src0w, .add_src0_elem_size_times_src1), ._, ._ },52820 .{ ._, ._, .movzx, .dst0d, .leaa(.src0w, .add_src0_elem_size_mul_src1), ._, ._ },
48759 } },52821 } },
48760 }, .{52822 }, .{
48761 .dst_constraints = .{.{ .int = .word }},52823 .dst_constraints = .{ .{ .int = .word }, .any },
48762 .patterns = &.{52824 .patterns = &.{
48763 .{ .src = .{ .to_gpr, .to_gpr, .none } },52825 .{ .src = .{ .to_gpr, .to_gpr, .none } },
48764 },52826 },
48765 .dst_temps = .{.{ .rc = .general_purpose }},52827 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48766 .each = .{ .once = &.{52828 .each = .{ .once = &.{
48767 .{ ._, ._, .movzx, .dst0d, .leasi(.src0w, .@"2", .src1), ._, ._ },52829 .{ ._, ._, .movzx, .dst0d, .leasi(.src0w, .@"2", .src1), ._, ._ },
48768 } },52830 } },
48769 }, .{52831 }, .{
48770 .dst_constraints = .{.{ .int = .dword }},52832 .dst_constraints = .{ .{ .int = .dword }, .any },
48771 .patterns = &.{52833 .patterns = &.{
48772 .{ .src = .{ .to_gpr, .simm32, .none } },52834 .{ .src = .{ .to_gpr, .simm32, .none } },
48773 },52835 },
48774 .dst_temps = .{.{ .rc = .general_purpose }},52836 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48775 .each = .{ .once = &.{52837 .each = .{ .once = &.{
48776 .{ ._, ._, .mov, .dst0d, .leaa(.src0d, .add_src0_elem_size_times_src1), ._, ._ },52838 .{ ._, ._, .mov, .dst0d, .leaa(.src0d, .add_src0_elem_size_mul_src1), ._, ._ },
48777 } },52839 } },
48778 }, .{52840 }, .{
48779 .dst_constraints = .{.{ .int = .dword }},52841 .dst_constraints = .{ .{ .int = .dword }, .any },
48780 .patterns = &.{52842 .patterns = &.{
48781 .{ .src = .{ .to_gpr, .to_gpr, .none } },52843 .{ .src = .{ .to_gpr, .to_gpr, .none } },
48782 },52844 },
48783 .dst_temps = .{.{ .rc = .general_purpose }},52845 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48784 .each = .{ .once = &.{52846 .each = .{ .once = &.{
48785 .{ ._, ._, .mov, .dst0d, .leasi(.src0d, .@"4", .src1), ._, ._ },52847 .{ ._, ._, .mov, .dst0d, .leasi(.src0d, .@"4", .src1), ._, ._ },
48786 } },52848 } },
48787 }, .{52849 }, .{
48788 .dst_constraints = .{.{ .int = .qword }},52850 .dst_constraints = .{ .{ .int = .qword }, .any },
48789 .patterns = &.{52851 .patterns = &.{
48790 .{ .src = .{ .to_gpr, .simm32, .none } },52852 .{ .src = .{ .to_gpr, .simm32, .none } },
48791 },52853 },
48792 .dst_temps = .{.{ .rc = .general_purpose }},52854 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48793 .each = .{ .once = &.{52855 .each = .{ .once = &.{
48794 .{ ._, ._, .mov, .dst0q, .leaa(.src0q, .add_src0_elem_size_times_src1), ._, ._ },52856 .{ ._, ._, .mov, .dst0q, .leaa(.src0q, .add_src0_elem_size_mul_src1), ._, ._ },
48795 } },52857 } },
48796 }, .{52858 }, .{
48797 .required_features = .{ .@"64bit", null, null, null },52859 .required_features = .{ .@"64bit", null, null, null },
48798 .dst_constraints = .{.{ .int = .qword }},52860 .dst_constraints = .{ .{ .int = .qword }, .any },
48799 .patterns = &.{52861 .patterns = &.{
48800 .{ .src = .{ .to_gpr, .to_gpr, .none } },52862 .{ .src = .{ .to_gpr, .to_gpr, .none } },
48801 },52863 },
48802 .dst_temps = .{.{ .rc = .general_purpose }},52864 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48803 .each = .{ .once = &.{52865 .each = .{ .once = &.{
48804 .{ ._, ._, .mov, .dst0q, .leasi(.src0q, .@"8", .src1), ._, ._ },52866 .{ ._, ._, .mov, .dst0q, .leasi(.src0q, .@"8", .src1), ._, ._ },
48805 } },52867 } },
...@@ -48809,8 +52871,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48809,8 +52871,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48809 while (true) for (&ops) |*op| {52871 while (true) for (&ops) |*op| {
48810 if (try op.toRegClass(true, .general_purpose, cg)) break;52872 if (try op.toRegClass(true, .general_purpose, cg)) break;
48811 } else break;52873 } else break;
48812 const lhs_reg = ops[0].unwrap(cg).temp.tracking(cg).short.register.to64();52874 const lhs_reg = ops[0].tracking(cg).short.register.to64();
48813 const rhs_reg = ops[1].unwrap(cg).temp.tracking(cg).short.register.to64();52875 const rhs_reg = ops[1].tracking(cg).short.register.to64();
48814 if (!std.math.isPowerOfTwo(elem_size)) {52876 if (!std.math.isPowerOfTwo(elem_size)) {
48815 try cg.spillEflagsIfOccupied();52877 try cg.spillEflagsIfOccupied();
48816 try cg.asmRegisterRegisterImmediate(52878 try cg.asmRegisterRegisterImmediate(
...@@ -48821,7 +52883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48821,7 +52883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48821 );52883 );
48822 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{52884 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
48823 .base = .{ .reg = lhs_reg },52885 .base = .{ .reg = lhs_reg },
48824 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },52886 .mod = .{ .rm = .{ .index = rhs_reg } },
48825 });52887 });
48826 } else if (elem_size > 8) {52888 } else if (elem_size > 8) {
48827 try cg.spillEflagsIfOccupied();52889 try cg.spillEflagsIfOccupied();
...@@ -48832,12 +52894,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48832,12 +52894,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48832 );52894 );
48833 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{52895 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
48834 .base = .{ .reg = lhs_reg },52896 .base = .{ .reg = lhs_reg },
48835 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },52897 .mod = .{ .rm = .{ .index = rhs_reg } },
48836 });52898 });
48837 } else try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{52899 } else try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
48838 .base = .{ .reg = lhs_reg },52900 .base = .{ .reg = lhs_reg },
48839 .mod = .{ .rm = .{52901 .mod = .{ .rm = .{
48840 .size = .qword,
48841 .index = rhs_reg,52902 .index = rhs_reg,
48842 .scale = .fromFactor(@intCast(elem_size)),52903 .scale = .fromFactor(@intCast(elem_size)),
48843 } },52904 } },
...@@ -48845,10 +52906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48845,10 +52906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48845 res[0] = try ops[0].load(res_ty, .{}, cg);52906 res[0] = try ops[0].load(res_ty, .{}, cg);
48846 },52907 },
48847 else => |e| return e,52908 else => |e| return e,
48848 } else {52909 } else res[0] = try cg.tempInit(res_ty, .none);
48849 // hack around Sema OPV bugs
48850 res[0] = try cg.tempInit(res_ty, .none);
48851 }
48852 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);52910 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
48853 },52911 },
48854 .slice_elem_ptr, .ptr_elem_ptr => |air_tag| if (use_old) switch (air_tag) {52912 .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 {...@@ -48863,13 +52921,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48863 const dst_ty = ty_pl.ty.toType();52921 const dst_ty = ty_pl.ty.toType();
48864 if (dst_ty.ptrInfo(zcu).flags.vector_index == .none) zero_offset: {52922 if (dst_ty.ptrInfo(zcu).flags.vector_index == .none) zero_offset: {
48865 const elem_size = dst_ty.childType(zcu).abiSize(zcu);52923 const elem_size = dst_ty.childType(zcu).abiSize(zcu);
48866 // hack around Sema OPV bugs52924 if (hack_around_sema_opv_bugs and elem_size == 0) break :zero_offset;
48867 if (elem_size == 0) break :zero_offset;
48868 while (true) for (&ops) |*op| {52925 while (true) for (&ops) |*op| {
48869 if (try op.toRegClass(true, .general_purpose, cg)) break;52926 if (try op.toRegClass(true, .general_purpose, cg)) break;
48870 } else break;52927 } else break;
48871 const lhs_reg = ops[0].unwrap(cg).temp.tracking(cg).short.register.to64();52928 const lhs_reg = ops[0].tracking(cg).short.register.to64();
48872 const rhs_reg = ops[1].unwrap(cg).temp.tracking(cg).short.register.to64();52929 const rhs_reg = ops[1].tracking(cg).short.register.to64();
48873 if (!std.math.isPowerOfTwo(elem_size)) {52930 if (!std.math.isPowerOfTwo(elem_size)) {
48874 try cg.spillEflagsIfOccupied();52931 try cg.spillEflagsIfOccupied();
48875 try cg.asmRegisterRegisterImmediate(52932 try cg.asmRegisterRegisterImmediate(
...@@ -48880,7 +52937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48880,7 +52937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48880 );52937 );
48881 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{52938 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
48882 .base = .{ .reg = lhs_reg },52939 .base = .{ .reg = lhs_reg },
48883 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },52940 .mod = .{ .rm = .{ .index = rhs_reg } },
48884 });52941 });
48885 } else if (elem_size > 8) {52942 } else if (elem_size > 8) {
48886 try cg.spillEflagsIfOccupied();52943 try cg.spillEflagsIfOccupied();
...@@ -48891,12 +52948,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48891,12 +52948,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48891 );52948 );
48892 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{52949 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
48893 .base = .{ .reg = lhs_reg },52950 .base = .{ .reg = lhs_reg },
48894 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },52951 .mod = .{ .rm = .{ .index = rhs_reg } },
48895 });52952 });
48896 } else try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{52953 } else try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
48897 .base = .{ .reg = lhs_reg },52954 .base = .{ .reg = lhs_reg },
48898 .mod = .{ .rm = .{52955 .mod = .{ .rm = .{
48899 .size = .qword,
48900 .index = rhs_reg,52956 .index = rhs_reg,
48901 .scale = .fromFactor(@intCast(elem_size)),52957 .scale = .fromFactor(@intCast(elem_size)),
48902 } },52958 } },
...@@ -48920,7 +52976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48920,7 +52976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48920 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{52976 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
48921 .required_features = .{ .f16c, null, null, null },52977 .required_features = .{ .f16c, null, null, null },
48922 .src_constraints = .{ .{ .float = .word }, .any, .any },52978 .src_constraints = .{ .{ .float = .word }, .any, .any },
48923 .dst_constraints = .{.{ .int = .dword }},52979 .dst_constraints = .{ .{ .int = .dword }, .any },
48924 .patterns = &.{52980 .patterns = &.{
48925 .{ .src = .{ .to_sse, .none, .none } },52981 .{ .src = .{ .to_sse, .none, .none } },
48926 },52982 },
...@@ -48935,7 +52991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48935,7 +52991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48935 .unused,52991 .unused,
48936 .unused,52992 .unused,
48937 },52993 },
48938 .dst_temps = .{.{ .rc = .general_purpose }},52994 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48939 .each = .{ .once = &.{52995 .each = .{ .once = &.{
48940 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },52996 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
48941 .{ ._, .v_, .cvttss2si, .dst0d, .tmp0d, ._, ._ },52997 .{ ._, .v_, .cvttss2si, .dst0d, .tmp0d, ._, ._ },
...@@ -48943,7 +52999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48943,7 +52999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48943 }, .{52999 }, .{
48944 .required_features = .{ .@"64bit", .f16c, null, null },53000 .required_features = .{ .@"64bit", .f16c, null, null },
48945 .src_constraints = .{ .{ .float = .word }, .any, .any },53001 .src_constraints = .{ .{ .float = .word }, .any, .any },
48946 .dst_constraints = .{.{ .signed_int = .qword }},53002 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
48947 .patterns = &.{53003 .patterns = &.{
48948 .{ .src = .{ .to_sse, .none, .none } },53004 .{ .src = .{ .to_sse, .none, .none } },
48949 },53005 },
...@@ -48958,7 +53014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48958,7 +53014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48958 .unused,53014 .unused,
48959 .unused,53015 .unused,
48960 },53016 },
48961 .dst_temps = .{.{ .rc = .general_purpose }},53017 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48962 .each = .{ .once = &.{53018 .each = .{ .once = &.{
48963 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },53019 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
48964 .{ ._, .v_, .cvttss2si, .dst0q, .tmp0d, ._, ._ },53020 .{ ._, .v_, .cvttss2si, .dst0q, .tmp0d, ._, ._ },
...@@ -48966,7 +53022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48966,7 +53022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48966 }, .{53022 }, .{
48967 .required_features = .{ .@"64bit", .f16c, null, null },53023 .required_features = .{ .@"64bit", .f16c, null, null },
48968 .src_constraints = .{ .{ .float = .word }, .any, .any },53024 .src_constraints = .{ .{ .float = .word }, .any, .any },
48969 .dst_constraints = .{.{ .unsigned_int = .qword }},53025 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
48970 .patterns = &.{53026 .patterns = &.{
48971 .{ .src = .{ .to_sse, .none, .none } },53027 .{ .src = .{ .to_sse, .none, .none } },
48972 },53028 },
...@@ -48981,7 +53037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48981,7 +53037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48981 .unused,53037 .unused,
48982 .unused,53038 .unused,
48983 },53039 },
48984 .dst_temps = .{.{ .rc = .general_purpose }},53040 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
48985 .each = .{ .once = &.{53041 .each = .{ .once = &.{
48986 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },53042 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
48987 .{ ._, .v_, .cvttss2si, .dst0d, .tmp0d, ._, ._ },53043 .{ ._, .v_, .cvttss2si, .dst0d, .tmp0d, ._, ._ },
...@@ -48989,7 +53045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -48989,7 +53045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48989 }, .{53045 }, .{
48990 .required_features = .{ .@"64bit", .f16c, null, null },53046 .required_features = .{ .@"64bit", .f16c, null, null },
48991 .src_constraints = .{ .{ .float = .word }, .any, .any },53047 .src_constraints = .{ .{ .float = .word }, .any, .any },
48992 .dst_constraints = .{.{ .signed_int = .xword }},53048 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
48993 .patterns = &.{53049 .patterns = &.{
48994 .{ .src = .{ .to_sse, .none, .none } },53050 .{ .src = .{ .to_sse, .none, .none } },
48995 },53051 },
...@@ -49004,7 +53060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49004,7 +53060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49004 .unused,53060 .unused,
49005 .unused,53061 .unused,
49006 },53062 },
49007 .dst_temps = .{.mem},53063 .dst_temps = .{ .mem, .unused },
49008 .clobbers = .{ .eflags = true },53064 .clobbers = .{ .eflags = true },
49009 .each = .{ .once = &.{53065 .each = .{ .once = &.{
49010 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },53066 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
...@@ -49016,7 +53072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49016,7 +53072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49016 }, .{53072 }, .{
49017 .required_features = .{ .@"64bit", .f16c, null, null },53073 .required_features = .{ .@"64bit", .f16c, null, null },
49018 .src_constraints = .{ .{ .float = .word }, .any, .any },53074 .src_constraints = .{ .{ .float = .word }, .any, .any },
49019 .dst_constraints = .{.{ .unsigned_int = .xword }},53075 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
49020 .patterns = &.{53076 .patterns = &.{
49021 .{ .src = .{ .to_sse, .none, .none } },53077 .{ .src = .{ .to_sse, .none, .none } },
49022 },53078 },
...@@ -49031,7 +53087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49031,7 +53087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49031 .unused,53087 .unused,
49032 .unused,53088 .unused,
49033 },53089 },
49034 .dst_temps = .{.mem},53090 .dst_temps = .{ .mem, .unused },
49035 .each = .{ .once = &.{53091 .each = .{ .once = &.{
49036 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },53092 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
49037 .{ ._, .v_, .cvttss2si, .tmp1q, .tmp0d, ._, ._ },53093 .{ ._, .v_, .cvttss2si, .tmp1q, .tmp0d, ._, ._ },
...@@ -49041,7 +53097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49041,7 +53097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49041 }, .{53097 }, .{
49042 .required_features = .{ .@"64bit", .f16c, null, null },53098 .required_features = .{ .@"64bit", .f16c, null, null },
49043 .src_constraints = .{ .{ .float = .word }, .any, .any },53099 .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 },
49045 .patterns = &.{53101 .patterns = &.{
49046 .{ .src = .{ .to_sse, .none, .none } },53102 .{ .src = .{ .to_sse, .none, .none } },
49047 },53103 },
...@@ -49056,7 +53112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49056,7 +53112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49056 .unused,53112 .unused,
49057 .unused,53113 .unused,
49058 },53114 },
49059 .dst_temps = .{.mem},53115 .dst_temps = .{ .mem, .unused },
49060 .clobbers = .{ .eflags = true },53116 .clobbers = .{ .eflags = true },
49061 .each = .{ .once = &.{53117 .each = .{ .once = &.{
49062 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },53118 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
...@@ -49070,7 +53126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49070,7 +53126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49070 }, .{53126 }, .{
49071 .required_features = .{ .@"64bit", .f16c, null, null },53127 .required_features = .{ .@"64bit", .f16c, null, null },
49072 .src_constraints = .{ .{ .float = .word }, .any, .any },53128 .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 },
49074 .patterns = &.{53130 .patterns = &.{
49075 .{ .src = .{ .to_sse, .none, .none } },53131 .{ .src = .{ .to_sse, .none, .none } },
49076 },53132 },
...@@ -49085,7 +53141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49085,7 +53141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49085 .unused,53141 .unused,
49086 .unused,53142 .unused,
49087 },53143 },
49088 .dst_temps = .{.mem},53144 .dst_temps = .{ .mem, .unused },
49089 .clobbers = .{ .eflags = true },53145 .clobbers = .{ .eflags = true },
49090 .each = .{ .once = &.{53146 .each = .{ .once = &.{
49091 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },53147 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
...@@ -49099,7 +53155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49099,7 +53155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49099 }, .{53155 }, .{
49100 .required_features = .{ .sse, null, null, null },53156 .required_features = .{ .sse, null, null, null },
49101 .src_constraints = .{ .{ .float = .word }, .any, .any },53157 .src_constraints = .{ .{ .float = .word }, .any, .any },
49102 .dst_constraints = .{.{ .signed_int = .dword }},53158 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
49103 .patterns = &.{53159 .patterns = &.{
49104 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53160 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49105 },53161 },
...@@ -49115,7 +53171,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49115,7 +53171,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49115 .unused,53171 .unused,
49116 .unused,53172 .unused,
49117 },53173 },
49118 .dst_temps = .{.{ .reg = .eax }},53174 .dst_temps = .{ .{ .reg = .eax }, .unused },
49119 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53175 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49120 .each = .{ .once = &.{53176 .each = .{ .once = &.{
49121 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53177 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49123,7 +53179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49123,7 +53179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49123 }, .{53179 }, .{
49124 .required_features = .{ .sse, null, null, null },53180 .required_features = .{ .sse, null, null, null },
49125 .src_constraints = .{ .{ .float = .word }, .any, .any },53181 .src_constraints = .{ .{ .float = .word }, .any, .any },
49126 .dst_constraints = .{.{ .unsigned_int = .dword }},53182 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
49127 .patterns = &.{53183 .patterns = &.{
49128 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53184 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49129 },53185 },
...@@ -49139,7 +53195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49139,7 +53195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49139 .unused,53195 .unused,
49140 .unused,53196 .unused,
49141 },53197 },
49142 .dst_temps = .{.{ .reg = .eax }},53198 .dst_temps = .{ .{ .reg = .eax }, .unused },
49143 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53199 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49144 .each = .{ .once = &.{53200 .each = .{ .once = &.{
49145 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53201 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49147,7 +53203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49147,7 +53203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49147 }, .{53203 }, .{
49148 .required_features = .{ .@"64bit", .sse, null, null },53204 .required_features = .{ .@"64bit", .sse, null, null },
49149 .src_constraints = .{ .{ .float = .word }, .any, .any },53205 .src_constraints = .{ .{ .float = .word }, .any, .any },
49150 .dst_constraints = .{.{ .signed_int = .qword }},53206 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
49151 .patterns = &.{53207 .patterns = &.{
49152 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53208 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49153 },53209 },
...@@ -49163,7 +53219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49163,7 +53219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49163 .unused,53219 .unused,
49164 .unused,53220 .unused,
49165 },53221 },
49166 .dst_temps = .{.{ .reg = .rax }},53222 .dst_temps = .{ .{ .reg = .rax }, .unused },
49167 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53223 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49168 .each = .{ .once = &.{53224 .each = .{ .once = &.{
49169 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53225 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49171,7 +53227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49171,7 +53227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49171 }, .{53227 }, .{
49172 .required_features = .{ .@"64bit", .sse, null, null },53228 .required_features = .{ .@"64bit", .sse, null, null },
49173 .src_constraints = .{ .{ .float = .word }, .any, .any },53229 .src_constraints = .{ .{ .float = .word }, .any, .any },
49174 .dst_constraints = .{.{ .unsigned_int = .qword }},53230 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
49175 .patterns = &.{53231 .patterns = &.{
49176 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53232 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49177 },53233 },
...@@ -49187,7 +53243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49187,7 +53243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49187 .unused,53243 .unused,
49188 .unused,53244 .unused,
49189 },53245 },
49190 .dst_temps = .{.{ .reg = .rax }},53246 .dst_temps = .{ .{ .reg = .rax }, .unused },
49191 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49192 .each = .{ .once = &.{53248 .each = .{ .once = &.{
49193 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53249 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49195,7 +53251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49195,7 +53251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49195 }, .{53251 }, .{
49196 .required_features = .{ .@"64bit", .sse, null, null },53252 .required_features = .{ .@"64bit", .sse, null, null },
49197 .src_constraints = .{ .{ .float = .word }, .any, .any },53253 .src_constraints = .{ .{ .float = .word }, .any, .any },
49198 .dst_constraints = .{.{ .signed_int = .xword }},53254 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
49199 .patterns = &.{53255 .patterns = &.{
49200 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53256 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49201 },53257 },
...@@ -49211,7 +53267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49211,7 +53267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49211 .unused,53267 .unused,
49212 .unused,53268 .unused,
49213 },53269 },
49214 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},53270 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
49215 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53271 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49216 .each = .{ .once = &.{53272 .each = .{ .once = &.{
49217 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53273 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49219,7 +53275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49219,7 +53275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49219 }, .{53275 }, .{
49220 .required_features = .{ .@"64bit", .sse, null, null },53276 .required_features = .{ .@"64bit", .sse, null, null },
49221 .src_constraints = .{ .{ .float = .word }, .any, .any },53277 .src_constraints = .{ .{ .float = .word }, .any, .any },
49222 .dst_constraints = .{.{ .unsigned_int = .xword }},53278 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
49223 .patterns = &.{53279 .patterns = &.{
49224 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53280 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49225 },53281 },
...@@ -49235,7 +53291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49235,7 +53291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49235 .unused,53291 .unused,
49236 .unused,53292 .unused,
49237 },53293 },
49238 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},53294 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
49239 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49240 .each = .{ .once = &.{53296 .each = .{ .once = &.{
49241 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53297 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49243,7 +53299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49243,7 +53299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49243 }, .{53299 }, .{
49244 .required_features = .{ .@"64bit", .sse, null, null },53300 .required_features = .{ .@"64bit", .sse, null, null },
49245 .src_constraints = .{ .{ .float = .word }, .any, .any },53301 .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 },
49247 .patterns = &.{53303 .patterns = &.{
49248 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53304 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49249 },53305 },
...@@ -49259,7 +53315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49259,7 +53315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49259 .unused,53315 .unused,
49260 .unused,53316 .unused,
49261 },53317 },
49262 .dst_temps = .{.mem},53318 .dst_temps = .{ .mem, .unused },
49263 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53319 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49264 .each = .{ .once = &.{53320 .each = .{ .once = &.{
49265 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53321 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49272,7 +53328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49272,7 +53328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49272 }, .{53328 }, .{
49273 .required_features = .{ .@"64bit", .sse, null, null },53329 .required_features = .{ .@"64bit", .sse, null, null },
49274 .src_constraints = .{ .{ .float = .word }, .any, .any },53330 .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 },
49276 .patterns = &.{53332 .patterns = &.{
49277 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },53333 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
49278 },53334 },
...@@ -49288,7 +53344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49288,7 +53344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49288 .unused,53344 .unused,
49289 .unused,53345 .unused,
49290 },53346 },
49291 .dst_temps = .{.mem},53347 .dst_temps = .{ .mem, .unused },
49292 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53348 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49293 .each = .{ .once = &.{53349 .each = .{ .once = &.{
49294 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },53350 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -49301,7 +53357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49301,7 +53357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49301 }, .{53357 }, .{
49302 .required_features = .{ .f16c, null, null, null },53358 .required_features = .{ .f16c, null, null, null },
49303 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53359 .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 },
49305 .patterns = &.{53361 .patterns = &.{
49306 .{ .src = .{ .mem, .none, .none } },53362 .{ .src = .{ .mem, .none, .none } },
49307 .{ .src = .{ .to_sse, .none, .none } },53363 .{ .src = .{ .to_sse, .none, .none } },
...@@ -49317,7 +53373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49317,7 +53373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49317 .unused,53373 .unused,
49318 .unused,53374 .unused,
49319 },53375 },
49320 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},53376 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
49321 .each = .{ .once = &.{53377 .each = .{ .once = &.{
49322 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },53378 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
49323 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },53379 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
...@@ -49327,7 +53383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49327,7 +53383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49327 }, .{53383 }, .{
49328 .required_features = .{ .f16c, null, null, null },53384 .required_features = .{ .f16c, null, null, null },
49329 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53385 .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 },
49331 .patterns = &.{53387 .patterns = &.{
49332 .{ .src = .{ .to_mem, .none, .none } },53388 .{ .src = .{ .to_mem, .none, .none } },
49333 },53389 },
...@@ -49342,7 +53398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49342,7 +53398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49342 .unused,53398 .unused,
49343 .unused,53399 .unused,
49344 },53400 },
49345 .dst_temps = .{.mem},53401 .dst_temps = .{ .mem, .unused },
49346 .each = .{ .once = &.{53402 .each = .{ .once = &.{
49347 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },53403 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
49348 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },53404 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -49357,7 +53413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49357,7 +53413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49357 }, .{53413 }, .{
49358 .required_features = .{ .avx, .slow_incdec, null, null },53414 .required_features = .{ .avx, .slow_incdec, null, null },
49359 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53415 .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 },
49361 .patterns = &.{53417 .patterns = &.{
49362 .{ .src = .{ .to_mem, .none, .none } },53418 .{ .src = .{ .to_mem, .none, .none } },
49363 },53419 },
...@@ -49373,7 +53429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49373,7 +53429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49373 .unused,53429 .unused,
49374 .unused,53430 .unused,
49375 },53431 },
49376 .dst_temps = .{.mem},53432 .dst_temps = .{ .mem, .unused },
49377 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53433 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49378 .each = .{ .once = &.{53434 .each = .{ .once = &.{
49379 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },53435 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -49387,7 +53443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49387,7 +53443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49387 }, .{53443 }, .{
49388 .required_features = .{ .avx, null, null, null },53444 .required_features = .{ .avx, null, null, null },
49389 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53445 .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 },
49391 .patterns = &.{53447 .patterns = &.{
49392 .{ .src = .{ .to_mem, .none, .none } },53448 .{ .src = .{ .to_mem, .none, .none } },
49393 },53449 },
...@@ -49403,7 +53459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49403,7 +53459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49403 .unused,53459 .unused,
49404 .unused,53460 .unused,
49405 },53461 },
49406 .dst_temps = .{.mem},53462 .dst_temps = .{ .mem, .unused },
49407 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49408 .each = .{ .once = &.{53464 .each = .{ .once = &.{
49409 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },53465 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -49417,7 +53473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49417,7 +53473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49417 }, .{53473 }, .{
49418 .required_features = .{ .sse2, .slow_incdec, null, null },53474 .required_features = .{ .sse2, .slow_incdec, null, null },
49419 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53475 .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 },
49421 .patterns = &.{53477 .patterns = &.{
49422 .{ .src = .{ .to_mem, .none, .none } },53478 .{ .src = .{ .to_mem, .none, .none } },
49423 },53479 },
...@@ -49433,7 +53489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49433,7 +53489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49433 .unused,53489 .unused,
49434 .unused,53490 .unused,
49435 },53491 },
49436 .dst_temps = .{.mem},53492 .dst_temps = .{ .mem, .unused },
49437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49438 .each = .{ .once = &.{53494 .each = .{ .once = &.{
49439 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },53495 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -49447,7 +53503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49447,7 +53503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49447 }, .{53503 }, .{
49448 .required_features = .{ .sse2, null, null, null },53504 .required_features = .{ .sse2, null, null, null },
49449 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53505 .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 },
49451 .patterns = &.{53507 .patterns = &.{
49452 .{ .src = .{ .to_mem, .none, .none } },53508 .{ .src = .{ .to_mem, .none, .none } },
49453 },53509 },
...@@ -49463,7 +53519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49463,7 +53519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49463 .unused,53519 .unused,
49464 .unused,53520 .unused,
49465 },53521 },
49466 .dst_temps = .{.mem},53522 .dst_temps = .{ .mem, .unused },
49467 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53523 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49468 .each = .{ .once = &.{53524 .each = .{ .once = &.{
49469 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },53525 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -49477,7 +53533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49477,7 +53533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49477 }, .{53533 }, .{
49478 .required_features = .{ .sse, .slow_incdec, null, null },53534 .required_features = .{ .sse, .slow_incdec, null, null },
49479 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53535 .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 },
49481 .patterns = &.{53537 .patterns = &.{
49482 .{ .src = .{ .to_mem, .none, .none } },53538 .{ .src = .{ .to_mem, .none, .none } },
49483 },53539 },
...@@ -49493,7 +53549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49493,7 +53549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49493 .unused,53549 .unused,
49494 .unused,53550 .unused,
49495 },53551 },
49496 .dst_temps = .{.mem},53552 .dst_temps = .{ .mem, .unused },
49497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53553 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49498 .each = .{ .once = &.{53554 .each = .{ .once = &.{
49499 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },53555 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -49508,7 +53564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49508,7 +53564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49508 }, .{53564 }, .{
49509 .required_features = .{ .sse, null, null, null },53565 .required_features = .{ .sse, null, null, null },
49510 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53566 .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 },
49512 .patterns = &.{53568 .patterns = &.{
49513 .{ .src = .{ .to_mem, .none, .none } },53569 .{ .src = .{ .to_mem, .none, .none } },
49514 },53570 },
...@@ -49524,7 +53580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49524,7 +53580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49524 .unused,53580 .unused,
49525 .unused,53581 .unused,
49526 },53582 },
49527 .dst_temps = .{.mem},53583 .dst_temps = .{ .mem, .unused },
49528 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53584 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49529 .each = .{ .once = &.{53585 .each = .{ .once = &.{
49530 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },53586 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -49539,12 +53595,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49539,12 +53595,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49539 }, .{53595 }, .{
49540 .required_features = .{ .f16c, null, null, null },53596 .required_features = .{ .f16c, null, null, null },
49541 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53597 .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 },
49543 .patterns = &.{53599 .patterns = &.{
49544 .{ .src = .{ .mem, .none, .none } },53600 .{ .src = .{ .mem, .none, .none } },
49545 .{ .src = .{ .to_sse, .none, .none } },53601 .{ .src = .{ .to_sse, .none, .none } },
49546 },53602 },
49547 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},53603 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
49548 .each = .{ .once = &.{53604 .each = .{ .once = &.{
49549 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },53605 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
49550 .{ ._, .v_, .cvttps2dq, .dst0x, .dst0x, ._, ._ },53606 .{ ._, .v_, .cvttps2dq, .dst0x, .dst0x, ._, ._ },
...@@ -49553,12 +53609,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49553,12 +53609,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49553 }, .{53609 }, .{
49554 .required_features = .{ .f16c, null, null, null },53610 .required_features = .{ .f16c, null, null, null },
49555 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53611 .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 },
49557 .patterns = &.{53613 .patterns = &.{
49558 .{ .src = .{ .mem, .none, .none } },53614 .{ .src = .{ .mem, .none, .none } },
49559 .{ .src = .{ .to_sse, .none, .none } },53615 .{ .src = .{ .to_sse, .none, .none } },
49560 },53616 },
49561 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},53617 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
49562 .each = .{ .once = &.{53618 .each = .{ .once = &.{
49563 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },53619 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
49564 .{ ._, .v_, .cvttps2dq, .dst0x, .dst0x, ._, ._ },53620 .{ ._, .v_, .cvttps2dq, .dst0x, .dst0x, ._, ._ },
...@@ -49567,7 +53623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49567,7 +53623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49567 }, .{53623 }, .{
49568 .required_features = .{ .f16c, null, null, null },53624 .required_features = .{ .f16c, null, null, null },
49569 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53625 .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 },
49571 .patterns = &.{53627 .patterns = &.{
49572 .{ .src = .{ .to_mem, .none, .none } },53628 .{ .src = .{ .to_mem, .none, .none } },
49573 },53629 },
...@@ -49582,7 +53638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49582,7 +53638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49582 .unused,53638 .unused,
49583 .unused,53639 .unused,
49584 },53640 },
49585 .dst_temps = .{.mem},53641 .dst_temps = .{ .mem, .unused },
49586 .each = .{ .once = &.{53642 .each = .{ .once = &.{
49587 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53643 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
49588 .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },53644 .{ .@"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 {...@@ -49595,7 +53651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49595 }, .{53651 }, .{
49596 .required_features = .{ .f16c, null, null, null },53652 .required_features = .{ .f16c, null, null, null },
49597 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53653 .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 },
49599 .patterns = &.{53655 .patterns = &.{
49600 .{ .src = .{ .to_mem, .none, .none } },53656 .{ .src = .{ .to_mem, .none, .none } },
49601 },53657 },
...@@ -49610,7 +53666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49610,7 +53666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49610 .unused,53666 .unused,
49611 .unused,53667 .unused,
49612 },53668 },
49613 .dst_temps = .{.mem},53669 .dst_temps = .{ .mem, .unused },
49614 .each = .{ .once = &.{53670 .each = .{ .once = &.{
49615 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53671 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
49616 .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },53672 .{ .@"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 {...@@ -49623,7 +53679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49623 }, .{53679 }, .{
49624 .required_features = .{ .avx, null, null, null },53680 .required_features = .{ .avx, null, null, null },
49625 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53681 .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 },
49627 .patterns = &.{53683 .patterns = &.{
49628 .{ .src = .{ .to_mem, .none, .none } },53684 .{ .src = .{ .to_mem, .none, .none } },
49629 },53685 },
...@@ -49639,7 +53695,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49639,7 +53695,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49639 .unused,53695 .unused,
49640 .unused,53696 .unused,
49641 },53697 },
49642 .dst_temps = .{.mem},53698 .dst_temps = .{ .mem, .unused },
49643 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53699 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49644 .each = .{ .once = &.{53700 .each = .{ .once = &.{
49645 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53701 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49653,7 +53709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49653,7 +53709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49653 }, .{53709 }, .{
49654 .required_features = .{ .sse2, null, null, null },53710 .required_features = .{ .sse2, null, null, null },
49655 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53711 .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 },
49657 .patterns = &.{53713 .patterns = &.{
49658 .{ .src = .{ .to_mem, .none, .none } },53714 .{ .src = .{ .to_mem, .none, .none } },
49659 },53715 },
...@@ -49669,7 +53725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49669,7 +53725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49669 .unused,53725 .unused,
49670 .unused,53726 .unused,
49671 },53727 },
49672 .dst_temps = .{.mem},53728 .dst_temps = .{ .mem, .unused },
49673 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53729 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49674 .each = .{ .once = &.{53730 .each = .{ .once = &.{
49675 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53731 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49683,7 +53739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49683,7 +53739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49683 }, .{53739 }, .{
49684 .required_features = .{ .sse, null, null, null },53740 .required_features = .{ .sse, null, null, null },
49685 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53741 .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 },
49687 .patterns = &.{53743 .patterns = &.{
49688 .{ .src = .{ .to_mem, .none, .none } },53744 .{ .src = .{ .to_mem, .none, .none } },
49689 },53745 },
...@@ -49699,7 +53755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49699,7 +53755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49699 .unused,53755 .unused,
49700 .unused,53756 .unused,
49701 },53757 },
49702 .dst_temps = .{.mem},53758 .dst_temps = .{ .mem, .unused },
49703 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53759 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49704 .each = .{ .once = &.{53760 .each = .{ .once = &.{
49705 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53761 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49714,7 +53770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49714,7 +53770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49714 }, .{53770 }, .{
49715 .required_features = .{ .f16c, null, null, null },53771 .required_features = .{ .f16c, null, null, null },
49716 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },53772 .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 },
49718 .patterns = &.{53774 .patterns = &.{
49719 .{ .src = .{ .to_mem, .none, .none } },53775 .{ .src = .{ .to_mem, .none, .none } },
49720 },53776 },
...@@ -49729,7 +53785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49729,7 +53785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49729 .unused,53785 .unused,
49730 .unused,53786 .unused,
49731 },53787 },
49732 .dst_temps = .{.mem},53788 .dst_temps = .{ .mem, .unused },
49733 .each = .{ .once = &.{53789 .each = .{ .once = &.{
49734 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53790 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
49735 .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },53791 .{ .@"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 {...@@ -49741,7 +53797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49741 }, .{53797 }, .{
49742 .required_features = .{ .f16c, null, null, null },53798 .required_features = .{ .f16c, null, null, null },
49743 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53799 .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 },
49745 .patterns = &.{53801 .patterns = &.{
49746 .{ .src = .{ .to_mem, .none, .none } },53802 .{ .src = .{ .to_mem, .none, .none } },
49747 },53803 },
...@@ -49756,7 +53812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49756,7 +53812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49756 .unused,53812 .unused,
49757 .unused,53813 .unused,
49758 },53814 },
49759 .dst_temps = .{.mem},53815 .dst_temps = .{ .mem, .unused },
49760 .each = .{ .once = &.{53816 .each = .{ .once = &.{
49761 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53817 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
49762 .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },53818 .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },
...@@ -49770,7 +53826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49770,7 +53826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49770 }, .{53826 }, .{
49771 .required_features = .{ .avx, null, null, null },53827 .required_features = .{ .avx, null, null, null },
49772 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53828 .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 },
49774 .patterns = &.{53830 .patterns = &.{
49775 .{ .src = .{ .to_mem, .none, .none } },53831 .{ .src = .{ .to_mem, .none, .none } },
49776 },53832 },
...@@ -49786,7 +53842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49786,7 +53842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49786 .unused,53842 .unused,
49787 .unused,53843 .unused,
49788 },53844 },
49789 .dst_temps = .{.mem},53845 .dst_temps = .{ .mem, .unused },
49790 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53846 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49791 .each = .{ .once = &.{53847 .each = .{ .once = &.{
49792 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49800,7 +53856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49800,7 +53856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49800 }, .{53856 }, .{
49801 .required_features = .{ .avx, null, null, null },53857 .required_features = .{ .avx, null, null, null },
49802 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53858 .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 },
49804 .patterns = &.{53860 .patterns = &.{
49805 .{ .src = .{ .to_mem, .none, .none } },53861 .{ .src = .{ .to_mem, .none, .none } },
49806 },53862 },
...@@ -49816,7 +53872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49816,7 +53872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49816 .unused,53872 .unused,
49817 .unused,53873 .unused,
49818 },53874 },
49819 .dst_temps = .{.mem},53875 .dst_temps = .{ .mem, .unused },
49820 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53876 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49821 .each = .{ .once = &.{53877 .each = .{ .once = &.{
49822 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53878 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49830,7 +53886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49830,7 +53886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49830 }, .{53886 }, .{
49831 .required_features = .{ .sse2, null, null, null },53887 .required_features = .{ .sse2, null, null, null },
49832 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53888 .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 },
49834 .patterns = &.{53890 .patterns = &.{
49835 .{ .src = .{ .to_mem, .none, .none } },53891 .{ .src = .{ .to_mem, .none, .none } },
49836 },53892 },
...@@ -49846,7 +53902,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49846,7 +53902,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49846 .unused,53902 .unused,
49847 .unused,53903 .unused,
49848 },53904 },
49849 .dst_temps = .{.mem},53905 .dst_temps = .{ .mem, .unused },
49850 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53906 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49851 .each = .{ .once = &.{53907 .each = .{ .once = &.{
49852 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53908 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49860,7 +53916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49860,7 +53916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49860 }, .{53916 }, .{
49861 .required_features = .{ .sse2, null, null, null },53917 .required_features = .{ .sse2, null, null, null },
49862 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53918 .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 },
49864 .patterns = &.{53920 .patterns = &.{
49865 .{ .src = .{ .to_mem, .none, .none } },53921 .{ .src = .{ .to_mem, .none, .none } },
49866 },53922 },
...@@ -49876,7 +53932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49876,7 +53932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49876 .unused,53932 .unused,
49877 .unused,53933 .unused,
49878 },53934 },
49879 .dst_temps = .{.mem},53935 .dst_temps = .{ .mem, .unused },
49880 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49881 .each = .{ .once = &.{53937 .each = .{ .once = &.{
49882 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49890,7 +53946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49890,7 +53946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49890 }, .{53946 }, .{
49891 .required_features = .{ .sse, null, null, null },53947 .required_features = .{ .sse, null, null, null },
49892 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53948 .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 },
49894 .patterns = &.{53950 .patterns = &.{
49895 .{ .src = .{ .to_mem, .none, .none } },53951 .{ .src = .{ .to_mem, .none, .none } },
49896 },53952 },
...@@ -49906,7 +53962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49906,7 +53962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49906 .unused,53962 .unused,
49907 .unused,53963 .unused,
49908 },53964 },
49909 .dst_temps = .{.mem},53965 .dst_temps = .{ .mem, .unused },
49910 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53966 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49911 .each = .{ .once = &.{53967 .each = .{ .once = &.{
49912 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53968 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49921,7 +53977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49921,7 +53977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49921 }, .{53977 }, .{
49922 .required_features = .{ .sse, null, null, null },53978 .required_features = .{ .sse, null, null, null },
49923 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },53979 .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 },
49925 .patterns = &.{53981 .patterns = &.{
49926 .{ .src = .{ .to_mem, .none, .none } },53982 .{ .src = .{ .to_mem, .none, .none } },
49927 },53983 },
...@@ -49937,7 +53993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49937,7 +53993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49937 .unused,53993 .unused,
49938 .unused,53994 .unused,
49939 },53995 },
49940 .dst_temps = .{.mem},53996 .dst_temps = .{ .mem, .unused },
49941 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },53997 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
49942 .each = .{ .once = &.{53998 .each = .{ .once = &.{
49943 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },53999 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -49952,7 +54008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49952,7 +54008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49952 }, .{54008 }, .{
49953 .required_features = .{ .@"64bit", .f16c, null, null },54009 .required_features = .{ .@"64bit", .f16c, null, null },
49954 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54010 .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 },
49956 .patterns = &.{54012 .patterns = &.{
49957 .{ .src = .{ .to_mem, .none, .none } },54013 .{ .src = .{ .to_mem, .none, .none } },
49958 },54014 },
...@@ -49967,7 +54023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49967,7 +54023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49967 .unused,54023 .unused,
49968 .unused,54024 .unused,
49969 },54025 },
49970 .dst_temps = .{.mem},54026 .dst_temps = .{ .mem, .unused },
49971 .each = .{ .once = &.{54027 .each = .{ .once = &.{
49972 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54028 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
49973 .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },54029 .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },
...@@ -49981,7 +54037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49981,7 +54037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49981 }, .{54037 }, .{
49982 .required_features = .{ .avx, null, null, null },54038 .required_features = .{ .avx, null, null, null },
49983 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54039 .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 },
49985 .patterns = &.{54041 .patterns = &.{
49986 .{ .src = .{ .to_mem, .none, .none } },54042 .{ .src = .{ .to_mem, .none, .none } },
49987 },54043 },
...@@ -49997,7 +54053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -49997,7 +54053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49997 .unused,54053 .unused,
49998 .unused,54054 .unused,
49999 },54055 },
50000 .dst_temps = .{.mem},54056 .dst_temps = .{ .mem, .unused },
50001 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54057 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50002 .each = .{ .once = &.{54058 .each = .{ .once = &.{
50003 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54059 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50011,7 +54067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50011,7 +54067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50011 }, .{54067 }, .{
50012 .required_features = .{ .avx, null, null, null },54068 .required_features = .{ .avx, null, null, null },
50013 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54069 .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 },
50015 .patterns = &.{54071 .patterns = &.{
50016 .{ .src = .{ .to_mem, .none, .none } },54072 .{ .src = .{ .to_mem, .none, .none } },
50017 },54073 },
...@@ -50027,7 +54083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50027,7 +54083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50027 .unused,54083 .unused,
50028 .unused,54084 .unused,
50029 },54085 },
50030 .dst_temps = .{.mem},54086 .dst_temps = .{ .mem, .unused },
50031 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54087 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50032 .each = .{ .once = &.{54088 .each = .{ .once = &.{
50033 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54089 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50041,7 +54097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50041,7 +54097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50041 }, .{54097 }, .{
50042 .required_features = .{ .sse2, null, null, null },54098 .required_features = .{ .sse2, null, null, null },
50043 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54099 .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 },
50045 .patterns = &.{54101 .patterns = &.{
50046 .{ .src = .{ .to_mem, .none, .none } },54102 .{ .src = .{ .to_mem, .none, .none } },
50047 },54103 },
...@@ -50057,7 +54113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50057,7 +54113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50057 .unused,54113 .unused,
50058 .unused,54114 .unused,
50059 },54115 },
50060 .dst_temps = .{.mem},54116 .dst_temps = .{ .mem, .unused },
50061 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54117 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50062 .each = .{ .once = &.{54118 .each = .{ .once = &.{
50063 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54119 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50071,7 +54127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50071,7 +54127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50071 }, .{54127 }, .{
50072 .required_features = .{ .sse2, null, null, null },54128 .required_features = .{ .sse2, null, null, null },
50073 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54129 .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 },
50075 .patterns = &.{54131 .patterns = &.{
50076 .{ .src = .{ .to_mem, .none, .none } },54132 .{ .src = .{ .to_mem, .none, .none } },
50077 },54133 },
...@@ -50087,7 +54143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50087,7 +54143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50087 .unused,54143 .unused,
50088 .unused,54144 .unused,
50089 },54145 },
50090 .dst_temps = .{.mem},54146 .dst_temps = .{ .mem, .unused },
50091 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54147 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50092 .each = .{ .once = &.{54148 .each = .{ .once = &.{
50093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54149 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50101,7 +54157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50101,7 +54157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50101 }, .{54157 }, .{
50102 .required_features = .{ .sse, null, null, null },54158 .required_features = .{ .sse, null, null, null },
50103 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54159 .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 },
50105 .patterns = &.{54161 .patterns = &.{
50106 .{ .src = .{ .to_mem, .none, .none } },54162 .{ .src = .{ .to_mem, .none, .none } },
50107 },54163 },
...@@ -50117,7 +54173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50117,7 +54173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50117 .unused,54173 .unused,
50118 .unused,54174 .unused,
50119 },54175 },
50120 .dst_temps = .{.mem},54176 .dst_temps = .{ .mem, .unused },
50121 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54177 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50122 .each = .{ .once = &.{54178 .each = .{ .once = &.{
50123 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54179 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50132,7 +54188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50132,7 +54188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50132 }, .{54188 }, .{
50133 .required_features = .{ .sse, null, null, null },54189 .required_features = .{ .sse, null, null, null },
50134 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54190 .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 },
50136 .patterns = &.{54192 .patterns = &.{
50137 .{ .src = .{ .to_mem, .none, .none } },54193 .{ .src = .{ .to_mem, .none, .none } },
50138 },54194 },
...@@ -50148,7 +54204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50148,7 +54204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50148 .unused,54204 .unused,
50149 .unused,54205 .unused,
50150 },54206 },
50151 .dst_temps = .{.mem},54207 .dst_temps = .{ .mem, .unused },
50152 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54208 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50153 .each = .{ .once = &.{54209 .each = .{ .once = &.{
50154 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50163,7 +54219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50163,7 +54219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50163 }, .{54219 }, .{
50164 .required_features = .{ .avx, null, null, null },54220 .required_features = .{ .avx, null, null, null },
50165 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54221 .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 },
50167 .patterns = &.{54223 .patterns = &.{
50168 .{ .src = .{ .to_mem, .none, .none } },54224 .{ .src = .{ .to_mem, .none, .none } },
50169 },54225 },
...@@ -50179,7 +54235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50179,7 +54235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50179 .unused,54235 .unused,
50180 .unused,54236 .unused,
50181 },54237 },
50182 .dst_temps = .{.mem},54238 .dst_temps = .{ .mem, .unused },
50183 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54239 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50184 .each = .{ .once = &.{54240 .each = .{ .once = &.{
50185 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54241 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50194,7 +54250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50194,7 +54250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50194 }, .{54250 }, .{
50195 .required_features = .{ .avx, null, null, null },54251 .required_features = .{ .avx, null, null, null },
50196 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54252 .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 },
50198 .patterns = &.{54254 .patterns = &.{
50199 .{ .src = .{ .to_mem, .none, .none } },54255 .{ .src = .{ .to_mem, .none, .none } },
50200 },54256 },
...@@ -50210,7 +54266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50210,7 +54266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50210 .unused,54266 .unused,
50211 .unused,54267 .unused,
50212 },54268 },
50213 .dst_temps = .{.mem},54269 .dst_temps = .{ .mem, .unused },
50214 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54270 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50215 .each = .{ .once = &.{54271 .each = .{ .once = &.{
50216 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54272 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50225,7 +54281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50225,7 +54281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50225 }, .{54281 }, .{
50226 .required_features = .{ .sse2, null, null, null },54282 .required_features = .{ .sse2, null, null, null },
50227 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54283 .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 },
50229 .patterns = &.{54285 .patterns = &.{
50230 .{ .src = .{ .to_mem, .none, .none } },54286 .{ .src = .{ .to_mem, .none, .none } },
50231 },54287 },
...@@ -50241,7 +54297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50241,7 +54297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50241 .unused,54297 .unused,
50242 .unused,54298 .unused,
50243 },54299 },
50244 .dst_temps = .{.mem},54300 .dst_temps = .{ .mem, .unused },
50245 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54301 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50246 .each = .{ .once = &.{54302 .each = .{ .once = &.{
50247 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50256,7 +54312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50256,7 +54312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50256 }, .{54312 }, .{
50257 .required_features = .{ .sse2, null, null, null },54313 .required_features = .{ .sse2, null, null, null },
50258 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54314 .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 },
50260 .patterns = &.{54316 .patterns = &.{
50261 .{ .src = .{ .to_mem, .none, .none } },54317 .{ .src = .{ .to_mem, .none, .none } },
50262 },54318 },
...@@ -50272,7 +54328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50272,7 +54328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50272 .unused,54328 .unused,
50273 .unused,54329 .unused,
50274 },54330 },
50275 .dst_temps = .{.mem},54331 .dst_temps = .{ .mem, .unused },
50276 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54332 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50277 .each = .{ .once = &.{54333 .each = .{ .once = &.{
50278 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54334 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50287,7 +54343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50287,7 +54343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50287 }, .{54343 }, .{
50288 .required_features = .{ .sse, null, null, null },54344 .required_features = .{ .sse, null, null, null },
50289 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54345 .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 },
50291 .patterns = &.{54347 .patterns = &.{
50292 .{ .src = .{ .to_mem, .none, .none } },54348 .{ .src = .{ .to_mem, .none, .none } },
50293 },54349 },
...@@ -50303,7 +54359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50303,7 +54359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50303 .unused,54359 .unused,
50304 .unused,54360 .unused,
50305 },54361 },
50306 .dst_temps = .{.mem},54362 .dst_temps = .{ .mem, .unused },
50307 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54363 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50308 .each = .{ .once = &.{54364 .each = .{ .once = &.{
50309 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54365 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50319,7 +54375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50319,7 +54375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50319 }, .{54375 }, .{
50320 .required_features = .{ .sse, null, null, null },54376 .required_features = .{ .sse, null, null, null },
50321 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54377 .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 },
50323 .patterns = &.{54379 .patterns = &.{
50324 .{ .src = .{ .to_mem, .none, .none } },54380 .{ .src = .{ .to_mem, .none, .none } },
50325 },54381 },
...@@ -50335,7 +54391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50335,7 +54391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50335 .unused,54391 .unused,
50336 .unused,54392 .unused,
50337 },54393 },
50338 .dst_temps = .{.mem},54394 .dst_temps = .{ .mem, .unused },
50339 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54395 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50340 .each = .{ .once = &.{54396 .each = .{ .once = &.{
50341 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54397 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50351,7 +54407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50351,7 +54407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50351 }, .{54407 }, .{
50352 .required_features = .{ .@"64bit", .avx, null, null },54408 .required_features = .{ .@"64bit", .avx, null, null },
50353 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54409 .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 },
50355 .patterns = &.{54411 .patterns = &.{
50356 .{ .src = .{ .to_mem, .none, .none } },54412 .{ .src = .{ .to_mem, .none, .none } },
50357 },54413 },
...@@ -50367,7 +54423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50367,7 +54423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50367 .unused,54423 .unused,
50368 .unused,54424 .unused,
50369 },54425 },
50370 .dst_temps = .{.mem},54426 .dst_temps = .{ .mem, .unused },
50371 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54427 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50372 .each = .{ .once = &.{54428 .each = .{ .once = &.{
50373 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50384,7 +54440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50384,7 +54440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50384 }, .{54440 }, .{
50385 .required_features = .{ .@"64bit", .avx, null, null },54441 .required_features = .{ .@"64bit", .avx, null, null },
50386 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54442 .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 },
50388 .patterns = &.{54444 .patterns = &.{
50389 .{ .src = .{ .to_mem, .none, .none } },54445 .{ .src = .{ .to_mem, .none, .none } },
50390 },54446 },
...@@ -50400,7 +54456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50400,7 +54456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50400 .unused,54456 .unused,
50401 .unused,54457 .unused,
50402 },54458 },
50403 .dst_temps = .{.mem},54459 .dst_temps = .{ .mem, .unused },
50404 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50405 .each = .{ .once = &.{54461 .each = .{ .once = &.{
50406 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54462 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50417,7 +54473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50417,7 +54473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50417 }, .{54473 }, .{
50418 .required_features = .{ .@"64bit", .sse2, null, null },54474 .required_features = .{ .@"64bit", .sse2, null, null },
50419 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54475 .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 },
50421 .patterns = &.{54477 .patterns = &.{
50422 .{ .src = .{ .to_mem, .none, .none } },54478 .{ .src = .{ .to_mem, .none, .none } },
50423 },54479 },
...@@ -50433,7 +54489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50433,7 +54489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50433 .unused,54489 .unused,
50434 .unused,54490 .unused,
50435 },54491 },
50436 .dst_temps = .{.mem},54492 .dst_temps = .{ .mem, .unused },
50437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50438 .each = .{ .once = &.{54494 .each = .{ .once = &.{
50439 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54495 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50450,7 +54506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50450,7 +54506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50450 }, .{54506 }, .{
50451 .required_features = .{ .@"64bit", .sse2, null, null },54507 .required_features = .{ .@"64bit", .sse2, null, null },
50452 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54508 .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 },
50454 .patterns = &.{54510 .patterns = &.{
50455 .{ .src = .{ .to_mem, .none, .none } },54511 .{ .src = .{ .to_mem, .none, .none } },
50456 },54512 },
...@@ -50466,7 +54522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50466,7 +54522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50466 .unused,54522 .unused,
50467 .unused,54523 .unused,
50468 },54524 },
50469 .dst_temps = .{.mem},54525 .dst_temps = .{ .mem, .unused },
50470 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54526 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50471 .each = .{ .once = &.{54527 .each = .{ .once = &.{
50472 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54528 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50483,7 +54539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50483,7 +54539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50483 }, .{54539 }, .{
50484 .required_features = .{ .@"64bit", .sse, null, null },54540 .required_features = .{ .@"64bit", .sse, null, null },
50485 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54541 .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 },
50487 .patterns = &.{54543 .patterns = &.{
50488 .{ .src = .{ .to_mem, .none, .none } },54544 .{ .src = .{ .to_mem, .none, .none } },
50489 },54545 },
...@@ -50499,7 +54555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50499,7 +54555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50499 .unused,54555 .unused,
50500 .unused,54556 .unused,
50501 },54557 },
50502 .dst_temps = .{.mem},54558 .dst_temps = .{ .mem, .unused },
50503 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54559 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50504 .each = .{ .once = &.{54560 .each = .{ .once = &.{
50505 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54561 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50517,7 +54573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50517,7 +54573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50517 }, .{54573 }, .{
50518 .required_features = .{ .@"64bit", .sse, null, null },54574 .required_features = .{ .@"64bit", .sse, null, null },
50519 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },54575 .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 },
50521 .patterns = &.{54577 .patterns = &.{
50522 .{ .src = .{ .to_mem, .none, .none } },54578 .{ .src = .{ .to_mem, .none, .none } },
50523 },54579 },
...@@ -50533,7 +54589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50533,7 +54589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50533 .unused,54589 .unused,
50534 .unused,54590 .unused,
50535 },54591 },
50536 .dst_temps = .{.mem},54592 .dst_temps = .{ .mem, .unused },
50537 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54593 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50538 .each = .{ .once = &.{54594 .each = .{ .once = &.{
50539 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },54595 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -50551,55 +54607,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50551,55 +54607,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50551 }, .{54607 }, .{
50552 .required_features = .{ .avx, null, null, null },54608 .required_features = .{ .avx, null, null, null },
50553 .src_constraints = .{ .{ .float = .dword }, .any, .any },54609 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50554 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},54610 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
50555 .patterns = &.{54611 .patterns = &.{
50556 .{ .src = .{ .mem, .none, .none } },54612 .{ .src = .{ .mem, .none, .none } },
50557 .{ .src = .{ .to_sse, .none, .none } },54613 .{ .src = .{ .to_sse, .none, .none } },
50558 },54614 },
50559 .dst_temps = .{.{ .rc = .general_purpose }},54615 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
50560 .each = .{ .once = &.{54616 .each = .{ .once = &.{
50561 .{ ._, .v_, .cvttss2si, .dst0d, .src0d, ._, ._ },54617 .{ ._, .v_, .cvttss2si, .dst0d, .src0d, ._, ._ },
50562 } },54618 } },
50563 }, .{54619 }, .{
50564 .required_features = .{ .sse, null, null, null },54620 .required_features = .{ .sse, null, null, null },
50565 .src_constraints = .{ .{ .float = .dword }, .any, .any },54621 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50566 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},54622 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
50567 .patterns = &.{54623 .patterns = &.{
50568 .{ .src = .{ .mem, .none, .none } },54624 .{ .src = .{ .mem, .none, .none } },
50569 .{ .src = .{ .to_sse, .none, .none } },54625 .{ .src = .{ .to_sse, .none, .none } },
50570 },54626 },
50571 .dst_temps = .{.{ .rc = .general_purpose }},54627 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
50572 .each = .{ .once = &.{54628 .each = .{ .once = &.{
50573 .{ ._, ._, .cvttss2si, .dst0d, .src0d, ._, ._ },54629 .{ ._, ._, .cvttss2si, .dst0d, .src0d, ._, ._ },
50574 } },54630 } },
50575 }, .{54631 }, .{
50576 .required_features = .{ .@"64bit", .avx, null, null },54632 .required_features = .{ .@"64bit", .avx, null, null },
50577 .src_constraints = .{ .{ .float = .dword }, .any, .any },54633 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50578 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},54634 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
50579 .patterns = &.{54635 .patterns = &.{
50580 .{ .src = .{ .mem, .none, .none } },54636 .{ .src = .{ .mem, .none, .none } },
50581 .{ .src = .{ .to_sse, .none, .none } },54637 .{ .src = .{ .to_sse, .none, .none } },
50582 },54638 },
50583 .dst_temps = .{.{ .rc = .general_purpose }},54639 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
50584 .each = .{ .once = &.{54640 .each = .{ .once = &.{
50585 .{ ._, .v_, .cvttss2si, .dst0q, .src0d, ._, ._ },54641 .{ ._, .v_, .cvttss2si, .dst0q, .src0d, ._, ._ },
50586 } },54642 } },
50587 }, .{54643 }, .{
50588 .required_features = .{ .@"64bit", .sse, null, null },54644 .required_features = .{ .@"64bit", .sse, null, null },
50589 .src_constraints = .{ .{ .float = .dword }, .any, .any },54645 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50590 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},54646 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
50591 .patterns = &.{54647 .patterns = &.{
50592 .{ .src = .{ .mem, .none, .none } },54648 .{ .src = .{ .mem, .none, .none } },
50593 .{ .src = .{ .to_sse, .none, .none } },54649 .{ .src = .{ .to_sse, .none, .none } },
50594 },54650 },
50595 .dst_temps = .{.{ .rc = .general_purpose }},54651 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
50596 .each = .{ .once = &.{54652 .each = .{ .once = &.{
50597 .{ ._, ._, .cvttss2si, .dst0q, .src0d, ._, ._ },54653 .{ ._, ._, .cvttss2si, .dst0q, .src0d, ._, ._ },
50598 } },54654 } },
50599 }, .{54655 }, .{
50600 .required_features = .{ .@"64bit", .avx, null, null },54656 .required_features = .{ .@"64bit", .avx, null, null },
50601 .src_constraints = .{ .{ .float = .dword }, .any, .any },54657 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50602 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},54658 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
50603 .patterns = &.{54659 .patterns = &.{
50604 .{ .src = .{ .to_sse, .none, .none } },54660 .{ .src = .{ .to_sse, .none, .none } },
50605 },54661 },
...@@ -50614,7 +54670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50614,7 +54670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50614 .unused,54670 .unused,
50615 .unused,54671 .unused,
50616 },54672 },
50617 .dst_temps = .{.{ .rc = .general_purpose }},54673 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
50618 .clobbers = .{ .eflags = true },54674 .clobbers = .{ .eflags = true },
50619 .each = .{ .once = &.{54675 .each = .{ .once = &.{
50620 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },54676 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
...@@ -50629,7 +54685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50629,7 +54685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50629 }, .{54685 }, .{
50630 .required_features = .{ .@"64bit", .sse, null, null },54686 .required_features = .{ .@"64bit", .sse, null, null },
50631 .src_constraints = .{ .{ .float = .dword }, .any, .any },54687 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50632 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},54688 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
50633 .patterns = &.{54689 .patterns = &.{
50634 .{ .src = .{ .to_mut_sse, .none, .none } },54690 .{ .src = .{ .to_mut_sse, .none, .none } },
50635 },54691 },
...@@ -50644,7 +54700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50644,7 +54700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50644 .unused,54700 .unused,
50645 .unused,54701 .unused,
50646 },54702 },
50647 .dst_temps = .{.{ .rc = .general_purpose }},54703 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
50648 .clobbers = .{ .eflags = true },54704 .clobbers = .{ .eflags = true },
50649 .each = .{ .once = &.{54705 .each = .{ .once = &.{
50650 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },54706 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
...@@ -50659,7 +54715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50659,7 +54715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50659 }, .{54715 }, .{
50660 .required_features = .{ .@"64bit", .sse, null, null },54716 .required_features = .{ .@"64bit", .sse, null, null },
50661 .src_constraints = .{ .{ .float = .dword }, .any, .any },54717 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50662 .dst_constraints = .{.{ .signed_int = .xword }},54718 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
50663 .patterns = &.{54719 .patterns = &.{
50664 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },54720 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
50665 },54721 },
...@@ -50675,7 +54731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50675,7 +54731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50675 .unused,54731 .unused,
50676 .unused,54732 .unused,
50677 },54733 },
50678 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},54734 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
50679 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54735 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50680 .each = .{ .once = &.{54736 .each = .{ .once = &.{
50681 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },54737 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -50683,7 +54739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50683,7 +54739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50683 }, .{54739 }, .{
50684 .required_features = .{ .@"64bit", .sse, null, null },54740 .required_features = .{ .@"64bit", .sse, null, null },
50685 .src_constraints = .{ .{ .float = .dword }, .any, .any },54741 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50686 .dst_constraints = .{.{ .unsigned_int = .xword }},54742 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
50687 .patterns = &.{54743 .patterns = &.{
50688 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },54744 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
50689 },54745 },
...@@ -50699,7 +54755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50699,7 +54755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50699 .unused,54755 .unused,
50700 .unused,54756 .unused,
50701 },54757 },
50702 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},54758 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
50703 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54759 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50704 .each = .{ .once = &.{54760 .each = .{ .once = &.{
50705 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },54761 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -50707,7 +54763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50707,7 +54763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50707 }, .{54763 }, .{
50708 .required_features = .{ .@"64bit", .avx, null, null },54764 .required_features = .{ .@"64bit", .avx, null, null },
50709 .src_constraints = .{ .{ .float = .dword }, .any, .any },54765 .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 },
50711 .patterns = &.{54767 .patterns = &.{
50712 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },54768 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
50713 },54769 },
...@@ -50723,7 +54779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50723,7 +54779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50723 .unused,54779 .unused,
50724 .unused,54780 .unused,
50725 },54781 },
50726 .dst_temps = .{.mem},54782 .dst_temps = .{ .mem, .unused },
50727 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54783 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50728 .each = .{ .once = &.{54784 .each = .{ .once = &.{
50729 .{ ._, .v_d, .mov, .tmp0d, .src0x, ._, ._ },54785 .{ ._, .v_d, .mov, .tmp0d, .src0x, ._, ._ },
...@@ -50746,7 +54802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50746,7 +54802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50746 }, .{54802 }, .{
50747 .required_features = .{ .@"64bit", .sse2, null, null },54803 .required_features = .{ .@"64bit", .sse2, null, null },
50748 .src_constraints = .{ .{ .float = .dword }, .any, .any },54804 .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 },
50750 .patterns = &.{54806 .patterns = &.{
50751 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },54807 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
50752 },54808 },
...@@ -50762,7 +54818,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50762,7 +54818,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50762 .unused,54818 .unused,
50763 .unused,54819 .unused,
50764 },54820 },
50765 .dst_temps = .{.mem},54821 .dst_temps = .{ .mem, .unused },
50766 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54822 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50767 .each = .{ .once = &.{54823 .each = .{ .once = &.{
50768 .{ ._, ._d, .mov, .tmp0d, .src0x, ._, ._ },54824 .{ ._, ._d, .mov, .tmp0d, .src0x, ._, ._ },
...@@ -50785,7 +54841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50785,7 +54841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50785 }, .{54841 }, .{
50786 .required_features = .{ .@"64bit", .sse, null, null },54842 .required_features = .{ .@"64bit", .sse, null, null },
50787 .src_constraints = .{ .{ .float = .dword }, .any, .any },54843 .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 },
50789 .patterns = &.{54845 .patterns = &.{
50790 .{ .src = .{ .to_mem, .none, .none } },54846 .{ .src = .{ .to_mem, .none, .none } },
50791 },54847 },
...@@ -50801,7 +54857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50801,7 +54857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50801 .unused,54857 .unused,
50802 .unused,54858 .unused,
50803 },54859 },
50804 .dst_temps = .{.mem},54860 .dst_temps = .{ .mem, .unused },
50805 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54861 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50806 .each = .{ .once = &.{54862 .each = .{ .once = &.{
50807 .{ ._, ._ss, .mov, .tmp0x, .src0d, ._, ._ },54863 .{ ._, ._ss, .mov, .tmp0x, .src0d, ._, ._ },
...@@ -50824,7 +54880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50824,7 +54880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50824 }, .{54880 }, .{
50825 .required_features = .{ .@"64bit", .sse, null, null },54881 .required_features = .{ .@"64bit", .sse, null, null },
50826 .src_constraints = .{ .{ .float = .dword }, .any, .any },54882 .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 },
50828 .patterns = &.{54884 .patterns = &.{
50829 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },54885 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
50830 },54886 },
...@@ -50840,7 +54896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50840,7 +54896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50840 .unused,54896 .unused,
50841 .unused,54897 .unused,
50842 },54898 },
50843 .dst_temps = .{.mem},54899 .dst_temps = .{ .mem, .unused },
50844 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },54900 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
50845 .each = .{ .once = &.{54901 .each = .{ .once = &.{
50846 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },54902 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -50854,7 +54910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50854,7 +54910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50854 }, .{54910 }, .{
50855 .required_features = .{ .avx, null, null, null },54911 .required_features = .{ .avx, null, null, null },
50856 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },54912 .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 },
50858 .patterns = &.{54914 .patterns = &.{
50859 .{ .src = .{ .mem, .none, .none } },54915 .{ .src = .{ .mem, .none, .none } },
50860 .{ .src = .{ .to_sse, .none, .none } },54916 .{ .src = .{ .to_sse, .none, .none } },
...@@ -50870,7 +54926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50870,7 +54926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50870 .unused,54926 .unused,
50871 .unused,54927 .unused,
50872 },54928 },
50873 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},54929 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
50874 .each = .{ .once = &.{54930 .each = .{ .once = &.{
50875 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },54931 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
50876 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },54932 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
...@@ -50879,7 +54935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50879,7 +54935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50879 }, .{54935 }, .{
50880 .required_features = .{ .ssse3, null, null, null },54936 .required_features = .{ .ssse3, null, null, null },
50881 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },54937 .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 },
50883 .patterns = &.{54939 .patterns = &.{
50884 .{ .src = .{ .mem, .none, .none } },54940 .{ .src = .{ .mem, .none, .none } },
50885 .{ .src = .{ .to_sse, .none, .none } },54941 .{ .src = .{ .to_sse, .none, .none } },
...@@ -50895,7 +54951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50895,7 +54951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50895 .unused,54951 .unused,
50896 .unused,54952 .unused,
50897 },54953 },
50898 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},54954 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
50899 .each = .{ .once = &.{54955 .each = .{ .once = &.{
50900 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },54956 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
50901 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },54957 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
...@@ -50904,7 +54960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50904,7 +54960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50904 }, .{54960 }, .{
50905 .required_features = .{ .avx, null, null, null },54961 .required_features = .{ .avx, null, null, null },
50906 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },54962 .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 },
50908 .patterns = &.{54964 .patterns = &.{
50909 .{ .src = .{ .to_mem, .none, .none } },54965 .{ .src = .{ .to_mem, .none, .none } },
50910 },54966 },
...@@ -50919,7 +54975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50919,7 +54975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50919 .unused,54975 .unused,
50920 .unused,54976 .unused,
50921 },54977 },
50922 .dst_temps = .{.mem},54978 .dst_temps = .{ .mem, .unused },
50923 .each = .{ .once = &.{54979 .each = .{ .once = &.{
50924 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },54980 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
50925 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },54981 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -50933,7 +54989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50933,7 +54989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50933 }, .{54989 }, .{
50934 .required_features = .{ .ssse3, null, null, null },54990 .required_features = .{ .ssse3, null, null, null },
50935 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },54991 .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 },
50937 .patterns = &.{54993 .patterns = &.{
50938 .{ .src = .{ .to_mem, .none, .none } },54994 .{ .src = .{ .to_mem, .none, .none } },
50939 },54995 },
...@@ -50948,7 +55004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50948,7 +55004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50948 .unused,55004 .unused,
50949 .unused,55005 .unused,
50950 },55006 },
50951 .dst_temps = .{.mem},55007 .dst_temps = .{ .mem, .unused },
50952 .each = .{ .once = &.{55008 .each = .{ .once = &.{
50953 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },55009 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
50954 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },55010 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
...@@ -50962,7 +55018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50962,7 +55018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50962 }, .{55018 }, .{
50963 .required_features = .{ .sse, .slow_incdec, null, null },55019 .required_features = .{ .sse, .slow_incdec, null, null },
50964 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55020 .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 },
50966 .patterns = &.{55022 .patterns = &.{
50967 .{ .src = .{ .to_mem, .none, .none } },55023 .{ .src = .{ .to_mem, .none, .none } },
50968 },55024 },
...@@ -50977,7 +55033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -50977,7 +55033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50977 .unused,55033 .unused,
50978 .unused,55034 .unused,
50979 },55035 },
50980 .dst_temps = .{.mem},55036 .dst_temps = .{ .mem, .unused },
50981 .each = .{ .once = &.{55037 .each = .{ .once = &.{
50982 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55038 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
50983 .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },55039 .{ .@"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 {...@@ -50988,7 +55044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50988 }, .{55044 }, .{
50989 .required_features = .{ .sse, null, null, null },55045 .required_features = .{ .sse, null, null, null },
50990 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55046 .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 },
50992 .patterns = &.{55048 .patterns = &.{
50993 .{ .src = .{ .to_mem, .none, .none } },55049 .{ .src = .{ .to_mem, .none, .none } },
50994 },55050 },
...@@ -51003,7 +55059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51003,7 +55059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51003 .unused,55059 .unused,
51004 .unused,55060 .unused,
51005 },55061 },
51006 .dst_temps = .{.mem},55062 .dst_temps = .{ .mem, .unused },
51007 .each = .{ .once = &.{55063 .each = .{ .once = &.{
51008 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55064 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
51009 .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },55065 .{ .@"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 {...@@ -51014,7 +55070,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51014 }, .{55070 }, .{
51015 .required_features = .{ .avx, .slow_incdec, null, null },55071 .required_features = .{ .avx, .slow_incdec, null, null },
51016 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55072 .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 },
51018 .patterns = &.{55074 .patterns = &.{
51019 .{ .src = .{ .to_mem, .none, .none } },55075 .{ .src = .{ .to_mem, .none, .none } },
51020 },55076 },
...@@ -51030,7 +55086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51030,7 +55086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51030 .unused,55086 .unused,
51031 .unused,55087 .unused,
51032 },55088 },
51033 .dst_temps = .{.mem},55089 .dst_temps = .{ .mem, .unused },
51034 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55090 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51035 .each = .{ .once = &.{55091 .each = .{ .once = &.{
51036 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55092 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -51043,7 +55099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51043,7 +55099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51043 }, .{55099 }, .{
51044 .required_features = .{ .avx, null, null, null },55100 .required_features = .{ .avx, null, null, null },
51045 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55101 .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 },
51047 .patterns = &.{55103 .patterns = &.{
51048 .{ .src = .{ .to_mem, .none, .none } },55104 .{ .src = .{ .to_mem, .none, .none } },
51049 },55105 },
...@@ -51059,7 +55115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51059,7 +55115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51059 .unused,55115 .unused,
51060 .unused,55116 .unused,
51061 },55117 },
51062 .dst_temps = .{.mem},55118 .dst_temps = .{ .mem, .unused },
51063 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55119 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51064 .each = .{ .once = &.{55120 .each = .{ .once = &.{
51065 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55121 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -51072,7 +55128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51072,7 +55128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51072 }, .{55128 }, .{
51073 .required_features = .{ .sse, .slow_incdec, null, null },55129 .required_features = .{ .sse, .slow_incdec, null, null },
51074 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55130 .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 },
51076 .patterns = &.{55132 .patterns = &.{
51077 .{ .src = .{ .to_mem, .none, .none } },55133 .{ .src = .{ .to_mem, .none, .none } },
51078 },55134 },
...@@ -51088,7 +55144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51088,7 +55144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51088 .unused,55144 .unused,
51089 .unused,55145 .unused,
51090 },55146 },
51091 .dst_temps = .{.mem},55147 .dst_temps = .{ .mem, .unused },
51092 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55148 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51093 .each = .{ .once = &.{55149 .each = .{ .once = &.{
51094 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55150 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -51101,7 +55157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51101,7 +55157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51101 }, .{55157 }, .{
51102 .required_features = .{ .sse, null, null, null },55158 .required_features = .{ .sse, null, null, null },
51103 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55159 .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 },
51105 .patterns = &.{55161 .patterns = &.{
51106 .{ .src = .{ .to_mem, .none, .none } },55162 .{ .src = .{ .to_mem, .none, .none } },
51107 },55163 },
...@@ -51117,7 +55173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51117,7 +55173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51117 .unused,55173 .unused,
51118 .unused,55174 .unused,
51119 },55175 },
51120 .dst_temps = .{.mem},55176 .dst_temps = .{ .mem, .unused },
51121 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55177 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51122 .each = .{ .once = &.{55178 .each = .{ .once = &.{
51123 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55179 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -51130,12 +55186,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51130,12 +55186,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51130 }, .{55186 }, .{
51131 .required_features = .{ .avx, null, null, null },55187 .required_features = .{ .avx, null, null, null },
51132 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55188 .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 },
51134 .patterns = &.{55190 .patterns = &.{
51135 .{ .src = .{ .mem, .none, .none } },55191 .{ .src = .{ .mem, .none, .none } },
51136 .{ .src = .{ .to_sse, .none, .none } },55192 .{ .src = .{ .to_sse, .none, .none } },
51137 },55193 },
51138 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},55194 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51139 .each = .{ .once = &.{55195 .each = .{ .once = &.{
51140 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },55196 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
51141 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },55197 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },
...@@ -51143,12 +55199,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51143,12 +55199,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51143 }, .{55199 }, .{
51144 .required_features = .{ .sse2, null, null, null },55200 .required_features = .{ .sse2, null, null, null },
51145 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55201 .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 },
51147 .patterns = &.{55203 .patterns = &.{
51148 .{ .src = .{ .mem, .none, .none } },55204 .{ .src = .{ .mem, .none, .none } },
51149 .{ .src = .{ .to_sse, .none, .none } },55205 .{ .src = .{ .to_sse, .none, .none } },
51150 },55206 },
51151 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},55207 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51152 .each = .{ .once = &.{55208 .each = .{ .once = &.{
51153 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },55209 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
51154 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },55210 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
...@@ -51156,12 +55212,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51156,12 +55212,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51156 }, .{55212 }, .{
51157 .required_features = .{ .avx, null, null, null },55213 .required_features = .{ .avx, null, null, null },
51158 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55214 .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 },
51160 .patterns = &.{55216 .patterns = &.{
51161 .{ .src = .{ .mem, .none, .none } },55217 .{ .src = .{ .mem, .none, .none } },
51162 .{ .src = .{ .to_sse, .none, .none } },55218 .{ .src = .{ .to_sse, .none, .none } },
51163 },55219 },
51164 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},55220 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51165 .each = .{ .once = &.{55221 .each = .{ .once = &.{
51166 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },55222 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
51167 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },55223 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },
...@@ -51169,12 +55225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51169,12 +55225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51169 }, .{55225 }, .{
51170 .required_features = .{ .sse4_1, null, null, null },55226 .required_features = .{ .sse4_1, null, null, null },
51171 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55227 .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 },
51173 .patterns = &.{55229 .patterns = &.{
51174 .{ .src = .{ .mem, .none, .none } },55230 .{ .src = .{ .mem, .none, .none } },
51175 .{ .src = .{ .to_sse, .none, .none } },55231 .{ .src = .{ .to_sse, .none, .none } },
51176 },55232 },
51177 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},55233 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51178 .each = .{ .once = &.{55234 .each = .{ .once = &.{
51179 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },55235 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
51180 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },55236 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
...@@ -51182,7 +55238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51182,7 +55238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51182 }, .{55238 }, .{
51183 .required_features = .{ .avx, null, null, null },55239 .required_features = .{ .avx, null, null, null },
51184 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55240 .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 },
51186 .patterns = &.{55242 .patterns = &.{
51187 .{ .src = .{ .to_mem, .none, .none } },55243 .{ .src = .{ .to_mem, .none, .none } },
51188 },55244 },
...@@ -51197,7 +55253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51197,7 +55253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51197 .unused,55253 .unused,
51198 .unused,55254 .unused,
51199 },55255 },
51200 .dst_temps = .{.mem},55256 .dst_temps = .{ .mem, .unused },
51201 .each = .{ .once = &.{55257 .each = .{ .once = &.{
51202 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55258 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
51203 .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },55259 .{ .@"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 {...@@ -51209,7 +55265,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51209 }, .{55265 }, .{
51210 .required_features = .{ .sse2, null, null, null },55266 .required_features = .{ .sse2, null, null, null },
51211 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55267 .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 },
51213 .patterns = &.{55269 .patterns = &.{
51214 .{ .src = .{ .to_mem, .none, .none } },55270 .{ .src = .{ .to_mem, .none, .none } },
51215 },55271 },
...@@ -51224,7 +55280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51224,7 +55280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51224 .unused,55280 .unused,
51225 .unused,55281 .unused,
51226 },55282 },
51227 .dst_temps = .{.mem},55283 .dst_temps = .{ .mem, .unused },
51228 .each = .{ .once = &.{55284 .each = .{ .once = &.{
51229 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55285 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
51230 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },55286 .{ .@"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 {...@@ -51236,7 +55292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51236 }, .{55292 }, .{
51237 .required_features = .{ .avx, null, null, null },55293 .required_features = .{ .avx, null, null, null },
51238 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55294 .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 },
51240 .patterns = &.{55296 .patterns = &.{
51241 .{ .src = .{ .to_mem, .none, .none } },55297 .{ .src = .{ .to_mem, .none, .none } },
51242 },55298 },
...@@ -51251,7 +55307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51251,7 +55307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51251 .unused,55307 .unused,
51252 .unused,55308 .unused,
51253 },55309 },
51254 .dst_temps = .{.mem},55310 .dst_temps = .{ .mem, .unused },
51255 .each = .{ .once = &.{55311 .each = .{ .once = &.{
51256 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55312 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
51257 .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },55313 .{ .@"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 {...@@ -51263,7 +55319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51263 }, .{55319 }, .{
51264 .required_features = .{ .sse4_1, null, null, null },55320 .required_features = .{ .sse4_1, null, null, null },
51265 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55321 .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 },
51267 .patterns = &.{55323 .patterns = &.{
51268 .{ .src = .{ .to_mem, .none, .none } },55324 .{ .src = .{ .to_mem, .none, .none } },
51269 },55325 },
...@@ -51278,7 +55334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51278,7 +55334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51278 .unused,55334 .unused,
51279 .unused,55335 .unused,
51280 },55336 },
51281 .dst_temps = .{.mem},55337 .dst_temps = .{ .mem, .unused },
51282 .each = .{ .once = &.{55338 .each = .{ .once = &.{
51283 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55339 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
51284 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },55340 .{ .@"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 {...@@ -51290,7 +55346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51290 }, .{55346 }, .{
51291 .required_features = .{ .avx, null, null, null },55347 .required_features = .{ .avx, null, null, null },
51292 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55348 .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 },
51294 .patterns = &.{55350 .patterns = &.{
51295 .{ .src = .{ .to_mem, .none, .none } },55351 .{ .src = .{ .to_mem, .none, .none } },
51296 },55352 },
...@@ -51306,7 +55362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51306,7 +55362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51306 .unused,55362 .unused,
51307 .unused,55363 .unused,
51308 },55364 },
51309 .dst_temps = .{.mem},55365 .dst_temps = .{ .mem, .unused },
51310 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55366 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51311 .each = .{ .once = &.{55367 .each = .{ .once = &.{
51312 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55368 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -51319,7 +55375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51319,7 +55375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51319 }, .{55375 }, .{
51320 .required_features = .{ .sse, null, null, null },55376 .required_features = .{ .sse, null, null, null },
51321 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55377 .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 },
51323 .patterns = &.{55379 .patterns = &.{
51324 .{ .src = .{ .to_mem, .none, .none } },55380 .{ .src = .{ .to_mem, .none, .none } },
51325 },55381 },
...@@ -51335,7 +55391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51335,7 +55391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51335 .unused,55391 .unused,
51336 .unused,55392 .unused,
51337 },55393 },
51338 .dst_temps = .{.mem},55394 .dst_temps = .{ .mem, .unused },
51339 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55395 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51340 .each = .{ .once = &.{55396 .each = .{ .once = &.{
51341 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },55397 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -51348,31 +55404,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51348,31 +55404,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51348 }, .{55404 }, .{
51349 .required_features = .{ .avx, null, null, null },55405 .required_features = .{ .avx, null, null, null },
51350 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55406 .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 },
51352 .patterns = &.{55408 .patterns = &.{
51353 .{ .src = .{ .mem, .none, .none } },55409 .{ .src = .{ .mem, .none, .none } },
51354 .{ .src = .{ .to_sse, .none, .none } },55410 .{ .src = .{ .to_sse, .none, .none } },
51355 },55411 },
51356 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},55412 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51357 .each = .{ .once = &.{55413 .each = .{ .once = &.{
51358 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },55414 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
51359 } },55415 } },
51360 }, .{55416 }, .{
51361 .required_features = .{ .sse2, null, null, null },55417 .required_features = .{ .sse2, null, null, null },
51362 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55418 .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 },
51364 .patterns = &.{55420 .patterns = &.{
51365 .{ .src = .{ .mem, .none, .none } },55421 .{ .src = .{ .mem, .none, .none } },
51366 .{ .src = .{ .to_sse, .none, .none } },55422 .{ .src = .{ .to_sse, .none, .none } },
51367 },55423 },
51368 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},55424 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51369 .each = .{ .once = &.{55425 .each = .{ .once = &.{
51370 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },55426 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
51371 } },55427 } },
51372 }, .{55428 }, .{
51373 .required_features = .{ .avx, null, null, null },55429 .required_features = .{ .avx, null, null, null },
51374 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55430 .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 },
51376 .patterns = &.{55432 .patterns = &.{
51377 .{ .src = .{ .to_mem, .none, .none } },55433 .{ .src = .{ .to_mem, .none, .none } },
51378 },55434 },
...@@ -51387,7 +55443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51387,7 +55443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51387 .unused,55443 .unused,
51388 .unused,55444 .unused,
51389 },55445 },
51390 .dst_temps = .{.mem},55446 .dst_temps = .{ .mem, .unused },
51391 .each = .{ .once = &.{55447 .each = .{ .once = &.{
51392 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55448 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
51393 .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },55449 .{ .@"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 {...@@ -51398,7 +55454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51398 }, .{55454 }, .{
51399 .required_features = .{ .sse2, null, null, null },55455 .required_features = .{ .sse2, null, null, null },
51400 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },55456 .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 },
51402 .patterns = &.{55458 .patterns = &.{
51403 .{ .src = .{ .to_mem, .none, .none } },55459 .{ .src = .{ .to_mem, .none, .none } },
51404 },55460 },
...@@ -51413,7 +55469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51413,7 +55469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51413 .unused,55469 .unused,
51414 .unused,55470 .unused,
51415 },55471 },
51416 .dst_temps = .{.mem},55472 .dst_temps = .{ .mem, .unused },
51417 .each = .{ .once = &.{55473 .each = .{ .once = &.{
51418 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55474 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
51419 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },55475 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -51424,7 +55480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51424,7 +55480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51424 }, .{55480 }, .{
51425 .required_features = .{ .avx, null, null, null },55481 .required_features = .{ .avx, null, null, null },
51426 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55482 .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 },
51428 .patterns = &.{55484 .patterns = &.{
51429 .{ .src = .{ .to_mem, .none, .none } },55485 .{ .src = .{ .to_mem, .none, .none } },
51430 },55486 },
...@@ -51440,7 +55496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51440,7 +55496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51440 .unused,55496 .unused,
51441 .unused,55497 .unused,
51442 },55498 },
51443 .dst_temps = .{.mem},55499 .dst_temps = .{ .mem, .unused },
51444 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55500 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51445 .each = .{ .once = &.{55501 .each = .{ .once = &.{
51446 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55502 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51453,7 +55509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51453,7 +55509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51453 }, .{55509 }, .{
51454 .required_features = .{ .avx, null, null, null },55510 .required_features = .{ .avx, null, null, null },
51455 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55511 .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 },
51457 .patterns = &.{55513 .patterns = &.{
51458 .{ .src = .{ .to_mem, .none, .none } },55514 .{ .src = .{ .to_mem, .none, .none } },
51459 },55515 },
...@@ -51469,7 +55525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51469,7 +55525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51469 .unused,55525 .unused,
51470 .unused,55526 .unused,
51471 },55527 },
51472 .dst_temps = .{.mem},55528 .dst_temps = .{ .mem, .unused },
51473 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55529 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51474 .each = .{ .once = &.{55530 .each = .{ .once = &.{
51475 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55531 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51482,7 +55538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51482,7 +55538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51482 }, .{55538 }, .{
51483 .required_features = .{ .sse, null, null, null },55539 .required_features = .{ .sse, null, null, null },
51484 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55540 .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 },
51486 .patterns = &.{55542 .patterns = &.{
51487 .{ .src = .{ .to_mem, .none, .none } },55543 .{ .src = .{ .to_mem, .none, .none } },
51488 },55544 },
...@@ -51498,7 +55554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51498,7 +55554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51498 .unused,55554 .unused,
51499 .unused,55555 .unused,
51500 },55556 },
51501 .dst_temps = .{.mem},55557 .dst_temps = .{ .mem, .unused },
51502 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55558 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51503 .each = .{ .once = &.{55559 .each = .{ .once = &.{
51504 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55560 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51511,7 +55567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51511,7 +55567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51511 }, .{55567 }, .{
51512 .required_features = .{ .sse, null, null, null },55568 .required_features = .{ .sse, null, null, null },
51513 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55569 .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 },
51515 .patterns = &.{55571 .patterns = &.{
51516 .{ .src = .{ .to_mem, .none, .none } },55572 .{ .src = .{ .to_mem, .none, .none } },
51517 },55573 },
...@@ -51527,7 +55583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51527,7 +55583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51527 .unused,55583 .unused,
51528 .unused,55584 .unused,
51529 },55585 },
51530 .dst_temps = .{.mem},55586 .dst_temps = .{ .mem, .unused },
51531 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55587 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51532 .each = .{ .once = &.{55588 .each = .{ .once = &.{
51533 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55589 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51540,7 +55596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51540,7 +55596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51540 }, .{55596 }, .{
51541 .required_features = .{ .@"64bit", .avx, null, null },55597 .required_features = .{ .@"64bit", .avx, null, null },
51542 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55598 .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 },
51544 .patterns = &.{55600 .patterns = &.{
51545 .{ .src = .{ .to_mem, .none, .none } },55601 .{ .src = .{ .to_mem, .none, .none } },
51546 },55602 },
...@@ -51555,7 +55611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51555,7 +55611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51555 .unused,55611 .unused,
51556 .unused,55612 .unused,
51557 },55613 },
51558 .dst_temps = .{.mem},55614 .dst_temps = .{ .mem, .unused },
51559 .each = .{ .once = &.{55615 .each = .{ .once = &.{
51560 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
51561 .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },55617 .{ .@"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 {...@@ -51566,7 +55622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51566 }, .{55622 }, .{
51567 .required_features = .{ .@"64bit", .sse, null, null },55623 .required_features = .{ .@"64bit", .sse, null, null },
51568 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55624 .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 },
51570 .patterns = &.{55626 .patterns = &.{
51571 .{ .src = .{ .to_mem, .none, .none } },55627 .{ .src = .{ .to_mem, .none, .none } },
51572 },55628 },
...@@ -51581,7 +55637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51581,7 +55637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51581 .unused,55637 .unused,
51582 .unused,55638 .unused,
51583 },55639 },
51584 .dst_temps = .{.mem},55640 .dst_temps = .{ .mem, .unused },
51585 .each = .{ .once = &.{55641 .each = .{ .once = &.{
51586 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55642 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
51587 .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },55643 .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -51592,7 +55648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51592,7 +55648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51592 }, .{55648 }, .{
51593 .required_features = .{ .avx, null, null, null },55649 .required_features = .{ .avx, null, null, null },
51594 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55650 .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 },
51596 .patterns = &.{55652 .patterns = &.{
51597 .{ .src = .{ .to_mem, .none, .none } },55653 .{ .src = .{ .to_mem, .none, .none } },
51598 },55654 },
...@@ -51608,7 +55664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51608,7 +55664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51608 .unused,55664 .unused,
51609 .unused,55665 .unused,
51610 },55666 },
51611 .dst_temps = .{.mem},55667 .dst_temps = .{ .mem, .unused },
51612 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55668 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51613 .each = .{ .once = &.{55669 .each = .{ .once = &.{
51614 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55670 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51621,7 +55677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51621,7 +55677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51621 }, .{55677 }, .{
51622 .required_features = .{ .avx, null, null, null },55678 .required_features = .{ .avx, null, null, null },
51623 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55679 .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 },
51625 .patterns = &.{55681 .patterns = &.{
51626 .{ .src = .{ .to_mem, .none, .none } },55682 .{ .src = .{ .to_mem, .none, .none } },
51627 },55683 },
...@@ -51637,7 +55693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51637,7 +55693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51637 .unused,55693 .unused,
51638 .unused,55694 .unused,
51639 },55695 },
51640 .dst_temps = .{.mem},55696 .dst_temps = .{ .mem, .unused },
51641 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55697 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51642 .each = .{ .once = &.{55698 .each = .{ .once = &.{
51643 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55699 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51650,7 +55706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51650,7 +55706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51650 }, .{55706 }, .{
51651 .required_features = .{ .sse, null, null, null },55707 .required_features = .{ .sse, null, null, null },
51652 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55708 .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 },
51654 .patterns = &.{55710 .patterns = &.{
51655 .{ .src = .{ .to_mem, .none, .none } },55711 .{ .src = .{ .to_mem, .none, .none } },
51656 },55712 },
...@@ -51666,7 +55722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51666,7 +55722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51666 .unused,55722 .unused,
51667 .unused,55723 .unused,
51668 },55724 },
51669 .dst_temps = .{.mem},55725 .dst_temps = .{ .mem, .unused },
51670 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55726 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51671 .each = .{ .once = &.{55727 .each = .{ .once = &.{
51672 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55728 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51679,7 +55735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51679,7 +55735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51679 }, .{55735 }, .{
51680 .required_features = .{ .sse, null, null, null },55736 .required_features = .{ .sse, null, null, null },
51681 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55737 .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 },
51683 .patterns = &.{55739 .patterns = &.{
51684 .{ .src = .{ .to_mem, .none, .none } },55740 .{ .src = .{ .to_mem, .none, .none } },
51685 },55741 },
...@@ -51695,7 +55751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51695,7 +55751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51695 .unused,55751 .unused,
51696 .unused,55752 .unused,
51697 },55753 },
51698 .dst_temps = .{.mem},55754 .dst_temps = .{ .mem, .unused },
51699 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55755 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51700 .each = .{ .once = &.{55756 .each = .{ .once = &.{
51701 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55757 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51708,7 +55764,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51708,7 +55764,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51708 }, .{55764 }, .{
51709 .required_features = .{ .avx, null, null, null },55765 .required_features = .{ .avx, null, null, null },
51710 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55766 .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 },
51712 .patterns = &.{55768 .patterns = &.{
51713 .{ .src = .{ .to_mem, .none, .none } },55769 .{ .src = .{ .to_mem, .none, .none } },
51714 },55770 },
...@@ -51724,7 +55780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51724,7 +55780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51724 .unused,55780 .unused,
51725 .unused,55781 .unused,
51726 },55782 },
51727 .dst_temps = .{.mem},55783 .dst_temps = .{ .mem, .unused },
51728 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55784 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51729 .each = .{ .once = &.{55785 .each = .{ .once = &.{
51730 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55786 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51738,7 +55794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51738,7 +55794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51738 }, .{55794 }, .{
51739 .required_features = .{ .avx, null, null, null },55795 .required_features = .{ .avx, null, null, null },
51740 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55796 .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 },
51742 .patterns = &.{55798 .patterns = &.{
51743 .{ .src = .{ .to_mem, .none, .none } },55799 .{ .src = .{ .to_mem, .none, .none } },
51744 },55800 },
...@@ -51754,7 +55810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51754,7 +55810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51754 .unused,55810 .unused,
51755 .unused,55811 .unused,
51756 },55812 },
51757 .dst_temps = .{.mem},55813 .dst_temps = .{ .mem, .unused },
51758 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55814 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51759 .each = .{ .once = &.{55815 .each = .{ .once = &.{
51760 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55816 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51768,7 +55824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51768,7 +55824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51768 }, .{55824 }, .{
51769 .required_features = .{ .sse, null, null, null },55825 .required_features = .{ .sse, null, null, null },
51770 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55826 .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 },
51772 .patterns = &.{55828 .patterns = &.{
51773 .{ .src = .{ .to_mem, .none, .none } },55829 .{ .src = .{ .to_mem, .none, .none } },
51774 },55830 },
...@@ -51784,7 +55840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51784,7 +55840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51784 .unused,55840 .unused,
51785 .unused,55841 .unused,
51786 },55842 },
51787 .dst_temps = .{.mem},55843 .dst_temps = .{ .mem, .unused },
51788 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55844 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51789 .each = .{ .once = &.{55845 .each = .{ .once = &.{
51790 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55846 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51798,7 +55854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51798,7 +55854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51798 }, .{55854 }, .{
51799 .required_features = .{ .sse, null, null, null },55855 .required_features = .{ .sse, null, null, null },
51800 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55856 .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 },
51802 .patterns = &.{55858 .patterns = &.{
51803 .{ .src = .{ .to_mem, .none, .none } },55859 .{ .src = .{ .to_mem, .none, .none } },
51804 },55860 },
...@@ -51814,7 +55870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51814,7 +55870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51814 .unused,55870 .unused,
51815 .unused,55871 .unused,
51816 },55872 },
51817 .dst_temps = .{.mem},55873 .dst_temps = .{ .mem, .unused },
51818 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55874 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51819 .each = .{ .once = &.{55875 .each = .{ .once = &.{
51820 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55876 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51828,7 +55884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51828,7 +55884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51828 }, .{55884 }, .{
51829 .required_features = .{ .@"64bit", .avx, null, null },55885 .required_features = .{ .@"64bit", .avx, null, null },
51830 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55886 .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 },
51832 .patterns = &.{55888 .patterns = &.{
51833 .{ .src = .{ .to_mem, .none, .none } },55889 .{ .src = .{ .to_mem, .none, .none } },
51834 },55890 },
...@@ -51844,7 +55900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51844,7 +55900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51844 .unused,55900 .unused,
51845 .unused,55901 .unused,
51846 },55902 },
51847 .dst_temps = .{.mem},55903 .dst_temps = .{ .mem, .unused },
51848 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55904 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51849 .each = .{ .once = &.{55905 .each = .{ .once = &.{
51850 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55906 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51860,7 +55916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51860,7 +55916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51860 }, .{55916 }, .{
51861 .required_features = .{ .@"64bit", .avx, null, null },55917 .required_features = .{ .@"64bit", .avx, null, null },
51862 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55918 .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 },
51864 .patterns = &.{55920 .patterns = &.{
51865 .{ .src = .{ .to_mem, .none, .none } },55921 .{ .src = .{ .to_mem, .none, .none } },
51866 },55922 },
...@@ -51876,7 +55932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51876,7 +55932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51876 .unused,55932 .unused,
51877 .unused,55933 .unused,
51878 },55934 },
51879 .dst_temps = .{.mem},55935 .dst_temps = .{ .mem, .unused },
51880 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51881 .each = .{ .once = &.{55937 .each = .{ .once = &.{
51882 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51892,7 +55948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51892,7 +55948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51892 }, .{55948 }, .{
51893 .required_features = .{ .@"64bit", .sse, null, null },55949 .required_features = .{ .@"64bit", .sse, null, null },
51894 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55950 .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 },
51896 .patterns = &.{55952 .patterns = &.{
51897 .{ .src = .{ .to_mem, .none, .none } },55953 .{ .src = .{ .to_mem, .none, .none } },
51898 },55954 },
...@@ -51908,7 +55964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51908,7 +55964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51908 .unused,55964 .unused,
51909 .unused,55965 .unused,
51910 },55966 },
51911 .dst_temps = .{.mem},55967 .dst_temps = .{ .mem, .unused },
51912 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },55968 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51913 .each = .{ .once = &.{55969 .each = .{ .once = &.{
51914 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },55970 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51924,7 +55980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51924,7 +55980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51924 }, .{55980 }, .{
51925 .required_features = .{ .@"64bit", .sse, null, null },55981 .required_features = .{ .@"64bit", .sse, null, null },
51926 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },55982 .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 },
51928 .patterns = &.{55984 .patterns = &.{
51929 .{ .src = .{ .to_mem, .none, .none } },55985 .{ .src = .{ .to_mem, .none, .none } },
51930 },55986 },
...@@ -51940,7 +55996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51940,7 +55996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51940 .unused,55996 .unused,
51941 .unused,55997 .unused,
51942 },55998 },
51943 .dst_temps = .{.mem},55999 .dst_temps = .{ .mem, .unused },
51944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56000 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
51945 .each = .{ .once = &.{56001 .each = .{ .once = &.{
51946 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },56002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -51956,31 +56012,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51956,31 +56012,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51956 }, .{56012 }, .{
51957 .required_features = .{ .avx, null, null, null },56013 .required_features = .{ .avx, null, null, null },
51958 .src_constraints = .{ .{ .float = .qword }, .any, .any },56014 .src_constraints = .{ .{ .float = .qword }, .any, .any },
51959 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},56015 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
51960 .patterns = &.{56016 .patterns = &.{
51961 .{ .src = .{ .mem, .none, .none } },56017 .{ .src = .{ .mem, .none, .none } },
51962 .{ .src = .{ .to_sse, .none, .none } },56018 .{ .src = .{ .to_sse, .none, .none } },
51963 },56019 },
51964 .dst_temps = .{.{ .rc = .general_purpose }},56020 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
51965 .each = .{ .once = &.{56021 .each = .{ .once = &.{
51966 .{ ._, .v_, .cvttsd2si, .dst0d, .src0q, ._, ._ },56022 .{ ._, .v_, .cvttsd2si, .dst0d, .src0q, ._, ._ },
51967 } },56023 } },
51968 }, .{56024 }, .{
51969 .required_features = .{ .sse2, null, null, null },56025 .required_features = .{ .sse2, null, null, null },
51970 .src_constraints = .{ .{ .float = .qword }, .any, .any },56026 .src_constraints = .{ .{ .float = .qword }, .any, .any },
51971 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},56027 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
51972 .patterns = &.{56028 .patterns = &.{
51973 .{ .src = .{ .mem, .none, .none } },56029 .{ .src = .{ .mem, .none, .none } },
51974 .{ .src = .{ .to_sse, .none, .none } },56030 .{ .src = .{ .to_sse, .none, .none } },
51975 },56031 },
51976 .dst_temps = .{.{ .rc = .general_purpose }},56032 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
51977 .each = .{ .once = &.{56033 .each = .{ .once = &.{
51978 .{ ._, ._, .cvttsd2si, .dst0d, .src0q, ._, ._ },56034 .{ ._, ._, .cvttsd2si, .dst0d, .src0q, ._, ._ },
51979 } },56035 } },
51980 }, .{56036 }, .{
51981 .required_features = .{ .x87, null, null, null },56037 .required_features = .{ .x87, null, null, null },
51982 .src_constraints = .{ .{ .float = .qword }, .any, .any },56038 .src_constraints = .{ .{ .float = .qword }, .any, .any },
51983 .dst_constraints = .{.{ .signed_int = .byte }},56039 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
51984 .patterns = &.{56040 .patterns = &.{
51985 .{ .src = .{ .to_mem, .none, .none } },56041 .{ .src = .{ .to_mem, .none, .none } },
51986 },56042 },
...@@ -51995,7 +56051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -51995,7 +56051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51995 .unused,56051 .unused,
51996 .unused,56052 .unused,
51997 },56053 },
51998 .dst_temps = .{.{ .rc = .general_purpose }},56054 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
51999 .each = .{ .once = &.{56055 .each = .{ .once = &.{
52000 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },56056 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
52001 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },56057 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
...@@ -52004,7 +56060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52004,7 +56060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52004 }, .{56060 }, .{
52005 .required_features = .{ .x87, null, null, null },56061 .required_features = .{ .x87, null, null, null },
52006 .src_constraints = .{ .{ .float = .qword }, .any, .any },56062 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52007 .dst_constraints = .{.{ .unsigned_int = .byte }},56063 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
52008 .patterns = &.{56064 .patterns = &.{
52009 .{ .src = .{ .to_mem, .none, .none } },56065 .{ .src = .{ .to_mem, .none, .none } },
52010 },56066 },
...@@ -52019,7 +56075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52019,7 +56075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52019 .unused,56075 .unused,
52020 .unused,56076 .unused,
52021 },56077 },
52022 .dst_temps = .{.{ .rc = .general_purpose }},56078 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52023 .each = .{ .once = &.{56079 .each = .{ .once = &.{
52024 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },56080 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
52025 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },56081 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
...@@ -52028,7 +56084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52028,7 +56084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52028 }, .{56084 }, .{
52029 .required_features = .{ .x87, null, null, null },56085 .required_features = .{ .x87, null, null, null },
52030 .src_constraints = .{ .{ .float = .qword }, .any, .any },56086 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52031 .dst_constraints = .{.{ .signed_or_exclusive_int = .word }},56087 .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any },
52032 .patterns = &.{56088 .patterns = &.{
52033 .{ .src = .{ .to_mem, .none, .none } },56089 .{ .src = .{ .to_mem, .none, .none } },
52034 },56090 },
...@@ -52043,7 +56099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52043,7 +56099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52043 .unused,56099 .unused,
52044 .unused,56100 .unused,
52045 },56101 },
52046 .dst_temps = .{.mem},56102 .dst_temps = .{ .mem, .unused },
52047 .each = .{ .once = &.{56103 .each = .{ .once = &.{
52048 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },56104 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
52049 .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },56105 .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },
...@@ -52051,7 +56107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52051,7 +56107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52051 }, .{56107 }, .{
52052 .required_features = .{ .x87, null, null, null },56108 .required_features = .{ .x87, null, null, null },
52053 .src_constraints = .{ .{ .float = .qword }, .any, .any },56109 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52054 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},56110 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
52055 .patterns = &.{56111 .patterns = &.{
52056 .{ .src = .{ .to_mem, .none, .none } },56112 .{ .src = .{ .to_mem, .none, .none } },
52057 },56113 },
...@@ -52066,7 +56122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52066,7 +56122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52066 .unused,56122 .unused,
52067 .unused,56123 .unused,
52068 },56124 },
52069 .dst_temps = .{.mem},56125 .dst_temps = .{ .mem, .unused },
52070 .each = .{ .once = &.{56126 .each = .{ .once = &.{
52071 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },56127 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
52072 .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },56128 .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },
...@@ -52074,31 +56130,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52074,31 +56130,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52074 }, .{56130 }, .{
52075 .required_features = .{ .@"64bit", .avx, null, null },56131 .required_features = .{ .@"64bit", .avx, null, null },
52076 .src_constraints = .{ .{ .float = .qword }, .any, .any },56132 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52077 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},56133 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
52078 .patterns = &.{56134 .patterns = &.{
52079 .{ .src = .{ .mem, .none, .none } },56135 .{ .src = .{ .mem, .none, .none } },
52080 .{ .src = .{ .to_sse, .none, .none } },56136 .{ .src = .{ .to_sse, .none, .none } },
52081 },56137 },
52082 .dst_temps = .{.{ .rc = .general_purpose }},56138 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52083 .each = .{ .once = &.{56139 .each = .{ .once = &.{
52084 .{ ._, .v_, .cvttsd2si, .dst0q, .src0q, ._, ._ },56140 .{ ._, .v_, .cvttsd2si, .dst0q, .src0q, ._, ._ },
52085 } },56141 } },
52086 }, .{56142 }, .{
52087 .required_features = .{ .@"64bit", .sse2, null, null },56143 .required_features = .{ .@"64bit", .sse2, null, null },
52088 .src_constraints = .{ .{ .float = .qword }, .any, .any },56144 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52089 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},56145 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
52090 .patterns = &.{56146 .patterns = &.{
52091 .{ .src = .{ .mem, .none, .none } },56147 .{ .src = .{ .mem, .none, .none } },
52092 .{ .src = .{ .to_sse, .none, .none } },56148 .{ .src = .{ .to_sse, .none, .none } },
52093 },56149 },
52094 .dst_temps = .{.{ .rc = .general_purpose }},56150 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52095 .each = .{ .once = &.{56151 .each = .{ .once = &.{
52096 .{ ._, ._, .cvttsd2si, .dst0q, .src0q, ._, ._ },56152 .{ ._, ._, .cvttsd2si, .dst0q, .src0q, ._, ._ },
52097 } },56153 } },
52098 }, .{56154 }, .{
52099 .required_features = .{ .x87, null, null, null },56155 .required_features = .{ .x87, null, null, null },
52100 .src_constraints = .{ .{ .float = .qword }, .any, .any },56156 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52101 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},56157 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
52102 .patterns = &.{56158 .patterns = &.{
52103 .{ .src = .{ .to_mem, .none, .none } },56159 .{ .src = .{ .to_mem, .none, .none } },
52104 },56160 },
...@@ -52113,7 +56169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52113,7 +56169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52113 .unused,56169 .unused,
52114 .unused,56170 .unused,
52115 },56171 },
52116 .dst_temps = .{.mem},56172 .dst_temps = .{ .mem, .unused },
52117 .each = .{ .once = &.{56173 .each = .{ .once = &.{
52118 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },56174 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
52119 .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },56175 .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },
...@@ -52121,7 +56177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52121,7 +56177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52121 }, .{56177 }, .{
52122 .required_features = .{ .@"64bit", .avx, null, null },56178 .required_features = .{ .@"64bit", .avx, null, null },
52123 .src_constraints = .{ .{ .float = .qword }, .any, .any },56179 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52124 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},56180 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
52125 .patterns = &.{56181 .patterns = &.{
52126 .{ .src = .{ .to_sse, .none, .none } },56182 .{ .src = .{ .to_sse, .none, .none } },
52127 },56183 },
...@@ -52136,7 +56192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52136,7 +56192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52136 .unused,56192 .unused,
52137 .unused,56193 .unused,
52138 },56194 },
52139 .dst_temps = .{.{ .rc = .general_purpose }},56195 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52140 .clobbers = .{ .eflags = true },56196 .clobbers = .{ .eflags = true },
52141 .each = .{ .once = &.{56197 .each = .{ .once = &.{
52142 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },56198 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
...@@ -52151,7 +56207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52151,7 +56207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52151 }, .{56207 }, .{
52152 .required_features = .{ .@"64bit", .sse2, null, null },56208 .required_features = .{ .@"64bit", .sse2, null, null },
52153 .src_constraints = .{ .{ .float = .qword }, .any, .any },56209 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52154 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},56210 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
52155 .patterns = &.{56211 .patterns = &.{
52156 .{ .src = .{ .to_mut_sse, .none, .none } },56212 .{ .src = .{ .to_mut_sse, .none, .none } },
52157 },56213 },
...@@ -52166,7 +56222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52166,7 +56222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52166 .unused,56222 .unused,
52167 .unused,56223 .unused,
52168 },56224 },
52169 .dst_temps = .{.{ .rc = .general_purpose }},56225 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52170 .clobbers = .{ .eflags = true },56226 .clobbers = .{ .eflags = true },
52171 .each = .{ .once = &.{56227 .each = .{ .once = &.{
52172 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },56228 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
...@@ -52181,7 +56237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52181,7 +56237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52181 }, .{56237 }, .{
52182 .required_features = .{ .@"64bit", .x87, null, null },56238 .required_features = .{ .@"64bit", .x87, null, null },
52183 .src_constraints = .{ .{ .float = .qword }, .any, .any },56239 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52184 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},56240 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
52185 .patterns = &.{56241 .patterns = &.{
52186 .{ .src = .{ .to_mem, .none, .none } },56242 .{ .src = .{ .to_mem, .none, .none } },
52187 },56243 },
...@@ -52196,7 +56252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52196,7 +56252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52196 .unused,56252 .unused,
52197 .unused,56253 .unused,
52198 },56254 },
52199 .dst_temps = .{.{ .rc = .general_purpose }},56255 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52200 .clobbers = .{ .eflags = true },56256 .clobbers = .{ .eflags = true },
52201 .each = .{ .once = &.{56257 .each = .{ .once = &.{
52202 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },56258 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
...@@ -52214,7 +56270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52214,7 +56270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52214 }, .{56270 }, .{
52215 .required_features = .{ .@"64bit", .sse, null, null },56271 .required_features = .{ .@"64bit", .sse, null, null },
52216 .src_constraints = .{ .{ .float = .qword }, .any, .any },56272 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52217 .dst_constraints = .{.{ .signed_int = .xword }},56273 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
52218 .patterns = &.{56274 .patterns = &.{
52219 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },56275 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
52220 },56276 },
...@@ -52230,7 +56286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52230,7 +56286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52230 .unused,56286 .unused,
52231 .unused,56287 .unused,
52232 },56288 },
52233 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},56289 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
52234 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56290 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52235 .each = .{ .once = &.{56291 .each = .{ .once = &.{
52236 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },56292 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -52238,7 +56294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52238,7 +56294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52238 }, .{56294 }, .{
52239 .required_features = .{ .@"64bit", .sse, null, null },56295 .required_features = .{ .@"64bit", .sse, null, null },
52240 .src_constraints = .{ .{ .float = .qword }, .any, .any },56296 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52241 .dst_constraints = .{.{ .unsigned_int = .xword }},56297 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
52242 .patterns = &.{56298 .patterns = &.{
52243 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },56299 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
52244 },56300 },
...@@ -52254,7 +56310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52254,7 +56310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52254 .unused,56310 .unused,
52255 .unused,56311 .unused,
52256 },56312 },
52257 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},56313 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
52258 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56314 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52259 .each = .{ .once = &.{56315 .each = .{ .once = &.{
52260 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },56316 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -52262,7 +56318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52262,7 +56318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52262 }, .{56318 }, .{
52263 .required_features = .{ .@"64bit", .sse, null, null },56319 .required_features = .{ .@"64bit", .sse, null, null },
52264 .src_constraints = .{ .{ .float = .qword }, .any, .any },56320 .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 },
52266 .patterns = &.{56322 .patterns = &.{
52267 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },56323 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
52268 },56324 },
...@@ -52278,7 +56334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52278,7 +56334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52278 .unused,56334 .unused,
52279 .unused,56335 .unused,
52280 },56336 },
52281 .dst_temps = .{.mem},56337 .dst_temps = .{ .mem, .unused },
52282 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52283 .each = .{ .once = &.{56339 .each = .{ .once = &.{
52284 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },56340 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -52288,7 +56344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52288,7 +56344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52288 }, .{56344 }, .{
52289 .required_features = .{ .@"64bit", .sse, null, null },56345 .required_features = .{ .@"64bit", .sse, null, null },
52290 .src_constraints = .{ .{ .float = .qword }, .any, .any },56346 .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 },
52292 .patterns = &.{56348 .patterns = &.{
52293 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },56349 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
52294 },56350 },
...@@ -52304,7 +56360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52304,7 +56360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52304 .unused,56360 .unused,
52305 .unused,56361 .unused,
52306 },56362 },
52307 .dst_temps = .{.mem},56363 .dst_temps = .{ .mem, .unused },
52308 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52309 .each = .{ .once = &.{56365 .each = .{ .once = &.{
52310 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },56366 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -52314,7 +56370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52314,7 +56370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52314 }, .{56370 }, .{
52315 .required_features = .{ .avx, null, null, null },56371 .required_features = .{ .avx, null, null, null },
52316 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56372 .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 },
52318 .patterns = &.{56374 .patterns = &.{
52319 .{ .src = .{ .mem, .none, .none } },56375 .{ .src = .{ .mem, .none, .none } },
52320 .{ .src = .{ .to_sse, .none, .none } },56376 .{ .src = .{ .to_sse, .none, .none } },
...@@ -52330,7 +56386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52330,7 +56386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52330 .unused,56386 .unused,
52331 .unused,56387 .unused,
52332 },56388 },
52333 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56389 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52334 .each = .{ .once = &.{56390 .each = .{ .once = &.{
52335 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },56391 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
52336 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },56392 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
...@@ -52339,7 +56395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52339,7 +56395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52339 }, .{56395 }, .{
52340 .required_features = .{ .ssse3, null, null, null },56396 .required_features = .{ .ssse3, null, null, null },
52341 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56397 .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 },
52343 .patterns = &.{56399 .patterns = &.{
52344 .{ .src = .{ .mem, .none, .none } },56400 .{ .src = .{ .mem, .none, .none } },
52345 .{ .src = .{ .to_sse, .none, .none } },56401 .{ .src = .{ .to_sse, .none, .none } },
...@@ -52355,7 +56411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52355,7 +56411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52355 .unused,56411 .unused,
52356 .unused,56412 .unused,
52357 },56413 },
52358 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56414 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52359 .each = .{ .once = &.{56415 .each = .{ .once = &.{
52360 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },56416 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
52361 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },56417 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
...@@ -52364,7 +56420,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52364,7 +56420,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52364 }, .{56420 }, .{
52365 .required_features = .{ .avx, null, null, null },56421 .required_features = .{ .avx, null, null, null },
52366 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },56422 .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 },
52368 .patterns = &.{56424 .patterns = &.{
52369 .{ .src = .{ .mem, .none, .none } },56425 .{ .src = .{ .mem, .none, .none } },
52370 .{ .src = .{ .to_sse, .none, .none } },56426 .{ .src = .{ .to_sse, .none, .none } },
...@@ -52380,7 +56436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52380,7 +56436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52380 .unused,56436 .unused,
52381 .unused,56437 .unused,
52382 },56438 },
52383 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56439 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52384 .each = .{ .once = &.{56440 .each = .{ .once = &.{
52385 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },56441 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
52386 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },56442 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
...@@ -52389,7 +56445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52389,7 +56445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52389 }, .{56445 }, .{
52390 .required_features = .{ .avx, null, null, null },56446 .required_features = .{ .avx, null, null, null },
52391 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },56447 .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 },
52393 .patterns = &.{56449 .patterns = &.{
52394 .{ .src = .{ .to_mem, .none, .none } },56450 .{ .src = .{ .to_mem, .none, .none } },
52395 },56451 },
...@@ -52404,7 +56460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52404,7 +56460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52404 .unused,56460 .unused,
52405 .unused,56461 .unused,
52406 },56462 },
52407 .dst_temps = .{.mem},56463 .dst_temps = .{ .mem, .unused },
52408 .clobbers = .{ .eflags = true },56464 .clobbers = .{ .eflags = true },
52409 .each = .{ .once = &.{56465 .each = .{ .once = &.{
52410 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },56466 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -52419,7 +56475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52419,7 +56475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52419 }, .{56475 }, .{
52420 .required_features = .{ .ssse3, null, null, null },56476 .required_features = .{ .ssse3, null, null, null },
52421 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56477 .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 },
52423 .patterns = &.{56479 .patterns = &.{
52424 .{ .src = .{ .to_mem, .none, .none } },56480 .{ .src = .{ .to_mem, .none, .none } },
52425 },56481 },
...@@ -52434,7 +56490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52434,7 +56490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52434 .unused,56490 .unused,
52435 .unused,56491 .unused,
52436 },56492 },
52437 .dst_temps = .{.mem},56493 .dst_temps = .{ .mem, .unused },
52438 .clobbers = .{ .eflags = true },56494 .clobbers = .{ .eflags = true },
52439 .each = .{ .once = &.{56495 .each = .{ .once = &.{
52440 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },56496 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
...@@ -52449,7 +56505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52449,7 +56505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52449 }, .{56505 }, .{
52450 .required_features = .{ .sse2, .slow_incdec, null, null },56506 .required_features = .{ .sse2, .slow_incdec, null, null },
52451 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56507 .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 },
52453 .patterns = &.{56509 .patterns = &.{
52454 .{ .src = .{ .to_mem, .none, .none } },56510 .{ .src = .{ .to_mem, .none, .none } },
52455 },56511 },
...@@ -52464,7 +56520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52464,7 +56520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52464 .unused,56520 .unused,
52465 .unused,56521 .unused,
52466 },56522 },
52467 .dst_temps = .{.mem},56523 .dst_temps = .{ .mem, .unused },
52468 .clobbers = .{ .eflags = true },56524 .clobbers = .{ .eflags = true },
52469 .each = .{ .once = &.{56525 .each = .{ .once = &.{
52470 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56526 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52476,7 +56532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52476,7 +56532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52476 }, .{56532 }, .{
52477 .required_features = .{ .sse2, null, null, null },56533 .required_features = .{ .sse2, null, null, null },
52478 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56534 .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 },
52480 .patterns = &.{56536 .patterns = &.{
52481 .{ .src = .{ .to_mem, .none, .none } },56537 .{ .src = .{ .to_mem, .none, .none } },
52482 },56538 },
...@@ -52491,7 +56547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52491,7 +56547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52491 .unused,56547 .unused,
52492 .unused,56548 .unused,
52493 },56549 },
52494 .dst_temps = .{.mem},56550 .dst_temps = .{ .mem, .unused },
52495 .clobbers = .{ .eflags = true },56551 .clobbers = .{ .eflags = true },
52496 .each = .{ .once = &.{56552 .each = .{ .once = &.{
52497 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56553 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52503,7 +56559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52503,7 +56559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52503 }, .{56559 }, .{
52504 .required_features = .{ .x87, .slow_incdec, null, null },56560 .required_features = .{ .x87, .slow_incdec, null, null },
52505 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56561 .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 },
52507 .patterns = &.{56563 .patterns = &.{
52508 .{ .src = .{ .to_mem, .none, .none } },56564 .{ .src = .{ .to_mem, .none, .none } },
52509 },56565 },
...@@ -52518,7 +56574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52518,7 +56574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52518 .unused,56574 .unused,
52519 .unused,56575 .unused,
52520 },56576 },
52521 .dst_temps = .{.mem},56577 .dst_temps = .{ .mem, .unused },
52522 .each = .{ .once = &.{56578 .each = .{ .once = &.{
52523 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56579 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
52524 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },56580 .{ .@"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 {...@@ -52531,7 +56587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52531 }, .{56587 }, .{
52532 .required_features = .{ .x87, null, null, null },56588 .required_features = .{ .x87, null, null, null },
52533 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56589 .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 },
52535 .patterns = &.{56591 .patterns = &.{
52536 .{ .src = .{ .to_mem, .none, .none } },56592 .{ .src = .{ .to_mem, .none, .none } },
52537 },56593 },
...@@ -52546,7 +56602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52546,7 +56602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52546 .unused,56602 .unused,
52547 .unused,56603 .unused,
52548 },56604 },
52549 .dst_temps = .{.mem},56605 .dst_temps = .{ .mem, .unused },
52550 .each = .{ .once = &.{56606 .each = .{ .once = &.{
52551 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56607 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
52552 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },56608 .{ .@"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 {...@@ -52559,7 +56615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52559 }, .{56615 }, .{
52560 .required_features = .{ .avx, .slow_incdec, null, null },56616 .required_features = .{ .avx, .slow_incdec, null, null },
52561 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56617 .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 },
52563 .patterns = &.{56619 .patterns = &.{
52564 .{ .src = .{ .to_mem, .none, .none } },56620 .{ .src = .{ .to_mem, .none, .none } },
52565 },56621 },
...@@ -52575,7 +56631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52575,7 +56631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52575 .unused,56631 .unused,
52576 .unused,56632 .unused,
52577 },56633 },
52578 .dst_temps = .{.mem},56634 .dst_temps = .{ .mem, .unused },
52579 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56635 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52580 .each = .{ .once = &.{56636 .each = .{ .once = &.{
52581 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56637 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52588,7 +56644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52588,7 +56644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52588 }, .{56644 }, .{
52589 .required_features = .{ .avx, null, null, null },56645 .required_features = .{ .avx, null, null, null },
52590 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56646 .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 },
52592 .patterns = &.{56648 .patterns = &.{
52593 .{ .src = .{ .to_mem, .none, .none } },56649 .{ .src = .{ .to_mem, .none, .none } },
52594 },56650 },
...@@ -52604,7 +56660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52604,7 +56660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52604 .unused,56660 .unused,
52605 .unused,56661 .unused,
52606 },56662 },
52607 .dst_temps = .{.mem},56663 .dst_temps = .{ .mem, .unused },
52608 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56664 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52609 .each = .{ .once = &.{56665 .each = .{ .once = &.{
52610 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56666 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52617,7 +56673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52617,7 +56673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52617 }, .{56673 }, .{
52618 .required_features = .{ .sse2, .slow_incdec, null, null },56674 .required_features = .{ .sse2, .slow_incdec, null, null },
52619 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56675 .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 },
52621 .patterns = &.{56677 .patterns = &.{
52622 .{ .src = .{ .to_mem, .none, .none } },56678 .{ .src = .{ .to_mem, .none, .none } },
52623 },56679 },
...@@ -52633,7 +56689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52633,7 +56689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52633 .unused,56689 .unused,
52634 .unused,56690 .unused,
52635 },56691 },
52636 .dst_temps = .{.mem},56692 .dst_temps = .{ .mem, .unused },
52637 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56693 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52638 .each = .{ .once = &.{56694 .each = .{ .once = &.{
52639 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56695 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52646,7 +56702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52646,7 +56702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52646 }, .{56702 }, .{
52647 .required_features = .{ .sse2, null, null, null },56703 .required_features = .{ .sse2, null, null, null },
52648 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56704 .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 },
52650 .patterns = &.{56706 .patterns = &.{
52651 .{ .src = .{ .to_mem, .none, .none } },56707 .{ .src = .{ .to_mem, .none, .none } },
52652 },56708 },
...@@ -52662,7 +56718,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52662,7 +56718,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52662 .unused,56718 .unused,
52663 .unused,56719 .unused,
52664 },56720 },
52665 .dst_temps = .{.mem},56721 .dst_temps = .{ .mem, .unused },
52666 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56722 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52667 .each = .{ .once = &.{56723 .each = .{ .once = &.{
52668 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56724 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52675,7 +56731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52675,7 +56731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52675 }, .{56731 }, .{
52676 .required_features = .{ .sse, .slow_incdec, null, null },56732 .required_features = .{ .sse, .slow_incdec, null, null },
52677 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56733 .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 },
52679 .patterns = &.{56735 .patterns = &.{
52680 .{ .src = .{ .to_mem, .none, .none } },56736 .{ .src = .{ .to_mem, .none, .none } },
52681 },56737 },
...@@ -52691,7 +56747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52691,7 +56747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52691 .unused,56747 .unused,
52692 .unused,56748 .unused,
52693 },56749 },
52694 .dst_temps = .{.mem},56750 .dst_temps = .{ .mem, .unused },
52695 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56751 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52696 .each = .{ .once = &.{56752 .each = .{ .once = &.{
52697 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56753 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52705,7 +56761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52705,7 +56761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52705 }, .{56761 }, .{
52706 .required_features = .{ .sse, null, null, null },56762 .required_features = .{ .sse, null, null, null },
52707 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56763 .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 },
52709 .patterns = &.{56765 .patterns = &.{
52710 .{ .src = .{ .to_mem, .none, .none } },56766 .{ .src = .{ .to_mem, .none, .none } },
52711 },56767 },
...@@ -52721,7 +56777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52721,7 +56777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52721 .unused,56777 .unused,
52722 .unused,56778 .unused,
52723 },56779 },
52724 .dst_temps = .{.mem},56780 .dst_temps = .{ .mem, .unused },
52725 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },56781 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52726 .each = .{ .once = &.{56782 .each = .{ .once = &.{
52727 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56783 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52735,12 +56791,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52735,12 +56791,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52735 }, .{56791 }, .{
52736 .required_features = .{ .avx, null, null, null },56792 .required_features = .{ .avx, null, null, null },
52737 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56793 .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 },
52739 .patterns = &.{56795 .patterns = &.{
52740 .{ .src = .{ .mem, .none, .none } },56796 .{ .src = .{ .mem, .none, .none } },
52741 .{ .src = .{ .to_sse, .none, .none } },56797 .{ .src = .{ .to_sse, .none, .none } },
52742 },56798 },
52743 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56799 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52744 .each = .{ .once = &.{56800 .each = .{ .once = &.{
52745 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },56801 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
52746 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },56802 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },
...@@ -52748,12 +56804,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52748,12 +56804,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52748 }, .{56804 }, .{
52749 .required_features = .{ .sse2, null, null, null },56805 .required_features = .{ .sse2, null, null, null },
52750 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56806 .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 },
52752 .patterns = &.{56808 .patterns = &.{
52753 .{ .src = .{ .mem, .none, .none } },56809 .{ .src = .{ .mem, .none, .none } },
52754 .{ .src = .{ .to_sse, .none, .none } },56810 .{ .src = .{ .to_sse, .none, .none } },
52755 },56811 },
52756 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56812 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52757 .each = .{ .once = &.{56813 .each = .{ .once = &.{
52758 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },56814 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
52759 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },56815 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
...@@ -52761,12 +56817,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52761,12 +56817,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52761 }, .{56817 }, .{
52762 .required_features = .{ .avx, null, null, null },56818 .required_features = .{ .avx, null, null, null },
52763 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },56819 .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 },
52765 .patterns = &.{56821 .patterns = &.{
52766 .{ .src = .{ .mem, .none, .none } },56822 .{ .src = .{ .mem, .none, .none } },
52767 .{ .src = .{ .to_sse, .none, .none } },56823 .{ .src = .{ .to_sse, .none, .none } },
52768 },56824 },
52769 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56825 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52770 .each = .{ .once = &.{56826 .each = .{ .once = &.{
52771 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },56827 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
52772 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },56828 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },
...@@ -52774,12 +56830,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52774,12 +56830,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52774 }, .{56830 }, .{
52775 .required_features = .{ .avx, null, null, null },56831 .required_features = .{ .avx, null, null, null },
52776 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56832 .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 },
52778 .patterns = &.{56834 .patterns = &.{
52779 .{ .src = .{ .mem, .none, .none } },56835 .{ .src = .{ .mem, .none, .none } },
52780 .{ .src = .{ .to_sse, .none, .none } },56836 .{ .src = .{ .to_sse, .none, .none } },
52781 },56837 },
52782 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56838 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52783 .each = .{ .once = &.{56839 .each = .{ .once = &.{
52784 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },56840 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
52785 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },56841 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },
...@@ -52787,12 +56843,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52787,12 +56843,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52787 }, .{56843 }, .{
52788 .required_features = .{ .sse4_1, null, null, null },56844 .required_features = .{ .sse4_1, null, null, null },
52789 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56845 .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 },
52791 .patterns = &.{56847 .patterns = &.{
52792 .{ .src = .{ .mem, .none, .none } },56848 .{ .src = .{ .mem, .none, .none } },
52793 .{ .src = .{ .to_sse, .none, .none } },56849 .{ .src = .{ .to_sse, .none, .none } },
52794 },56850 },
52795 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56851 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52796 .each = .{ .once = &.{56852 .each = .{ .once = &.{
52797 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },56853 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
52798 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },56854 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
...@@ -52800,12 +56856,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52800,12 +56856,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52800 }, .{56856 }, .{
52801 .required_features = .{ .avx, null, null, null },56857 .required_features = .{ .avx, null, null, null },
52802 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },56858 .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 },
52804 .patterns = &.{56860 .patterns = &.{
52805 .{ .src = .{ .mem, .none, .none } },56861 .{ .src = .{ .mem, .none, .none } },
52806 .{ .src = .{ .to_sse, .none, .none } },56862 .{ .src = .{ .to_sse, .none, .none } },
52807 },56863 },
52808 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},56864 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52809 .each = .{ .once = &.{56865 .each = .{ .once = &.{
52810 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },56866 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
52811 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },56867 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },
...@@ -52813,7 +56869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52813,7 +56869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52813 }, .{56869 }, .{
52814 .required_features = .{ .avx, null, null, null },56870 .required_features = .{ .avx, null, null, null },
52815 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },56871 .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 },
52817 .patterns = &.{56873 .patterns = &.{
52818 .{ .src = .{ .to_mem, .none, .none } },56874 .{ .src = .{ .to_mem, .none, .none } },
52819 },56875 },
...@@ -52828,7 +56884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52828,7 +56884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52828 .unused,56884 .unused,
52829 .unused,56885 .unused,
52830 },56886 },
52831 .dst_temps = .{.mem},56887 .dst_temps = .{ .mem, .unused },
52832 .clobbers = .{ .eflags = true },56888 .clobbers = .{ .eflags = true },
52833 .each = .{ .once = &.{56889 .each = .{ .once = &.{
52834 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56890 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52841,7 +56897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52841,7 +56897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52841 }, .{56897 }, .{
52842 .required_features = .{ .sse2, null, null, null },56898 .required_features = .{ .sse2, null, null, null },
52843 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56899 .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 },
52845 .patterns = &.{56901 .patterns = &.{
52846 .{ .src = .{ .to_mem, .none, .none } },56902 .{ .src = .{ .to_mem, .none, .none } },
52847 },56903 },
...@@ -52856,7 +56912,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52856,7 +56912,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52856 .unused,56912 .unused,
52857 .unused,56913 .unused,
52858 },56914 },
52859 .dst_temps = .{.mem},56915 .dst_temps = .{ .mem, .unused },
52860 .clobbers = .{ .eflags = true },56916 .clobbers = .{ .eflags = true },
52861 .each = .{ .once = &.{56917 .each = .{ .once = &.{
52862 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56918 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52869,7 +56925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52869,7 +56925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52869 }, .{56925 }, .{
52870 .required_features = .{ .avx, null, null, null },56926 .required_features = .{ .avx, null, null, null },
52871 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },56927 .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 },
52873 .patterns = &.{56929 .patterns = &.{
52874 .{ .src = .{ .to_mem, .none, .none } },56930 .{ .src = .{ .to_mem, .none, .none } },
52875 },56931 },
...@@ -52884,7 +56940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52884,7 +56940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52884 .unused,56940 .unused,
52885 .unused,56941 .unused,
52886 },56942 },
52887 .dst_temps = .{.mem},56943 .dst_temps = .{ .mem, .unused },
52888 .clobbers = .{ .eflags = true },56944 .clobbers = .{ .eflags = true },
52889 .each = .{ .once = &.{56945 .each = .{ .once = &.{
52890 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56946 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52897,7 +56953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52897,7 +56953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52897 }, .{56953 }, .{
52898 .required_features = .{ .sse4_1, null, null, null },56954 .required_features = .{ .sse4_1, null, null, null },
52899 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },56955 .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 },
52901 .patterns = &.{56957 .patterns = &.{
52902 .{ .src = .{ .to_mem, .none, .none } },56958 .{ .src = .{ .to_mem, .none, .none } },
52903 },56959 },
...@@ -52912,7 +56968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52912,7 +56968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52912 .unused,56968 .unused,
52913 .unused,56969 .unused,
52914 },56970 },
52915 .dst_temps = .{.mem},56971 .dst_temps = .{ .mem, .unused },
52916 .clobbers = .{ .eflags = true },56972 .clobbers = .{ .eflags = true },
52917 .each = .{ .once = &.{56973 .each = .{ .once = &.{
52918 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },56974 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52925,7 +56981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52925,7 +56981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52925 }, .{56981 }, .{
52926 .required_features = .{ .sse2, null, null, null },56982 .required_features = .{ .sse2, null, null, null },
52927 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },56983 .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 },
52929 .patterns = &.{56985 .patterns = &.{
52930 .{ .src = .{ .to_mem, .none, .none } },56986 .{ .src = .{ .to_mem, .none, .none } },
52931 },56987 },
...@@ -52940,7 +56996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52940,7 +56996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52940 .unused,56996 .unused,
52941 .unused,56997 .unused,
52942 },56998 },
52943 .dst_temps = .{.mem},56999 .dst_temps = .{ .mem, .unused },
52944 .clobbers = .{ .eflags = true },57000 .clobbers = .{ .eflags = true },
52945 .each = .{ .once = &.{57001 .each = .{ .once = &.{
52946 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57002 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -52952,7 +57008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52952,7 +57008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52952 }, .{57008 }, .{
52953 .required_features = .{ .x87, null, null, null },57009 .required_features = .{ .x87, null, null, null },
52954 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57010 .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 },
52956 .patterns = &.{57012 .patterns = &.{
52957 .{ .src = .{ .to_mem, .none, .none } },57013 .{ .src = .{ .to_mem, .none, .none } },
52958 },57014 },
...@@ -52967,7 +57023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52967,7 +57023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52967 .unused,57023 .unused,
52968 .unused,57024 .unused,
52969 },57025 },
52970 .dst_temps = .{.mem},57026 .dst_temps = .{ .mem, .unused },
52971 .each = .{ .once = &.{57027 .each = .{ .once = &.{
52972 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57028 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
52973 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },57029 .{ .@"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 {...@@ -52978,7 +57034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52978 }, .{57034 }, .{
52979 .required_features = .{ .x87, null, null, null },57035 .required_features = .{ .x87, null, null, null },
52980 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57036 .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 },
52982 .patterns = &.{57038 .patterns = &.{
52983 .{ .src = .{ .to_mem, .none, .none } },57039 .{ .src = .{ .to_mem, .none, .none } },
52984 },57040 },
...@@ -52993,7 +57049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -52993,7 +57049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52993 .unused,57049 .unused,
52994 .unused,57050 .unused,
52995 },57051 },
52996 .dst_temps = .{.mem},57052 .dst_temps = .{ .mem, .unused },
52997 .each = .{ .once = &.{57053 .each = .{ .once = &.{
52998 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57054 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
52999 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },57055 .{ .@"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 {...@@ -53006,7 +57062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53006 }, .{57062 }, .{
53007 .required_features = .{ .avx, null, null, null },57063 .required_features = .{ .avx, null, null, null },
53008 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57064 .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 },
53010 .patterns = &.{57066 .patterns = &.{
53011 .{ .src = .{ .to_mem, .none, .none } },57067 .{ .src = .{ .to_mem, .none, .none } },
53012 },57068 },
...@@ -53022,7 +57078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53022,7 +57078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53022 .unused,57078 .unused,
53023 .unused,57079 .unused,
53024 },57080 },
53025 .dst_temps = .{.mem},57081 .dst_temps = .{ .mem, .unused },
53026 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57082 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53027 .each = .{ .once = &.{57083 .each = .{ .once = &.{
53028 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57084 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53035,7 +57091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53035,7 +57091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53035 }, .{57091 }, .{
53036 .required_features = .{ .sse2, null, null, null },57092 .required_features = .{ .sse2, null, null, null },
53037 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57093 .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 },
53039 .patterns = &.{57095 .patterns = &.{
53040 .{ .src = .{ .to_mem, .none, .none } },57096 .{ .src = .{ .to_mem, .none, .none } },
53041 },57097 },
...@@ -53051,7 +57107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53051,7 +57107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53051 .unused,57107 .unused,
53052 .unused,57108 .unused,
53053 },57109 },
53054 .dst_temps = .{.mem},57110 .dst_temps = .{ .mem, .unused },
53055 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57111 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53056 .each = .{ .once = &.{57112 .each = .{ .once = &.{
53057 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57113 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53064,7 +57120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53064,7 +57120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53064 }, .{57120 }, .{
53065 .required_features = .{ .sse, null, null, null },57121 .required_features = .{ .sse, null, null, null },
53066 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57122 .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 },
53068 .patterns = &.{57124 .patterns = &.{
53069 .{ .src = .{ .to_mem, .none, .none } },57125 .{ .src = .{ .to_mem, .none, .none } },
53070 },57126 },
...@@ -53080,7 +57136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53080,7 +57136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53080 .unused,57136 .unused,
53081 .unused,57137 .unused,
53082 },57138 },
53083 .dst_temps = .{.mem},57139 .dst_temps = .{ .mem, .unused },
53084 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57140 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53085 .each = .{ .once = &.{57141 .each = .{ .once = &.{
53086 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57142 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53094,43 +57150,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53094,43 +57150,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53094 }, .{57150 }, .{
53095 .required_features = .{ .avx, null, null, null },57151 .required_features = .{ .avx, null, null, null },
53096 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },57152 .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 },
53098 .patterns = &.{57154 .patterns = &.{
53099 .{ .src = .{ .mem, .none, .none } },57155 .{ .src = .{ .mem, .none, .none } },
53100 .{ .src = .{ .to_sse, .none, .none } },57156 .{ .src = .{ .to_sse, .none, .none } },
53101 },57157 },
53102 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},57158 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
53103 .each = .{ .once = &.{57159 .each = .{ .once = &.{
53104 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },57160 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
53105 } },57161 } },
53106 }, .{57162 }, .{
53107 .required_features = .{ .sse2, null, null, null },57163 .required_features = .{ .sse2, null, null, null },
53108 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },57164 .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 },
53110 .patterns = &.{57166 .patterns = &.{
53111 .{ .src = .{ .mem, .none, .none } },57167 .{ .src = .{ .mem, .none, .none } },
53112 .{ .src = .{ .to_sse, .none, .none } },57168 .{ .src = .{ .to_sse, .none, .none } },
53113 },57169 },
53114 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},57170 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
53115 .each = .{ .once = &.{57171 .each = .{ .once = &.{
53116 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },57172 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
53117 } },57173 } },
53118 }, .{57174 }, .{
53119 .required_features = .{ .avx, null, null, null },57175 .required_features = .{ .avx, null, null, null },
53120 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },57176 .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 },
53122 .patterns = &.{57178 .patterns = &.{
53123 .{ .src = .{ .mem, .none, .none } },57179 .{ .src = .{ .mem, .none, .none } },
53124 .{ .src = .{ .to_sse, .none, .none } },57180 .{ .src = .{ .to_sse, .none, .none } },
53125 },57181 },
53126 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},57182 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
53127 .each = .{ .once = &.{57183 .each = .{ .once = &.{
53128 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },57184 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
53129 } },57185 } },
53130 }, .{57186 }, .{
53131 .required_features = .{ .avx, null, null, null },57187 .required_features = .{ .avx, null, null, null },
53132 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },57188 .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 },
53134 .patterns = &.{57190 .patterns = &.{
53135 .{ .src = .{ .to_mem, .none, .none } },57191 .{ .src = .{ .to_mem, .none, .none } },
53136 },57192 },
...@@ -53145,7 +57201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53145,7 +57201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53145 .unused,57201 .unused,
53146 .unused,57202 .unused,
53147 },57203 },
53148 .dst_temps = .{.mem},57204 .dst_temps = .{ .mem, .unused },
53149 .clobbers = .{ .eflags = true },57205 .clobbers = .{ .eflags = true },
53150 .each = .{ .once = &.{57206 .each = .{ .once = &.{
53151 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57207 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53157,7 +57213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53157,7 +57213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53157 }, .{57213 }, .{
53158 .required_features = .{ .sse2, null, null, null },57214 .required_features = .{ .sse2, null, null, null },
53159 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },57215 .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 },
53161 .patterns = &.{57217 .patterns = &.{
53162 .{ .src = .{ .to_mem, .none, .none } },57218 .{ .src = .{ .to_mem, .none, .none } },
53163 },57219 },
...@@ -53172,7 +57228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53172,7 +57228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53172 .unused,57228 .unused,
53173 .unused,57229 .unused,
53174 },57230 },
53175 .dst_temps = .{.mem},57231 .dst_temps = .{ .mem, .unused },
53176 .clobbers = .{ .eflags = true },57232 .clobbers = .{ .eflags = true },
53177 .each = .{ .once = &.{57233 .each = .{ .once = &.{
53178 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57234 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53184,7 +57240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53184,7 +57240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53184 }, .{57240 }, .{
53185 .required_features = .{ .x87, null, null, null },57241 .required_features = .{ .x87, null, null, null },
53186 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57242 .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 },
53188 .patterns = &.{57244 .patterns = &.{
53189 .{ .src = .{ .to_mem, .none, .none } },57245 .{ .src = .{ .to_mem, .none, .none } },
53190 },57246 },
...@@ -53199,7 +57255,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53199,7 +57255,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53199 .unused,57255 .unused,
53200 .unused,57256 .unused,
53201 },57257 },
53202 .dst_temps = .{.mem},57258 .dst_temps = .{ .mem, .unused },
53203 .each = .{ .once = &.{57259 .each = .{ .once = &.{
53204 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57260 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
53205 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },57261 .{ .@"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 {...@@ -53210,7 +57266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53210 }, .{57266 }, .{
53211 .required_features = .{ .x87, null, null, null },57267 .required_features = .{ .x87, null, null, null },
53212 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57268 .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 },
53214 .patterns = &.{57270 .patterns = &.{
53215 .{ .src = .{ .to_mem, .none, .none } },57271 .{ .src = .{ .to_mem, .none, .none } },
53216 },57272 },
...@@ -53225,7 +57281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53225,7 +57281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53225 .unused,57281 .unused,
53226 .unused,57282 .unused,
53227 },57283 },
53228 .dst_temps = .{.mem},57284 .dst_temps = .{ .mem, .unused },
53229 .each = .{ .once = &.{57285 .each = .{ .once = &.{
53230 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57286 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
53231 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },57287 .{ .@"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 {...@@ -53238,7 +57294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53238 }, .{57294 }, .{
53239 .required_features = .{ .avx, null, null, null },57295 .required_features = .{ .avx, null, null, null },
53240 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57296 .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 },
53242 .patterns = &.{57298 .patterns = &.{
53243 .{ .src = .{ .to_mem, .none, .none } },57299 .{ .src = .{ .to_mem, .none, .none } },
53244 },57300 },
...@@ -53254,7 +57310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53254,7 +57310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53254 .unused,57310 .unused,
53255 .unused,57311 .unused,
53256 },57312 },
53257 .dst_temps = .{.mem},57313 .dst_temps = .{ .mem, .unused },
53258 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57314 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53259 .each = .{ .once = &.{57315 .each = .{ .once = &.{
53260 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57316 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53267,7 +57323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53267,7 +57323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53267 }, .{57323 }, .{
53268 .required_features = .{ .avx, null, null, null },57324 .required_features = .{ .avx, null, null, null },
53269 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57325 .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 },
53271 .patterns = &.{57327 .patterns = &.{
53272 .{ .src = .{ .to_mem, .none, .none } },57328 .{ .src = .{ .to_mem, .none, .none } },
53273 },57329 },
...@@ -53283,7 +57339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53283,7 +57339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53283 .unused,57339 .unused,
53284 .unused,57340 .unused,
53285 },57341 },
53286 .dst_temps = .{.mem},57342 .dst_temps = .{ .mem, .unused },
53287 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57343 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53288 .each = .{ .once = &.{57344 .each = .{ .once = &.{
53289 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57345 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53296,7 +57352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53296,7 +57352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53296 }, .{57352 }, .{
53297 .required_features = .{ .sse2, null, null, null },57353 .required_features = .{ .sse2, null, null, null },
53298 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57354 .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 },
53300 .patterns = &.{57356 .patterns = &.{
53301 .{ .src = .{ .to_mem, .none, .none } },57357 .{ .src = .{ .to_mem, .none, .none } },
53302 },57358 },
...@@ -53312,7 +57368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53312,7 +57368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53312 .unused,57368 .unused,
53313 .unused,57369 .unused,
53314 },57370 },
53315 .dst_temps = .{.mem},57371 .dst_temps = .{ .mem, .unused },
53316 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57372 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53317 .each = .{ .once = &.{57373 .each = .{ .once = &.{
53318 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57374 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53325,7 +57381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53325,7 +57381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53325 }, .{57381 }, .{
53326 .required_features = .{ .sse2, null, null, null },57382 .required_features = .{ .sse2, null, null, null },
53327 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57383 .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 },
53329 .patterns = &.{57385 .patterns = &.{
53330 .{ .src = .{ .to_mem, .none, .none } },57386 .{ .src = .{ .to_mem, .none, .none } },
53331 },57387 },
...@@ -53341,7 +57397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53341,7 +57397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53341 .unused,57397 .unused,
53342 .unused,57398 .unused,
53343 },57399 },
53344 .dst_temps = .{.mem},57400 .dst_temps = .{ .mem, .unused },
53345 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57401 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53346 .each = .{ .once = &.{57402 .each = .{ .once = &.{
53347 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57403 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53354,7 +57410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53354,7 +57410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53354 }, .{57410 }, .{
53355 .required_features = .{ .sse, null, null, null },57411 .required_features = .{ .sse, null, null, null },
53356 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57412 .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 },
53358 .patterns = &.{57414 .patterns = &.{
53359 .{ .src = .{ .to_mem, .none, .none } },57415 .{ .src = .{ .to_mem, .none, .none } },
53360 },57416 },
...@@ -53370,7 +57426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53370,7 +57426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53370 .unused,57426 .unused,
53371 .unused,57427 .unused,
53372 },57428 },
53373 .dst_temps = .{.mem},57429 .dst_temps = .{ .mem, .unused },
53374 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57430 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53375 .each = .{ .once = &.{57431 .each = .{ .once = &.{
53376 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57432 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53384,7 +57440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53384,7 +57440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53384 }, .{57440 }, .{
53385 .required_features = .{ .sse, null, null, null },57441 .required_features = .{ .sse, null, null, null },
53386 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57442 .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 },
53388 .patterns = &.{57444 .patterns = &.{
53389 .{ .src = .{ .to_mem, .none, .none } },57445 .{ .src = .{ .to_mem, .none, .none } },
53390 },57446 },
...@@ -53400,7 +57456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53400,7 +57456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53400 .unused,57456 .unused,
53401 .unused,57457 .unused,
53402 },57458 },
53403 .dst_temps = .{.mem},57459 .dst_temps = .{ .mem, .unused },
53404 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53405 .each = .{ .once = &.{57461 .each = .{ .once = &.{
53406 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },57462 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -53414,7 +57470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53414,7 +57470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53414 }, .{57470 }, .{
53415 .required_features = .{ .@"64bit", .avx, null, null },57471 .required_features = .{ .@"64bit", .avx, null, null },
53416 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57472 .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 },
53418 .patterns = &.{57474 .patterns = &.{
53419 .{ .src = .{ .to_mem, .none, .none } },57475 .{ .src = .{ .to_mem, .none, .none } },
53420 },57476 },
...@@ -53429,7 +57485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53429,7 +57485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53429 .unused,57485 .unused,
53430 .unused,57486 .unused,
53431 },57487 },
53432 .dst_temps = .{.mem},57488 .dst_temps = .{ .mem, .unused },
53433 .clobbers = .{ .eflags = true },57489 .clobbers = .{ .eflags = true },
53434 .each = .{ .once = &.{57490 .each = .{ .once = &.{
53435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57491 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53441,7 +57497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53441,7 +57497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53441 }, .{57497 }, .{
53442 .required_features = .{ .@"64bit", .sse2, null, null },57498 .required_features = .{ .@"64bit", .sse2, null, null },
53443 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57499 .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 },
53445 .patterns = &.{57501 .patterns = &.{
53446 .{ .src = .{ .to_mem, .none, .none } },57502 .{ .src = .{ .to_mem, .none, .none } },
53447 },57503 },
...@@ -53456,7 +57512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53456,7 +57512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53456 .unused,57512 .unused,
53457 .unused,57513 .unused,
53458 },57514 },
53459 .dst_temps = .{.mem},57515 .dst_temps = .{ .mem, .unused },
53460 .clobbers = .{ .eflags = true },57516 .clobbers = .{ .eflags = true },
53461 .each = .{ .once = &.{57517 .each = .{ .once = &.{
53462 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57518 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53468,7 +57524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53468,7 +57524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53468 }, .{57524 }, .{
53469 .required_features = .{ .x87, null, null, null },57525 .required_features = .{ .x87, null, null, null },
53470 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57526 .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 },
53472 .patterns = &.{57528 .patterns = &.{
53473 .{ .src = .{ .to_mem, .none, .none } },57529 .{ .src = .{ .to_mem, .none, .none } },
53474 },57530 },
...@@ -53483,7 +57539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53483,7 +57539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53483 .unused,57539 .unused,
53484 .unused,57540 .unused,
53485 },57541 },
53486 .dst_temps = .{.mem},57542 .dst_temps = .{ .mem, .unused },
53487 .each = .{ .once = &.{57543 .each = .{ .once = &.{
53488 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
53489 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },57545 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
...@@ -53494,7 +57550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53494,7 +57550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53494 }, .{57550 }, .{
53495 .required_features = .{ .avx, null, null, null },57551 .required_features = .{ .avx, null, null, null },
53496 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57552 .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 },
53498 .patterns = &.{57554 .patterns = &.{
53499 .{ .src = .{ .to_mem, .none, .none } },57555 .{ .src = .{ .to_mem, .none, .none } },
53500 },57556 },
...@@ -53510,7 +57566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53510,7 +57566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53510 .unused,57566 .unused,
53511 .unused,57567 .unused,
53512 },57568 },
53513 .dst_temps = .{.mem},57569 .dst_temps = .{ .mem, .unused },
53514 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57570 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53515 .each = .{ .once = &.{57571 .each = .{ .once = &.{
53516 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57572 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53523,7 +57579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53523,7 +57579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53523 }, .{57579 }, .{
53524 .required_features = .{ .avx, null, null, null },57580 .required_features = .{ .avx, null, null, null },
53525 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57581 .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 },
53527 .patterns = &.{57583 .patterns = &.{
53528 .{ .src = .{ .to_mem, .none, .none } },57584 .{ .src = .{ .to_mem, .none, .none } },
53529 },57585 },
...@@ -53539,7 +57595,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53539,7 +57595,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53539 .unused,57595 .unused,
53540 .unused,57596 .unused,
53541 },57597 },
53542 .dst_temps = .{.mem},57598 .dst_temps = .{ .mem, .unused },
53543 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57599 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53544 .each = .{ .once = &.{57600 .each = .{ .once = &.{
53545 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57601 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53552,7 +57608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53552,7 +57608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53552 }, .{57608 }, .{
53553 .required_features = .{ .sse2, null, null, null },57609 .required_features = .{ .sse2, null, null, null },
53554 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57610 .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 },
53556 .patterns = &.{57612 .patterns = &.{
53557 .{ .src = .{ .to_mem, .none, .none } },57613 .{ .src = .{ .to_mem, .none, .none } },
53558 },57614 },
...@@ -53568,7 +57624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53568,7 +57624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53568 .unused,57624 .unused,
53569 .unused,57625 .unused,
53570 },57626 },
53571 .dst_temps = .{.mem},57627 .dst_temps = .{ .mem, .unused },
53572 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57628 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53573 .each = .{ .once = &.{57629 .each = .{ .once = &.{
53574 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57630 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53581,7 +57637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53581,7 +57637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53581 }, .{57637 }, .{
53582 .required_features = .{ .sse2, null, null, null },57638 .required_features = .{ .sse2, null, null, null },
53583 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57639 .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 },
53585 .patterns = &.{57641 .patterns = &.{
53586 .{ .src = .{ .to_mem, .none, .none } },57642 .{ .src = .{ .to_mem, .none, .none } },
53587 },57643 },
...@@ -53597,7 +57653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53597,7 +57653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53597 .unused,57653 .unused,
53598 .unused,57654 .unused,
53599 },57655 },
53600 .dst_temps = .{.mem},57656 .dst_temps = .{ .mem, .unused },
53601 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53602 .each = .{ .once = &.{57658 .each = .{ .once = &.{
53603 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57659 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53610,7 +57666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53610,7 +57666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53610 }, .{57666 }, .{
53611 .required_features = .{ .sse, null, null, null },57667 .required_features = .{ .sse, null, null, null },
53612 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57668 .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 },
53614 .patterns = &.{57670 .patterns = &.{
53615 .{ .src = .{ .to_mem, .none, .none } },57671 .{ .src = .{ .to_mem, .none, .none } },
53616 },57672 },
...@@ -53626,7 +57682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53626,7 +57682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53626 .unused,57682 .unused,
53627 .unused,57683 .unused,
53628 },57684 },
53629 .dst_temps = .{.mem},57685 .dst_temps = .{ .mem, .unused },
53630 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53631 .each = .{ .once = &.{57687 .each = .{ .once = &.{
53632 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53640,7 +57696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53640,7 +57696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53640 }, .{57696 }, .{
53641 .required_features = .{ .sse, null, null, null },57697 .required_features = .{ .sse, null, null, null },
53642 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57698 .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 },
53644 .patterns = &.{57700 .patterns = &.{
53645 .{ .src = .{ .to_mem, .none, .none } },57701 .{ .src = .{ .to_mem, .none, .none } },
53646 },57702 },
...@@ -53656,7 +57712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53656,7 +57712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53656 .unused,57712 .unused,
53657 .unused,57713 .unused,
53658 },57714 },
53659 .dst_temps = .{.mem},57715 .dst_temps = .{ .mem, .unused },
53660 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57716 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53661 .each = .{ .once = &.{57717 .each = .{ .once = &.{
53662 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57718 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53670,7 +57726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53670,7 +57726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53670 }, .{57726 }, .{
53671 .required_features = .{ .avx, null, null, null },57727 .required_features = .{ .avx, null, null, null },
53672 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57728 .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 },
53674 .patterns = &.{57730 .patterns = &.{
53675 .{ .src = .{ .to_mem, .none, .none } },57731 .{ .src = .{ .to_mem, .none, .none } },
53676 },57732 },
...@@ -53686,7 +57742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53686,7 +57742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53686 .unused,57742 .unused,
53687 .unused,57743 .unused,
53688 },57744 },
53689 .dst_temps = .{.mem},57745 .dst_temps = .{ .mem, .unused },
53690 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57746 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53691 .each = .{ .once = &.{57747 .each = .{ .once = &.{
53692 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57748 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53700,7 +57756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53700,7 +57756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53700 }, .{57756 }, .{
53701 .required_features = .{ .avx, null, null, null },57757 .required_features = .{ .avx, null, null, null },
53702 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57758 .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 },
53704 .patterns = &.{57760 .patterns = &.{
53705 .{ .src = .{ .to_mem, .none, .none } },57761 .{ .src = .{ .to_mem, .none, .none } },
53706 },57762 },
...@@ -53716,7 +57772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53716,7 +57772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53716 .unused,57772 .unused,
53717 .unused,57773 .unused,
53718 },57774 },
53719 .dst_temps = .{.mem},57775 .dst_temps = .{ .mem, .unused },
53720 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57776 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53721 .each = .{ .once = &.{57777 .each = .{ .once = &.{
53722 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57778 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53730,7 +57786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53730,7 +57786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53730 }, .{57786 }, .{
53731 .required_features = .{ .sse2, null, null, null },57787 .required_features = .{ .sse2, null, null, null },
53732 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57788 .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 },
53734 .patterns = &.{57790 .patterns = &.{
53735 .{ .src = .{ .to_mem, .none, .none } },57791 .{ .src = .{ .to_mem, .none, .none } },
53736 },57792 },
...@@ -53746,7 +57802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53746,7 +57802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53746 .unused,57802 .unused,
53747 .unused,57803 .unused,
53748 },57804 },
53749 .dst_temps = .{.mem},57805 .dst_temps = .{ .mem, .unused },
53750 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57806 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53751 .each = .{ .once = &.{57807 .each = .{ .once = &.{
53752 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57808 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53760,7 +57816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53760,7 +57816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53760 }, .{57816 }, .{
53761 .required_features = .{ .sse2, null, null, null },57817 .required_features = .{ .sse2, null, null, null },
53762 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57818 .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 },
53764 .patterns = &.{57820 .patterns = &.{
53765 .{ .src = .{ .to_mem, .none, .none } },57821 .{ .src = .{ .to_mem, .none, .none } },
53766 },57822 },
...@@ -53776,7 +57832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53776,7 +57832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53776 .unused,57832 .unused,
53777 .unused,57833 .unused,
53778 },57834 },
53779 .dst_temps = .{.mem},57835 .dst_temps = .{ .mem, .unused },
53780 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57836 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53781 .each = .{ .once = &.{57837 .each = .{ .once = &.{
53782 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53790,7 +57846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53790,7 +57846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53790 }, .{57846 }, .{
53791 .required_features = .{ .sse, null, null, null },57847 .required_features = .{ .sse, null, null, null },
53792 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57848 .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 },
53794 .patterns = &.{57850 .patterns = &.{
53795 .{ .src = .{ .to_mem, .none, .none } },57851 .{ .src = .{ .to_mem, .none, .none } },
53796 },57852 },
...@@ -53806,7 +57862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53806,7 +57862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53806 .unused,57862 .unused,
53807 .unused,57863 .unused,
53808 },57864 },
53809 .dst_temps = .{.mem},57865 .dst_temps = .{ .mem, .unused },
53810 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57866 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53811 .each = .{ .once = &.{57867 .each = .{ .once = &.{
53812 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57868 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53821,7 +57877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53821,7 +57877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53821 }, .{57877 }, .{
53822 .required_features = .{ .sse, null, null, null },57878 .required_features = .{ .sse, null, null, null },
53823 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57879 .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 },
53825 .patterns = &.{57881 .patterns = &.{
53826 .{ .src = .{ .to_mem, .none, .none } },57882 .{ .src = .{ .to_mem, .none, .none } },
53827 },57883 },
...@@ -53837,7 +57893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53837,7 +57893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53837 .unused,57893 .unused,
53838 .unused,57894 .unused,
53839 },57895 },
53840 .dst_temps = .{.mem},57896 .dst_temps = .{ .mem, .unused },
53841 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57897 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53842 .each = .{ .once = &.{57898 .each = .{ .once = &.{
53843 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57899 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53852,7 +57908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53852,7 +57908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53852 }, .{57908 }, .{
53853 .required_features = .{ .@"64bit", .avx, null, null },57909 .required_features = .{ .@"64bit", .avx, null, null },
53854 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57910 .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 },
53856 .patterns = &.{57912 .patterns = &.{
53857 .{ .src = .{ .to_mem, .none, .none } },57913 .{ .src = .{ .to_mem, .none, .none } },
53858 },57914 },
...@@ -53868,7 +57924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53868,7 +57924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53868 .unused,57924 .unused,
53869 .unused,57925 .unused,
53870 },57926 },
53871 .dst_temps = .{.mem},57927 .dst_temps = .{ .mem, .unused },
53872 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57928 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53873 .each = .{ .once = &.{57929 .each = .{ .once = &.{
53874 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57930 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53884,7 +57940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53884,7 +57940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53884 }, .{57940 }, .{
53885 .required_features = .{ .@"64bit", .avx, null, null },57941 .required_features = .{ .@"64bit", .avx, null, null },
53886 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57942 .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 },
53888 .patterns = &.{57944 .patterns = &.{
53889 .{ .src = .{ .to_mem, .none, .none } },57945 .{ .src = .{ .to_mem, .none, .none } },
53890 },57946 },
...@@ -53900,7 +57956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53900,7 +57956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53900 .unused,57956 .unused,
53901 .unused,57957 .unused,
53902 },57958 },
53903 .dst_temps = .{.mem},57959 .dst_temps = .{ .mem, .unused },
53904 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57960 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53905 .each = .{ .once = &.{57961 .each = .{ .once = &.{
53906 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57962 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53916,7 +57972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53916,7 +57972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53916 }, .{57972 }, .{
53917 .required_features = .{ .@"64bit", .sse2, null, null },57973 .required_features = .{ .@"64bit", .sse2, null, null },
53918 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },57974 .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 },
53920 .patterns = &.{57976 .patterns = &.{
53921 .{ .src = .{ .to_mem, .none, .none } },57977 .{ .src = .{ .to_mem, .none, .none } },
53922 },57978 },
...@@ -53932,7 +57988,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53932,7 +57988,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53932 .unused,57988 .unused,
53933 .unused,57989 .unused,
53934 },57990 },
53935 .dst_temps = .{.mem},57991 .dst_temps = .{ .mem, .unused },
53936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },57992 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53937 .each = .{ .once = &.{57993 .each = .{ .once = &.{
53938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },57994 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53948,7 +58004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53948,7 +58004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53948 }, .{58004 }, .{
53949 .required_features = .{ .@"64bit", .sse2, null, null },58005 .required_features = .{ .@"64bit", .sse2, null, null },
53950 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },58006 .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 },
53952 .patterns = &.{58008 .patterns = &.{
53953 .{ .src = .{ .to_mem, .none, .none } },58009 .{ .src = .{ .to_mem, .none, .none } },
53954 },58010 },
...@@ -53964,7 +58020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53964,7 +58020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53964 .unused,58020 .unused,
53965 .unused,58021 .unused,
53966 },58022 },
53967 .dst_temps = .{.mem},58023 .dst_temps = .{ .mem, .unused },
53968 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58024 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53969 .each = .{ .once = &.{58025 .each = .{ .once = &.{
53970 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58026 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -53980,7 +58036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53980,7 +58036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53980 }, .{58036 }, .{
53981 .required_features = .{ .@"64bit", .sse, null, null },58037 .required_features = .{ .@"64bit", .sse, null, null },
53982 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },58038 .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 },
53984 .patterns = &.{58040 .patterns = &.{
53985 .{ .src = .{ .to_mem, .none, .none } },58041 .{ .src = .{ .to_mem, .none, .none } },
53986 },58042 },
...@@ -53996,7 +58052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -53996,7 +58052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53996 .unused,58052 .unused,
53997 .unused,58053 .unused,
53998 },58054 },
53999 .dst_temps = .{.mem},58055 .dst_temps = .{ .mem, .unused },
54000 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58056 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54001 .each = .{ .once = &.{58057 .each = .{ .once = &.{
54002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58058 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54013,7 +58069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54013,7 +58069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54013 }, .{58069 }, .{
54014 .required_features = .{ .@"64bit", .sse, null, null },58070 .required_features = .{ .@"64bit", .sse, null, null },
54015 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },58071 .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 },
54017 .patterns = &.{58073 .patterns = &.{
54018 .{ .src = .{ .to_mem, .none, .none } },58074 .{ .src = .{ .to_mem, .none, .none } },
54019 },58075 },
...@@ -54029,7 +58085,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54029,7 +58085,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54029 .unused,58085 .unused,
54030 .unused,58086 .unused,
54031 },58087 },
54032 .dst_temps = .{.mem},58088 .dst_temps = .{ .mem, .unused },
54033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58089 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54034 .each = .{ .once = &.{58090 .each = .{ .once = &.{
54035 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58091 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54046,7 +58102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54046,7 +58102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54046 }, .{58102 }, .{
54047 .required_features = .{ .x87, null, null, null },58103 .required_features = .{ .x87, null, null, null },
54048 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58104 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54049 .dst_constraints = .{.{ .signed_int = .byte }},58105 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
54050 .patterns = &.{58106 .patterns = &.{
54051 .{ .src = .{ .mem, .none, .none } },58107 .{ .src = .{ .mem, .none, .none } },
54052 .{ .src = .{ .to_x87, .none, .none } },58108 .{ .src = .{ .to_x87, .none, .none } },
...@@ -54062,7 +58118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54062,7 +58118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54062 .unused,58118 .unused,
54063 .unused,58119 .unused,
54064 },58120 },
54065 .dst_temps = .{.{ .rc = .general_purpose }},58121 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
54066 .each = .{ .once = &.{58122 .each = .{ .once = &.{
54067 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },58123 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
54068 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },58124 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
...@@ -54071,7 +58127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54071,7 +58127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54071 }, .{58127 }, .{
54072 .required_features = .{ .x87, null, null, null },58128 .required_features = .{ .x87, null, null, null },
54073 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58129 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54074 .dst_constraints = .{.{ .unsigned_int = .byte }},58130 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
54075 .patterns = &.{58131 .patterns = &.{
54076 .{ .src = .{ .mem, .none, .none } },58132 .{ .src = .{ .mem, .none, .none } },
54077 .{ .src = .{ .to_x87, .none, .none } },58133 .{ .src = .{ .to_x87, .none, .none } },
...@@ -54087,7 +58143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54087,7 +58143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54087 .unused,58143 .unused,
54088 .unused,58144 .unused,
54089 },58145 },
54090 .dst_temps = .{.{ .rc = .general_purpose }},58146 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
54091 .each = .{ .once = &.{58147 .each = .{ .once = &.{
54092 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },58148 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
54093 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },58149 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
...@@ -54096,7 +58152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54096,7 +58152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54096 }, .{58152 }, .{
54097 .required_features = .{ .x87, .slow_incdec, null, null },58153 .required_features = .{ .x87, .slow_incdec, null, null },
54098 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58154 .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 },
54100 .patterns = &.{58156 .patterns = &.{
54101 .{ .src = .{ .to_mem, .none, .none } },58157 .{ .src = .{ .to_mem, .none, .none } },
54102 },58158 },
...@@ -54111,7 +58167,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54111,7 +58167,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54111 .unused,58167 .unused,
54112 .unused,58168 .unused,
54113 },58169 },
54114 .dst_temps = .{.mem},58170 .dst_temps = .{ .mem, .unused },
54115 .clobbers = .{ .eflags = true },58171 .clobbers = .{ .eflags = true },
54116 .each = .{ .once = &.{58172 .each = .{ .once = &.{
54117 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },58173 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -54127,7 +58183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54127,7 +58183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54127 }, .{58183 }, .{
54128 .required_features = .{ .x87, null, null, null },58184 .required_features = .{ .x87, null, null, null },
54129 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58185 .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 },
54131 .patterns = &.{58187 .patterns = &.{
54132 .{ .src = .{ .to_mem, .none, .none } },58188 .{ .src = .{ .to_mem, .none, .none } },
54133 },58189 },
...@@ -54142,7 +58198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54142,7 +58198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54142 .unused,58198 .unused,
54143 .unused,58199 .unused,
54144 },58200 },
54145 .dst_temps = .{.mem},58201 .dst_temps = .{ .mem, .unused },
54146 .clobbers = .{ .eflags = true },58202 .clobbers = .{ .eflags = true },
54147 .each = .{ .once = &.{58203 .each = .{ .once = &.{
54148 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },58204 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -54158,7 +58214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54158,7 +58214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54158 }, .{58214 }, .{
54159 .required_features = .{ .x87, .slow_incdec, null, null },58215 .required_features = .{ .x87, .slow_incdec, null, null },
54160 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58216 .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 },
54162 .patterns = &.{58218 .patterns = &.{
54163 .{ .src = .{ .to_mem, .none, .none } },58219 .{ .src = .{ .to_mem, .none, .none } },
54164 },58220 },
...@@ -54173,7 +58229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54173,7 +58229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54173 .unused,58229 .unused,
54174 .unused,58230 .unused,
54175 },58231 },
54176 .dst_temps = .{.mem},58232 .dst_temps = .{ .mem, .unused },
54177 .clobbers = .{ .eflags = true },58233 .clobbers = .{ .eflags = true },
54178 .each = .{ .once = &.{58234 .each = .{ .once = &.{
54179 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },58235 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -54189,7 +58245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54189,7 +58245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54189 }, .{58245 }, .{
54190 .required_features = .{ .x87, null, null, null },58246 .required_features = .{ .x87, null, null, null },
54191 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58247 .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 },
54193 .patterns = &.{58249 .patterns = &.{
54194 .{ .src = .{ .to_mem, .none, .none } },58250 .{ .src = .{ .to_mem, .none, .none } },
54195 },58251 },
...@@ -54204,7 +58260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54204,7 +58260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54204 .unused,58260 .unused,
54205 .unused,58261 .unused,
54206 },58262 },
54207 .dst_temps = .{.mem},58263 .dst_temps = .{ .mem, .unused },
54208 .clobbers = .{ .eflags = true },58264 .clobbers = .{ .eflags = true },
54209 .each = .{ .once = &.{58265 .each = .{ .once = &.{
54210 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },58266 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -54220,7 +58276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54220,7 +58276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54220 }, .{58276 }, .{
54221 .required_features = .{ .x87, null, null, null },58277 .required_features = .{ .x87, null, null, null },
54222 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58278 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54223 .dst_constraints = .{.{ .signed_or_exclusive_int = .word }},58279 .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any },
54224 .patterns = &.{58280 .patterns = &.{
54225 .{ .src = .{ .mem, .none, .none } },58281 .{ .src = .{ .mem, .none, .none } },
54226 .{ .src = .{ .to_x87, .none, .none } },58282 .{ .src = .{ .to_x87, .none, .none } },
...@@ -54236,7 +58292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54236,7 +58292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54236 .unused,58292 .unused,
54237 .unused,58293 .unused,
54238 },58294 },
54239 .dst_temps = .{.mem},58295 .dst_temps = .{ .mem, .unused },
54240 .each = .{ .once = &.{58296 .each = .{ .once = &.{
54241 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },58297 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
54242 .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },58298 .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },
...@@ -54244,7 +58300,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54244,7 +58300,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54244 }, .{58300 }, .{
54245 .required_features = .{ .x87, null, null, null },58301 .required_features = .{ .x87, null, null, null },
54246 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58302 .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 },
54248 .patterns = &.{58304 .patterns = &.{
54249 .{ .src = .{ .to_mem, .none, .none } },58305 .{ .src = .{ .to_mem, .none, .none } },
54250 },58306 },
...@@ -54259,7 +58315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54259,7 +58315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54259 .unused,58315 .unused,
54260 .unused,58316 .unused,
54261 },58317 },
54262 .dst_temps = .{.mem},58318 .dst_temps = .{ .mem, .unused },
54263 .clobbers = .{ .eflags = true },58319 .clobbers = .{ .eflags = true },
54264 .each = .{ .once = &.{58320 .each = .{ .once = &.{
54265 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58321 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54271,7 +58327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54271,7 +58327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54271 }, .{58327 }, .{
54272 .required_features = .{ .x87, null, null, null },58328 .required_features = .{ .x87, null, null, null },
54273 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58329 .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 },
54275 .patterns = &.{58331 .patterns = &.{
54276 .{ .src = .{ .to_mem, .none, .none } },58332 .{ .src = .{ .to_mem, .none, .none } },
54277 },58333 },
...@@ -54286,7 +58342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54286,7 +58342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54286 .unused,58342 .unused,
54287 .unused,58343 .unused,
54288 },58344 },
54289 .dst_temps = .{.mem},58345 .dst_temps = .{ .mem, .unused },
54290 .clobbers = .{ .eflags = true },58346 .clobbers = .{ .eflags = true },
54291 .each = .{ .once = &.{58347 .each = .{ .once = &.{
54292 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58348 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54300,7 +58356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54300,7 +58356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54300 }, .{58356 }, .{
54301 .required_features = .{ .x87, null, null, null },58357 .required_features = .{ .x87, null, null, null },
54302 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58358 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54303 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},58359 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
54304 .patterns = &.{58360 .patterns = &.{
54305 .{ .src = .{ .mem, .none, .none } },58361 .{ .src = .{ .mem, .none, .none } },
54306 .{ .src = .{ .to_x87, .none, .none } },58362 .{ .src = .{ .to_x87, .none, .none } },
...@@ -54316,7 +58372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54316,7 +58372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54316 .unused,58372 .unused,
54317 .unused,58373 .unused,
54318 },58374 },
54319 .dst_temps = .{.mem},58375 .dst_temps = .{ .mem, .unused },
54320 .each = .{ .once = &.{58376 .each = .{ .once = &.{
54321 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },58377 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
54322 .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },58378 .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },
...@@ -54324,7 +58380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54324,7 +58380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54324 }, .{58380 }, .{
54325 .required_features = .{ .x87, null, null, null },58381 .required_features = .{ .x87, null, null, null },
54326 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58382 .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 },
54328 .patterns = &.{58384 .patterns = &.{
54329 .{ .src = .{ .to_mem, .none, .none } },58385 .{ .src = .{ .to_mem, .none, .none } },
54330 },58386 },
...@@ -54339,7 +58395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54339,7 +58395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54339 .unused,58395 .unused,
54340 .unused,58396 .unused,
54341 },58397 },
54342 .dst_temps = .{.mem},58398 .dst_temps = .{ .mem, .unused },
54343 .clobbers = .{ .eflags = true },58399 .clobbers = .{ .eflags = true },
54344 .each = .{ .once = &.{58400 .each = .{ .once = &.{
54345 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58401 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54351,7 +58407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54351,7 +58407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54351 }, .{58407 }, .{
54352 .required_features = .{ .x87, null, null, null },58408 .required_features = .{ .x87, null, null, null },
54353 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58409 .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 },
54355 .patterns = &.{58411 .patterns = &.{
54356 .{ .src = .{ .to_mem, .none, .none } },58412 .{ .src = .{ .to_mem, .none, .none } },
54357 },58413 },
...@@ -54366,7 +58422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54366,7 +58422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54366 .unused,58422 .unused,
54367 .unused,58423 .unused,
54368 },58424 },
54369 .dst_temps = .{.mem},58425 .dst_temps = .{ .mem, .unused },
54370 .clobbers = .{ .eflags = true },58426 .clobbers = .{ .eflags = true },
54371 .each = .{ .once = &.{58427 .each = .{ .once = &.{
54372 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58428 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54380,7 +58436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54380,7 +58436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54380 }, .{58436 }, .{
54381 .required_features = .{ .x87, null, null, null },58437 .required_features = .{ .x87, null, null, null },
54382 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58438 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54383 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},58439 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
54384 .patterns = &.{58440 .patterns = &.{
54385 .{ .src = .{ .mem, .none, .none } },58441 .{ .src = .{ .mem, .none, .none } },
54386 .{ .src = .{ .to_x87, .none, .none } },58442 .{ .src = .{ .to_x87, .none, .none } },
...@@ -54396,7 +58452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54396,7 +58452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54396 .unused,58452 .unused,
54397 .unused,58453 .unused,
54398 },58454 },
54399 .dst_temps = .{.mem},58455 .dst_temps = .{ .mem, .unused },
54400 .each = .{ .once = &.{58456 .each = .{ .once = &.{
54401 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },58457 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
54402 .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },58458 .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },
...@@ -54404,7 +58460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54404,7 +58460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54404 }, .{58460 }, .{
54405 .required_features = .{ .@"64bit", .x87, null, null },58461 .required_features = .{ .@"64bit", .x87, null, null },
54406 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58462 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54407 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},58463 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
54408 .patterns = &.{58464 .patterns = &.{
54409 .{ .src = .{ .mem, .none, .none } },58465 .{ .src = .{ .mem, .none, .none } },
54410 .{ .src = .{ .to_x87, .none, .none } },58466 .{ .src = .{ .to_x87, .none, .none } },
...@@ -54420,7 +58476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54420,7 +58476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54420 .unused,58476 .unused,
54421 .unused,58477 .unused,
54422 },58478 },
54423 .dst_temps = .{.{ .rc = .general_purpose }},58479 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
54424 .clobbers = .{ .eflags = true },58480 .clobbers = .{ .eflags = true },
54425 .each = .{ .once = &.{58481 .each = .{ .once = &.{
54426 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },58482 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
...@@ -54438,7 +58494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54438,7 +58494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54438 }, .{58494 }, .{
54439 .required_features = .{ .x87, null, null, null },58495 .required_features = .{ .x87, null, null, null },
54440 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58496 .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 },
54442 .patterns = &.{58498 .patterns = &.{
54443 .{ .src = .{ .to_mem, .none, .none } },58499 .{ .src = .{ .to_mem, .none, .none } },
54444 },58500 },
...@@ -54453,7 +58509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54453,7 +58509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54453 .unused,58509 .unused,
54454 .unused,58510 .unused,
54455 },58511 },
54456 .dst_temps = .{.mem},58512 .dst_temps = .{ .mem, .unused },
54457 .clobbers = .{ .eflags = true },58513 .clobbers = .{ .eflags = true },
54458 .each = .{ .once = &.{58514 .each = .{ .once = &.{
54459 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58515 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54465,7 +58521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54465,7 +58521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54465 }, .{58521 }, .{
54466 .required_features = .{ .@"64bit", .avx, null, null },58522 .required_features = .{ .@"64bit", .avx, null, null },
54467 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58523 .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 },
54469 .patterns = &.{58525 .patterns = &.{
54470 .{ .src = .{ .to_mem, .none, .none } },58526 .{ .src = .{ .to_mem, .none, .none } },
54471 },58527 },
...@@ -54481,7 +58537,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54481,7 +58537,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54481 .unused,58537 .unused,
54482 .unused,58538 .unused,
54483 },58539 },
54484 .dst_temps = .{.mem},58540 .dst_temps = .{ .mem, .unused },
54485 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58541 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54486 .each = .{ .once = &.{58542 .each = .{ .once = &.{
54487 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58543 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54495,7 +58551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54495,7 +58551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54495 }, .{58551 }, .{
54496 .required_features = .{ .@"64bit", .sse2, null, null },58552 .required_features = .{ .@"64bit", .sse2, null, null },
54497 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58553 .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 },
54499 .patterns = &.{58555 .patterns = &.{
54500 .{ .src = .{ .to_mem, .none, .none } },58556 .{ .src = .{ .to_mem, .none, .none } },
54501 },58557 },
...@@ -54511,7 +58567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54511,7 +58567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54511 .unused,58567 .unused,
54512 .unused,58568 .unused,
54513 },58569 },
54514 .dst_temps = .{.mem},58570 .dst_temps = .{ .mem, .unused },
54515 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58571 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54516 .each = .{ .once = &.{58572 .each = .{ .once = &.{
54517 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58573 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54525,7 +58581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54525,7 +58581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54525 }, .{58581 }, .{
54526 .required_features = .{ .@"64bit", .sse, null, null },58582 .required_features = .{ .@"64bit", .sse, null, null },
54527 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58583 .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 },
54529 .patterns = &.{58585 .patterns = &.{
54530 .{ .src = .{ .to_mem, .none, .none } },58586 .{ .src = .{ .to_mem, .none, .none } },
54531 },58587 },
...@@ -54541,7 +58597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54541,7 +58597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54541 .unused,58597 .unused,
54542 .unused,58598 .unused,
54543 },58599 },
54544 .dst_temps = .{.mem},58600 .dst_temps = .{ .mem, .unused },
54545 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58601 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54546 .each = .{ .once = &.{58602 .each = .{ .once = &.{
54547 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },58603 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -54555,7 +58611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54555,7 +58611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54555 }, .{58611 }, .{
54556 .required_features = .{ .@"64bit", .avx, null, null },58612 .required_features = .{ .@"64bit", .avx, null, null },
54557 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58613 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54558 .dst_constraints = .{.{ .signed_int = .xword }},58614 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
54559 .patterns = &.{58615 .patterns = &.{
54560 .{ .src = .{ .to_mem, .none, .none } },58616 .{ .src = .{ .to_mem, .none, .none } },
54561 },58617 },
...@@ -54571,7 +58627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54571,7 +58627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54571 .unused,58627 .unused,
54572 .unused,58628 .unused,
54573 },58629 },
54574 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},58630 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
54575 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58631 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54576 .each = .{ .once = &.{58632 .each = .{ .once = &.{
54577 .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ },58633 .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ },
...@@ -54581,7 +58637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54581,7 +58637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54581 }, .{58637 }, .{
54582 .required_features = .{ .@"64bit", .avx, null, null },58638 .required_features = .{ .@"64bit", .avx, null, null },
54583 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58639 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54584 .dst_constraints = .{.{ .unsigned_int = .xword }},58640 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
54585 .patterns = &.{58641 .patterns = &.{
54586 .{ .src = .{ .to_mem, .none, .none } },58642 .{ .src = .{ .to_mem, .none, .none } },
54587 },58643 },
...@@ -54597,7 +58653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54597,7 +58653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54597 .unused,58653 .unused,
54598 .unused,58654 .unused,
54599 },58655 },
54600 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},58656 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
54601 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54602 .each = .{ .once = &.{58658 .each = .{ .once = &.{
54603 .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ },58659 .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ },
...@@ -54607,7 +58663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54607,7 +58663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54607 }, .{58663 }, .{
54608 .required_features = .{ .@"64bit", .sse2, null, null },58664 .required_features = .{ .@"64bit", .sse2, null, null },
54609 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58665 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54610 .dst_constraints = .{.{ .signed_int = .xword }},58666 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
54611 .patterns = &.{58667 .patterns = &.{
54612 .{ .src = .{ .to_mem, .none, .none } },58668 .{ .src = .{ .to_mem, .none, .none } },
54613 },58669 },
...@@ -54623,7 +58679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54623,7 +58679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54623 .unused,58679 .unused,
54624 .unused,58680 .unused,
54625 },58681 },
54626 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},58682 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
54627 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58683 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54628 .each = .{ .once = &.{58684 .each = .{ .once = &.{
54629 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },58685 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
...@@ -54633,7 +58689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54633,7 +58689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54633 }, .{58689 }, .{
54634 .required_features = .{ .@"64bit", .sse2, null, null },58690 .required_features = .{ .@"64bit", .sse2, null, null },
54635 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58691 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54636 .dst_constraints = .{.{ .unsigned_int = .xword }},58692 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
54637 .patterns = &.{58693 .patterns = &.{
54638 .{ .src = .{ .to_mem, .none, .none } },58694 .{ .src = .{ .to_mem, .none, .none } },
54639 },58695 },
...@@ -54649,7 +58705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54649,7 +58705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54649 .unused,58705 .unused,
54650 .unused,58706 .unused,
54651 },58707 },
54652 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},58708 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
54653 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58709 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54654 .each = .{ .once = &.{58710 .each = .{ .once = &.{
54655 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },58711 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
...@@ -54659,7 +58715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54659,7 +58715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54659 }, .{58715 }, .{
54660 .required_features = .{ .@"64bit", .sse, null, null },58716 .required_features = .{ .@"64bit", .sse, null, null },
54661 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58717 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54662 .dst_constraints = .{.{ .signed_int = .xword }},58718 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
54663 .patterns = &.{58719 .patterns = &.{
54664 .{ .src = .{ .to_mem, .none, .none } },58720 .{ .src = .{ .to_mem, .none, .none } },
54665 },58721 },
...@@ -54675,7 +58731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54675,7 +58731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54675 .unused,58731 .unused,
54676 .unused,58732 .unused,
54677 },58733 },
54678 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},58734 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
54679 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58735 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54680 .each = .{ .once = &.{58736 .each = .{ .once = &.{
54681 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },58737 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
...@@ -54685,7 +58741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54685,7 +58741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54685 }, .{58741 }, .{
54686 .required_features = .{ .@"64bit", .sse, null, null },58742 .required_features = .{ .@"64bit", .sse, null, null },
54687 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58743 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54688 .dst_constraints = .{.{ .unsigned_int = .xword }},58744 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
54689 .patterns = &.{58745 .patterns = &.{
54690 .{ .src = .{ .to_mem, .none, .none } },58746 .{ .src = .{ .to_mem, .none, .none } },
54691 },58747 },
...@@ -54701,7 +58757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54701,7 +58757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54701 .unused,58757 .unused,
54702 .unused,58758 .unused,
54703 },58759 },
54704 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},58760 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
54705 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58761 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54706 .each = .{ .once = &.{58762 .each = .{ .once = &.{
54707 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },58763 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
...@@ -54711,7 +58767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54711,7 +58767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54711 }, .{58767 }, .{
54712 .required_features = .{ .@"64bit", .avx, null, null },58768 .required_features = .{ .@"64bit", .avx, null, null },
54713 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58769 .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 },
54715 .patterns = &.{58771 .patterns = &.{
54716 .{ .src = .{ .to_mem, .none, .none } },58772 .{ .src = .{ .to_mem, .none, .none } },
54717 },58773 },
...@@ -54727,7 +58783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54727,7 +58783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54727 .unused,58783 .unused,
54728 .unused,58784 .unused,
54729 },58785 },
54730 .dst_temps = .{.mem},58786 .dst_temps = .{ .mem, .unused },
54731 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58787 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54732 .each = .{ .once = &.{58788 .each = .{ .once = &.{
54733 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58789 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54742,7 +58798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54742,7 +58798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54742 }, .{58798 }, .{
54743 .required_features = .{ .@"64bit", .avx, null, null },58799 .required_features = .{ .@"64bit", .avx, null, null },
54744 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58800 .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 },
54746 .patterns = &.{58802 .patterns = &.{
54747 .{ .src = .{ .to_mem, .none, .none } },58803 .{ .src = .{ .to_mem, .none, .none } },
54748 },58804 },
...@@ -54758,7 +58814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54758,7 +58814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54758 .unused,58814 .unused,
54759 .unused,58815 .unused,
54760 },58816 },
54761 .dst_temps = .{.mem},58817 .dst_temps = .{ .mem, .unused },
54762 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58818 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54763 .each = .{ .once = &.{58819 .each = .{ .once = &.{
54764 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58820 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54773,7 +58829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54773,7 +58829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54773 }, .{58829 }, .{
54774 .required_features = .{ .@"64bit", .sse2, null, null },58830 .required_features = .{ .@"64bit", .sse2, null, null },
54775 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58831 .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 },
54777 .patterns = &.{58833 .patterns = &.{
54778 .{ .src = .{ .to_mem, .none, .none } },58834 .{ .src = .{ .to_mem, .none, .none } },
54779 },58835 },
...@@ -54789,7 +58845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54789,7 +58845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54789 .unused,58845 .unused,
54790 .unused,58846 .unused,
54791 },58847 },
54792 .dst_temps = .{.mem},58848 .dst_temps = .{ .mem, .unused },
54793 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58849 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54794 .each = .{ .once = &.{58850 .each = .{ .once = &.{
54795 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58851 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54804,7 +58860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54804,7 +58860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54804 }, .{58860 }, .{
54805 .required_features = .{ .@"64bit", .sse2, null, null },58861 .required_features = .{ .@"64bit", .sse2, null, null },
54806 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58862 .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 },
54808 .patterns = &.{58864 .patterns = &.{
54809 .{ .src = .{ .to_mem, .none, .none } },58865 .{ .src = .{ .to_mem, .none, .none } },
54810 },58866 },
...@@ -54820,7 +58876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54820,7 +58876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54820 .unused,58876 .unused,
54821 .unused,58877 .unused,
54822 },58878 },
54823 .dst_temps = .{.mem},58879 .dst_temps = .{ .mem, .unused },
54824 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58880 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54825 .each = .{ .once = &.{58881 .each = .{ .once = &.{
54826 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58882 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54835,7 +58891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54835,7 +58891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54835 }, .{58891 }, .{
54836 .required_features = .{ .@"64bit", .sse, null, null },58892 .required_features = .{ .@"64bit", .sse, null, null },
54837 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58893 .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 },
54839 .patterns = &.{58895 .patterns = &.{
54840 .{ .src = .{ .to_mem, .none, .none } },58896 .{ .src = .{ .to_mem, .none, .none } },
54841 },58897 },
...@@ -54851,7 +58907,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54851,7 +58907,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54851 .unused,58907 .unused,
54852 .unused,58908 .unused,
54853 },58909 },
54854 .dst_temps = .{.mem},58910 .dst_temps = .{ .mem, .unused },
54855 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58911 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54856 .each = .{ .once = &.{58912 .each = .{ .once = &.{
54857 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58913 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54866,7 +58922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54866,7 +58922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54866 }, .{58922 }, .{
54867 .required_features = .{ .@"64bit", .sse, null, null },58923 .required_features = .{ .@"64bit", .sse, null, null },
54868 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },58924 .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 },
54870 .patterns = &.{58926 .patterns = &.{
54871 .{ .src = .{ .to_mem, .none, .none } },58927 .{ .src = .{ .to_mem, .none, .none } },
54872 },58928 },
...@@ -54882,7 +58938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54882,7 +58938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54882 .unused,58938 .unused,
54883 .unused,58939 .unused,
54884 },58940 },
54885 .dst_temps = .{.mem},58941 .dst_temps = .{ .mem, .unused },
54886 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58942 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54887 .each = .{ .once = &.{58943 .each = .{ .once = &.{
54888 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },58944 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -54897,7 +58953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54897,7 +58953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54897 }, .{58953 }, .{
54898 .required_features = .{ .@"64bit", .avx, null, null },58954 .required_features = .{ .@"64bit", .avx, null, null },
54899 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58955 .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 },
54901 .patterns = &.{58957 .patterns = &.{
54902 .{ .src = .{ .to_mem, .none, .none } },58958 .{ .src = .{ .to_mem, .none, .none } },
54903 },58959 },
...@@ -54913,7 +58969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54913,7 +58969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54913 .unused,58969 .unused,
54914 .unused,58970 .unused,
54915 },58971 },
54916 .dst_temps = .{.mem},58972 .dst_temps = .{ .mem, .unused },
54917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },58973 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54918 .each = .{ .once = &.{58974 .each = .{ .once = &.{
54919 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },58975 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -54925,7 +58981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54925,7 +58981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54925 }, .{58981 }, .{
54926 .required_features = .{ .@"64bit", .avx, null, null },58982 .required_features = .{ .@"64bit", .avx, null, null },
54927 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },58983 .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 },
54929 .patterns = &.{58985 .patterns = &.{
54930 .{ .src = .{ .to_mem, .none, .none } },58986 .{ .src = .{ .to_mem, .none, .none } },
54931 },58987 },
...@@ -54941,7 +58997,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54941,7 +58997,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54941 .unused,58997 .unused,
54942 .unused,58998 .unused,
54943 },58999 },
54944 .dst_temps = .{.mem},59000 .dst_temps = .{ .mem, .unused },
54945 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59001 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54946 .each = .{ .once = &.{59002 .each = .{ .once = &.{
54947 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },59003 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -54953,7 +59009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54953,7 +59009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54953 }, .{59009 }, .{
54954 .required_features = .{ .@"64bit", .sse2, null, null },59010 .required_features = .{ .@"64bit", .sse2, null, null },
54955 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },59011 .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 },
54957 .patterns = &.{59013 .patterns = &.{
54958 .{ .src = .{ .to_mem, .none, .none } },59014 .{ .src = .{ .to_mem, .none, .none } },
54959 },59015 },
...@@ -54969,7 +59025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54969,7 +59025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54969 .unused,59025 .unused,
54970 .unused,59026 .unused,
54971 },59027 },
54972 .dst_temps = .{.mem},59028 .dst_temps = .{ .mem, .unused },
54973 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59029 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54974 .each = .{ .once = &.{59030 .each = .{ .once = &.{
54975 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },59031 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -54981,7 +59037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54981,7 +59037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54981 }, .{59037 }, .{
54982 .required_features = .{ .@"64bit", .sse2, null, null },59038 .required_features = .{ .@"64bit", .sse2, null, null },
54983 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },59039 .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 },
54985 .patterns = &.{59041 .patterns = &.{
54986 .{ .src = .{ .to_mem, .none, .none } },59042 .{ .src = .{ .to_mem, .none, .none } },
54987 },59043 },
...@@ -54997,7 +59053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -54997,7 +59053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54997 .unused,59053 .unused,
54998 .unused,59054 .unused,
54999 },59055 },
55000 .dst_temps = .{.mem},59056 .dst_temps = .{ .mem, .unused },
55001 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59057 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55002 .each = .{ .once = &.{59058 .each = .{ .once = &.{
55003 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },59059 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -55009,7 +59065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55009,7 +59065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55009 }, .{59065 }, .{
55010 .required_features = .{ .@"64bit", .sse, null, null },59066 .required_features = .{ .@"64bit", .sse, null, null },
55011 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },59067 .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 },
55013 .patterns = &.{59069 .patterns = &.{
55014 .{ .src = .{ .to_mem, .none, .none } },59070 .{ .src = .{ .to_mem, .none, .none } },
55015 },59071 },
...@@ -55025,7 +59081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55025,7 +59081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55025 .unused,59081 .unused,
55026 .unused,59082 .unused,
55027 },59083 },
55028 .dst_temps = .{.mem},59084 .dst_temps = .{ .mem, .unused },
55029 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59085 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55030 .each = .{ .once = &.{59086 .each = .{ .once = &.{
55031 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },59087 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -55037,7 +59093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55037,7 +59093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55037 }, .{59093 }, .{
55038 .required_features = .{ .@"64bit", .sse, null, null },59094 .required_features = .{ .@"64bit", .sse, null, null },
55039 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },59095 .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 },
55041 .patterns = &.{59097 .patterns = &.{
55042 .{ .src = .{ .to_mem, .none, .none } },59098 .{ .src = .{ .to_mem, .none, .none } },
55043 },59099 },
...@@ -55053,7 +59109,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55053,7 +59109,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55053 .unused,59109 .unused,
55054 .unused,59110 .unused,
55055 },59111 },
55056 .dst_temps = .{.mem},59112 .dst_temps = .{ .mem, .unused },
55057 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59113 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55058 .each = .{ .once = &.{59114 .each = .{ .once = &.{
55059 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },59115 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -55065,7 +59121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55065,7 +59121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55065 }, .{59121 }, .{
55066 .required_features = .{ .@"64bit", .avx, null, null },59122 .required_features = .{ .@"64bit", .avx, null, null },
55067 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },59123 .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 },
55069 .patterns = &.{59125 .patterns = &.{
55070 .{ .src = .{ .to_mem, .none, .none } },59126 .{ .src = .{ .to_mem, .none, .none } },
55071 },59127 },
...@@ -55081,7 +59137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55081,7 +59137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55081 .unused,59137 .unused,
55082 .unused,59138 .unused,
55083 },59139 },
55084 .dst_temps = .{.mem},59140 .dst_temps = .{ .mem, .unused },
55085 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59141 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55086 .each = .{ .once = &.{59142 .each = .{ .once = &.{
55087 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },59143 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -55098,7 +59154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55098,7 +59154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55098 }, .{59154 }, .{
55099 .required_features = .{ .@"64bit", .avx, null, null },59155 .required_features = .{ .@"64bit", .avx, null, null },
55100 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },59156 .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 },
55102 .patterns = &.{59158 .patterns = &.{
55103 .{ .src = .{ .to_mem, .none, .none } },59159 .{ .src = .{ .to_mem, .none, .none } },
55104 },59160 },
...@@ -55114,7 +59170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55114,7 +59170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55114 .unused,59170 .unused,
55115 .unused,59171 .unused,
55116 },59172 },
55117 .dst_temps = .{.mem},59173 .dst_temps = .{ .mem, .unused },
55118 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59174 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55119 .each = .{ .once = &.{59175 .each = .{ .once = &.{
55120 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },59176 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -55131,7 +59187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55131,7 +59187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55131 }, .{59187 }, .{
55132 .required_features = .{ .@"64bit", .sse2, null, null },59188 .required_features = .{ .@"64bit", .sse2, null, null },
55133 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },59189 .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 },
55135 .patterns = &.{59191 .patterns = &.{
55136 .{ .src = .{ .to_mem, .none, .none } },59192 .{ .src = .{ .to_mem, .none, .none } },
55137 },59193 },
...@@ -55147,7 +59203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55147,7 +59203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55147 .unused,59203 .unused,
55148 .unused,59204 .unused,
55149 },59205 },
55150 .dst_temps = .{.mem},59206 .dst_temps = .{ .mem, .unused },
55151 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59207 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55152 .each = .{ .once = &.{59208 .each = .{ .once = &.{
55153 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },59209 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -55164,7 +59220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55164,7 +59220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55164 }, .{59220 }, .{
55165 .required_features = .{ .@"64bit", .sse2, null, null },59221 .required_features = .{ .@"64bit", .sse2, null, null },
55166 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },59222 .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 },
55168 .patterns = &.{59224 .patterns = &.{
55169 .{ .src = .{ .to_mem, .none, .none } },59225 .{ .src = .{ .to_mem, .none, .none } },
55170 },59226 },
...@@ -55180,7 +59236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55180,7 +59236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55180 .unused,59236 .unused,
55181 .unused,59237 .unused,
55182 },59238 },
55183 .dst_temps = .{.mem},59239 .dst_temps = .{ .mem, .unused },
55184 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59240 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55185 .each = .{ .once = &.{59241 .each = .{ .once = &.{
55186 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },59242 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -55197,7 +59253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55197,7 +59253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55197 }, .{59253 }, .{
55198 .required_features = .{ .@"64bit", .sse, null, null },59254 .required_features = .{ .@"64bit", .sse, null, null },
55199 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },59255 .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 },
55201 .patterns = &.{59257 .patterns = &.{
55202 .{ .src = .{ .to_mem, .none, .none } },59258 .{ .src = .{ .to_mem, .none, .none } },
55203 },59259 },
...@@ -55213,7 +59269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55213,7 +59269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55213 .unused,59269 .unused,
55214 .unused,59270 .unused,
55215 },59271 },
55216 .dst_temps = .{.mem},59272 .dst_temps = .{ .mem, .unused },
55217 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59273 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55218 .each = .{ .once = &.{59274 .each = .{ .once = &.{
55219 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },59275 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -55230,7 +59286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55230,7 +59286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55230 }, .{59286 }, .{
55231 .required_features = .{ .@"64bit", .sse, null, null },59287 .required_features = .{ .@"64bit", .sse, null, null },
55232 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },59288 .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 },
55234 .patterns = &.{59290 .patterns = &.{
55235 .{ .src = .{ .to_mem, .none, .none } },59291 .{ .src = .{ .to_mem, .none, .none } },
55236 },59292 },
...@@ -55246,7 +59302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55246,7 +59302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55246 .unused,59302 .unused,
55247 .unused,59303 .unused,
55248 },59304 },
55249 .dst_temps = .{.mem},59305 .dst_temps = .{ .mem, .unused },
55250 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59306 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55251 .each = .{ .once = &.{59307 .each = .{ .once = &.{
55252 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },59308 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -55263,7 +59319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55263,7 +59319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55263 }, .{59319 }, .{
55264 .required_features = .{ .avx, .slow_incdec, null, null },59320 .required_features = .{ .avx, .slow_incdec, null, null },
55265 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59321 .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 },
55267 .patterns = &.{59323 .patterns = &.{
55268 .{ .src = .{ .to_mem, .none, .none } },59324 .{ .src = .{ .to_mem, .none, .none } },
55269 },59325 },
...@@ -55279,7 +59335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55279,7 +59335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55279 .unused,59335 .unused,
55280 .unused,59336 .unused,
55281 },59337 },
55282 .dst_temps = .{.mem},59338 .dst_temps = .{ .mem, .unused },
55283 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59339 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55284 .each = .{ .once = &.{59340 .each = .{ .once = &.{
55285 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },59341 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -55294,7 +59350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55294,7 +59350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55294 }, .{59350 }, .{
55295 .required_features = .{ .avx, null, null, null },59351 .required_features = .{ .avx, null, null, null },
55296 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59352 .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 },
55298 .patterns = &.{59354 .patterns = &.{
55299 .{ .src = .{ .to_mem, .none, .none } },59355 .{ .src = .{ .to_mem, .none, .none } },
55300 },59356 },
...@@ -55310,7 +59366,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55310,7 +59366,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55310 .unused,59366 .unused,
55311 .unused,59367 .unused,
55312 },59368 },
55313 .dst_temps = .{.mem},59369 .dst_temps = .{ .mem, .unused },
55314 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59370 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55315 .each = .{ .once = &.{59371 .each = .{ .once = &.{
55316 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },59372 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -55325,7 +59381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55325,7 +59381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55325 }, .{59381 }, .{
55326 .required_features = .{ .sse2, .slow_incdec, null, null },59382 .required_features = .{ .sse2, .slow_incdec, null, null },
55327 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59383 .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 },
55329 .patterns = &.{59385 .patterns = &.{
55330 .{ .src = .{ .to_mem, .none, .none } },59386 .{ .src = .{ .to_mem, .none, .none } },
55331 },59387 },
...@@ -55341,7 +59397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55341,7 +59397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55341 .unused,59397 .unused,
55342 .unused,59398 .unused,
55343 },59399 },
55344 .dst_temps = .{.mem},59400 .dst_temps = .{ .mem, .unused },
55345 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59401 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55346 .each = .{ .once = &.{59402 .each = .{ .once = &.{
55347 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },59403 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -55356,7 +59412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55356,7 +59412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55356 }, .{59412 }, .{
55357 .required_features = .{ .sse2, null, null, null },59413 .required_features = .{ .sse2, null, null, null },
55358 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59414 .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 },
55360 .patterns = &.{59416 .patterns = &.{
55361 .{ .src = .{ .to_mem, .none, .none } },59417 .{ .src = .{ .to_mem, .none, .none } },
55362 },59418 },
...@@ -55372,7 +59428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55372,7 +59428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55372 .unused,59428 .unused,
55373 .unused,59429 .unused,
55374 },59430 },
55375 .dst_temps = .{.mem},59431 .dst_temps = .{ .mem, .unused },
55376 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59432 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55377 .each = .{ .once = &.{59433 .each = .{ .once = &.{
55378 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },59434 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -55387,7 +59443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55387,7 +59443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55387 }, .{59443 }, .{
55388 .required_features = .{ .sse, .slow_incdec, null, null },59444 .required_features = .{ .sse, .slow_incdec, null, null },
55389 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59445 .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 },
55391 .patterns = &.{59447 .patterns = &.{
55392 .{ .src = .{ .to_mem, .none, .none } },59448 .{ .src = .{ .to_mem, .none, .none } },
55393 },59449 },
...@@ -55403,7 +59459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55403,7 +59459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55403 .unused,59459 .unused,
55404 .unused,59460 .unused,
55405 },59461 },
55406 .dst_temps = .{.mem},59462 .dst_temps = .{ .mem, .unused },
55407 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55408 .each = .{ .once = &.{59464 .each = .{ .once = &.{
55409 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },59465 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -55418,7 +59474,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55418,7 +59474,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55418 }, .{59474 }, .{
55419 .required_features = .{ .sse, null, null, null },59475 .required_features = .{ .sse, null, null, null },
55420 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59476 .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 },
55422 .patterns = &.{59478 .patterns = &.{
55423 .{ .src = .{ .to_mem, .none, .none } },59479 .{ .src = .{ .to_mem, .none, .none } },
55424 },59480 },
...@@ -55434,7 +59490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55434,7 +59490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55434 .unused,59490 .unused,
55435 .unused,59491 .unused,
55436 },59492 },
55437 .dst_temps = .{.mem},59493 .dst_temps = .{ .mem, .unused },
55438 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59494 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55439 .each = .{ .once = &.{59495 .each = .{ .once = &.{
55440 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },59496 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -55449,7 +59505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55449,7 +59505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55449 }, .{59505 }, .{
55450 .required_features = .{ .avx, null, null, null },59506 .required_features = .{ .avx, null, null, null },
55451 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59507 .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 },
55453 .patterns = &.{59509 .patterns = &.{
55454 .{ .src = .{ .to_mem, .none, .none } },59510 .{ .src = .{ .to_mem, .none, .none } },
55455 },59511 },
...@@ -55465,7 +59521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55465,7 +59521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55465 .unused,59521 .unused,
55466 .unused,59522 .unused,
55467 },59523 },
55468 .dst_temps = .{.mem},59524 .dst_temps = .{ .mem, .unused },
55469 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59525 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55470 .each = .{ .once = &.{59526 .each = .{ .once = &.{
55471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59527 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55478,7 +59534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55478,7 +59534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55478 }, .{59534 }, .{
55479 .required_features = .{ .sse2, null, null, null },59535 .required_features = .{ .sse2, null, null, null },
55480 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59536 .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 },
55482 .patterns = &.{59538 .patterns = &.{
55483 .{ .src = .{ .to_mem, .none, .none } },59539 .{ .src = .{ .to_mem, .none, .none } },
55484 },59540 },
...@@ -55494,7 +59550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55494,7 +59550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55494 .unused,59550 .unused,
55495 .unused,59551 .unused,
55496 },59552 },
55497 .dst_temps = .{.mem},59553 .dst_temps = .{ .mem, .unused },
55498 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59554 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55499 .each = .{ .once = &.{59555 .each = .{ .once = &.{
55500 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59556 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55507,7 +59563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55507,7 +59563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55507 }, .{59563 }, .{
55508 .required_features = .{ .sse, null, null, null },59564 .required_features = .{ .sse, null, null, null },
55509 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59565 .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 },
55511 .patterns = &.{59567 .patterns = &.{
55512 .{ .src = .{ .to_mem, .none, .none } },59568 .{ .src = .{ .to_mem, .none, .none } },
55513 },59569 },
...@@ -55523,7 +59579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55523,7 +59579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55523 .unused,59579 .unused,
55524 .unused,59580 .unused,
55525 },59581 },
55526 .dst_temps = .{.mem},59582 .dst_temps = .{ .mem, .unused },
55527 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59583 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55528 .each = .{ .once = &.{59584 .each = .{ .once = &.{
55529 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59585 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55536,7 +59592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55536,7 +59592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55536 }, .{59592 }, .{
55537 .required_features = .{ .sse, null, null, null },59593 .required_features = .{ .sse, null, null, null },
55538 .src_constraints = .{ .{ .float = .xword }, .any, .any },59594 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55539 .dst_constraints = .{.{ .signed_int = .dword }},59595 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
55540 .patterns = &.{59596 .patterns = &.{
55541 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },59597 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
55542 },59598 },
...@@ -55552,7 +59608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55552,7 +59608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55552 .unused,59608 .unused,
55553 .unused,59609 .unused,
55554 },59610 },
55555 .dst_temps = .{.{ .reg = .eax }},59611 .dst_temps = .{ .{ .reg = .eax }, .unused },
55556 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59612 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55557 .each = .{ .once = &.{59613 .each = .{ .once = &.{
55558 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },59614 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -55560,7 +59616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55560,7 +59616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55560 }, .{59616 }, .{
55561 .required_features = .{ .sse, null, null, null },59617 .required_features = .{ .sse, null, null, null },
55562 .src_constraints = .{ .{ .float = .xword }, .any, .any },59618 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55563 .dst_constraints = .{.{ .unsigned_int = .dword }},59619 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
55564 .patterns = &.{59620 .patterns = &.{
55565 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },59621 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
55566 },59622 },
...@@ -55576,7 +59632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55576,7 +59632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55576 .unused,59632 .unused,
55577 .unused,59633 .unused,
55578 },59634 },
55579 .dst_temps = .{.{ .reg = .eax }},59635 .dst_temps = .{ .{ .reg = .eax }, .unused },
55580 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59636 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55581 .each = .{ .once = &.{59637 .each = .{ .once = &.{
55582 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },59638 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -55584,7 +59640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55584,7 +59640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55584 }, .{59640 }, .{
55585 .required_features = .{ .avx, null, null, null },59641 .required_features = .{ .avx, null, null, null },
55586 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59642 .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 },
55588 .patterns = &.{59644 .patterns = &.{
55589 .{ .src = .{ .to_mem, .none, .none } },59645 .{ .src = .{ .to_mem, .none, .none } },
55590 },59646 },
...@@ -55600,7 +59656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55600,7 +59656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55600 .unused,59656 .unused,
55601 .unused,59657 .unused,
55602 },59658 },
55603 .dst_temps = .{.mem},59659 .dst_temps = .{ .mem, .unused },
55604 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59660 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55605 .each = .{ .once = &.{59661 .each = .{ .once = &.{
55606 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59662 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55613,7 +59669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55613,7 +59669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55613 }, .{59669 }, .{
55614 .required_features = .{ .avx, null, null, null },59670 .required_features = .{ .avx, null, null, null },
55615 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59671 .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 },
55617 .patterns = &.{59673 .patterns = &.{
55618 .{ .src = .{ .to_mem, .none, .none } },59674 .{ .src = .{ .to_mem, .none, .none } },
55619 },59675 },
...@@ -55629,7 +59685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55629,7 +59685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55629 .unused,59685 .unused,
55630 .unused,59686 .unused,
55631 },59687 },
55632 .dst_temps = .{.mem},59688 .dst_temps = .{ .mem, .unused },
55633 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59689 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55634 .each = .{ .once = &.{59690 .each = .{ .once = &.{
55635 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59691 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55642,7 +59698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55642,7 +59698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55642 }, .{59698 }, .{
55643 .required_features = .{ .sse2, null, null, null },59699 .required_features = .{ .sse2, null, null, null },
55644 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59700 .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 },
55646 .patterns = &.{59702 .patterns = &.{
55647 .{ .src = .{ .to_mem, .none, .none } },59703 .{ .src = .{ .to_mem, .none, .none } },
55648 },59704 },
...@@ -55658,7 +59714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55658,7 +59714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55658 .unused,59714 .unused,
55659 .unused,59715 .unused,
55660 },59716 },
55661 .dst_temps = .{.mem},59717 .dst_temps = .{ .mem, .unused },
55662 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59718 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55663 .each = .{ .once = &.{59719 .each = .{ .once = &.{
55664 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59720 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55671,7 +59727,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55671,7 +59727,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55671 }, .{59727 }, .{
55672 .required_features = .{ .sse2, null, null, null },59728 .required_features = .{ .sse2, null, null, null },
55673 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59729 .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 },
55675 .patterns = &.{59731 .patterns = &.{
55676 .{ .src = .{ .to_mem, .none, .none } },59732 .{ .src = .{ .to_mem, .none, .none } },
55677 },59733 },
...@@ -55687,7 +59743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55687,7 +59743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55687 .unused,59743 .unused,
55688 .unused,59744 .unused,
55689 },59745 },
55690 .dst_temps = .{.mem},59746 .dst_temps = .{ .mem, .unused },
55691 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59747 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55692 .each = .{ .once = &.{59748 .each = .{ .once = &.{
55693 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59749 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55700,7 +59756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55700,7 +59756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55700 }, .{59756 }, .{
55701 .required_features = .{ .sse, null, null, null },59757 .required_features = .{ .sse, null, null, null },
55702 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59758 .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 },
55704 .patterns = &.{59760 .patterns = &.{
55705 .{ .src = .{ .to_mem, .none, .none } },59761 .{ .src = .{ .to_mem, .none, .none } },
55706 },59762 },
...@@ -55716,7 +59772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55716,7 +59772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55716 .unused,59772 .unused,
55717 .unused,59773 .unused,
55718 },59774 },
55719 .dst_temps = .{.mem},59775 .dst_temps = .{ .mem, .unused },
55720 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59776 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55721 .each = .{ .once = &.{59777 .each = .{ .once = &.{
55722 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59778 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55729,7 +59785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55729,7 +59785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55729 }, .{59785 }, .{
55730 .required_features = .{ .sse, null, null, null },59786 .required_features = .{ .sse, null, null, null },
55731 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59787 .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 },
55733 .patterns = &.{59789 .patterns = &.{
55734 .{ .src = .{ .to_mem, .none, .none } },59790 .{ .src = .{ .to_mem, .none, .none } },
55735 },59791 },
...@@ -55745,7 +59801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55745,7 +59801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55745 .unused,59801 .unused,
55746 .unused,59802 .unused,
55747 },59803 },
55748 .dst_temps = .{.mem},59804 .dst_temps = .{ .mem, .unused },
55749 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59805 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55750 .each = .{ .once = &.{59806 .each = .{ .once = &.{
55751 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59807 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55758,7 +59814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55758,7 +59814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55758 }, .{59814 }, .{
55759 .required_features = .{ .@"64bit", .sse, null, null },59815 .required_features = .{ .@"64bit", .sse, null, null },
55760 .src_constraints = .{ .{ .float = .xword }, .any, .any },59816 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55761 .dst_constraints = .{.{ .signed_int = .qword }},59817 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
55762 .patterns = &.{59818 .patterns = &.{
55763 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },59819 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
55764 },59820 },
...@@ -55774,7 +59830,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55774,7 +59830,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55774 .unused,59830 .unused,
55775 .unused,59831 .unused,
55776 },59832 },
55777 .dst_temps = .{.{ .reg = .rax }},59833 .dst_temps = .{ .{ .reg = .rax }, .unused },
55778 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59834 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55779 .each = .{ .once = &.{59835 .each = .{ .once = &.{
55780 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },59836 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -55782,7 +59838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55782,7 +59838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55782 }, .{59838 }, .{
55783 .required_features = .{ .@"64bit", .sse, null, null },59839 .required_features = .{ .@"64bit", .sse, null, null },
55784 .src_constraints = .{ .{ .float = .xword }, .any, .any },59840 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55785 .dst_constraints = .{.{ .unsigned_int = .qword }},59841 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
55786 .patterns = &.{59842 .patterns = &.{
55787 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },59843 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
55788 },59844 },
...@@ -55798,7 +59854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55798,7 +59854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55798 .unused,59854 .unused,
55799 .unused,59855 .unused,
55800 },59856 },
55801 .dst_temps = .{.{ .reg = .rax }},59857 .dst_temps = .{ .{ .reg = .rax }, .unused },
55802 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55803 .each = .{ .once = &.{59859 .each = .{ .once = &.{
55804 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },59860 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -55806,7 +59862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55806,7 +59862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55806 }, .{59862 }, .{
55807 .required_features = .{ .@"64bit", .avx, null, null },59863 .required_features = .{ .@"64bit", .avx, null, null },
55808 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59864 .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 },
55810 .patterns = &.{59866 .patterns = &.{
55811 .{ .src = .{ .to_mem, .none, .none } },59867 .{ .src = .{ .to_mem, .none, .none } },
55812 },59868 },
...@@ -55822,7 +59878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55822,7 +59878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55822 .unused,59878 .unused,
55823 .unused,59879 .unused,
55824 },59880 },
55825 .dst_temps = .{.mem},59881 .dst_temps = .{ .mem, .unused },
55826 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59882 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55827 .each = .{ .once = &.{59883 .each = .{ .once = &.{
55828 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59884 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55835,7 +59891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55835,7 +59891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55835 }, .{59891 }, .{
55836 .required_features = .{ .@"64bit", .avx, null, null },59892 .required_features = .{ .@"64bit", .avx, null, null },
55837 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59893 .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 },
55839 .patterns = &.{59895 .patterns = &.{
55840 .{ .src = .{ .to_mem, .none, .none } },59896 .{ .src = .{ .to_mem, .none, .none } },
55841 },59897 },
...@@ -55851,7 +59907,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55851,7 +59907,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55851 .unused,59907 .unused,
55852 .unused,59908 .unused,
55853 },59909 },
55854 .dst_temps = .{.mem},59910 .dst_temps = .{ .mem, .unused },
55855 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59911 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55856 .each = .{ .once = &.{59912 .each = .{ .once = &.{
55857 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59913 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55864,7 +59920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55864,7 +59920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55864 }, .{59920 }, .{
55865 .required_features = .{ .@"64bit", .sse2, null, null },59921 .required_features = .{ .@"64bit", .sse2, null, null },
55866 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59922 .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 },
55868 .patterns = &.{59924 .patterns = &.{
55869 .{ .src = .{ .to_mem, .none, .none } },59925 .{ .src = .{ .to_mem, .none, .none } },
55870 },59926 },
...@@ -55880,7 +59936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55880,7 +59936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55880 .unused,59936 .unused,
55881 .unused,59937 .unused,
55882 },59938 },
55883 .dst_temps = .{.mem},59939 .dst_temps = .{ .mem, .unused },
55884 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59940 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55885 .each = .{ .once = &.{59941 .each = .{ .once = &.{
55886 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59942 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55893,7 +59949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55893,7 +59949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55893 }, .{59949 }, .{
55894 .required_features = .{ .@"64bit", .sse2, null, null },59950 .required_features = .{ .@"64bit", .sse2, null, null },
55895 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59951 .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 },
55897 .patterns = &.{59953 .patterns = &.{
55898 .{ .src = .{ .to_mem, .none, .none } },59954 .{ .src = .{ .to_mem, .none, .none } },
55899 },59955 },
...@@ -55909,7 +59965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55909,7 +59965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55909 .unused,59965 .unused,
55910 .unused,59966 .unused,
55911 },59967 },
55912 .dst_temps = .{.mem},59968 .dst_temps = .{ .mem, .unused },
55913 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59969 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55914 .each = .{ .once = &.{59970 .each = .{ .once = &.{
55915 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },59971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55922,7 +59978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55922,7 +59978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55922 }, .{59978 }, .{
55923 .required_features = .{ .@"64bit", .sse, null, null },59979 .required_features = .{ .@"64bit", .sse, null, null },
55924 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },59980 .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 },
55926 .patterns = &.{59982 .patterns = &.{
55927 .{ .src = .{ .to_mem, .none, .none } },59983 .{ .src = .{ .to_mem, .none, .none } },
55928 },59984 },
...@@ -55938,7 +59994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55938,7 +59994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55938 .unused,59994 .unused,
55939 .unused,59995 .unused,
55940 },59996 },
55941 .dst_temps = .{.mem},59997 .dst_temps = .{ .mem, .unused },
55942 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },59998 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55943 .each = .{ .once = &.{59999 .each = .{ .once = &.{
55944 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },60000 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55951,7 +60007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55951,7 +60007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55951 }, .{60007 }, .{
55952 .required_features = .{ .@"64bit", .sse, null, null },60008 .required_features = .{ .@"64bit", .sse, null, null },
55953 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60009 .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 },
55955 .patterns = &.{60011 .patterns = &.{
55956 .{ .src = .{ .to_mem, .none, .none } },60012 .{ .src = .{ .to_mem, .none, .none } },
55957 },60013 },
...@@ -55967,7 +60023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55967,7 +60023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55967 .unused,60023 .unused,
55968 .unused,60024 .unused,
55969 },60025 },
55970 .dst_temps = .{.mem},60026 .dst_temps = .{ .mem, .unused },
55971 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60027 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
55972 .each = .{ .once = &.{60028 .each = .{ .once = &.{
55973 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },60029 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -55980,7 +60036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55980,7 +60036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55980 }, .{60036 }, .{
55981 .required_features = .{ .@"64bit", .sse, null, null },60037 .required_features = .{ .@"64bit", .sse, null, null },
55982 .src_constraints = .{ .{ .float = .xword }, .any, .any },60038 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55983 .dst_constraints = .{.{ .signed_int = .xword }},60039 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
55984 .patterns = &.{60040 .patterns = &.{
55985 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },60041 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
55986 },60042 },
...@@ -55996,7 +60052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -55996,7 +60052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55996 .unused,60052 .unused,
55997 .unused,60053 .unused,
55998 },60054 },
55999 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},60055 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
56000 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60056 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56001 .each = .{ .once = &.{60057 .each = .{ .once = &.{
56002 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60058 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56004,7 +60060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56004,7 +60060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56004 }, .{60060 }, .{
56005 .required_features = .{ .@"64bit", .sse, null, null },60061 .required_features = .{ .@"64bit", .sse, null, null },
56006 .src_constraints = .{ .{ .float = .xword }, .any, .any },60062 .src_constraints = .{ .{ .float = .xword }, .any, .any },
56007 .dst_constraints = .{.{ .unsigned_int = .xword }},60063 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
56008 .patterns = &.{60064 .patterns = &.{
56009 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },60065 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
56010 },60066 },
...@@ -56020,7 +60076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56020,7 +60076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56020 .unused,60076 .unused,
56021 .unused,60077 .unused,
56022 },60078 },
56023 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},60079 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
56024 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60080 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56025 .each = .{ .once = &.{60081 .each = .{ .once = &.{
56026 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60082 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56028,7 +60084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56028,7 +60084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56028 }, .{60084 }, .{
56029 .required_features = .{ .@"64bit", .avx, null, null },60085 .required_features = .{ .@"64bit", .avx, null, null },
56030 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60086 .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 },
56032 .patterns = &.{60088 .patterns = &.{
56033 .{ .src = .{ .to_mem, .none, .none } },60089 .{ .src = .{ .to_mem, .none, .none } },
56034 },60090 },
...@@ -56044,7 +60100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56044,7 +60100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56044 .unused,60100 .unused,
56045 .unused,60101 .unused,
56046 },60102 },
56047 .dst_temps = .{.mem},60103 .dst_temps = .{ .mem, .unused },
56048 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60104 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56049 .each = .{ .once = &.{60105 .each = .{ .once = &.{
56050 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60106 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56058,7 +60114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56058,7 +60114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56058 }, .{60114 }, .{
56059 .required_features = .{ .@"64bit", .avx, null, null },60115 .required_features = .{ .@"64bit", .avx, null, null },
56060 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60116 .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 },
56062 .patterns = &.{60118 .patterns = &.{
56063 .{ .src = .{ .to_mem, .none, .none } },60119 .{ .src = .{ .to_mem, .none, .none } },
56064 },60120 },
...@@ -56074,7 +60130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56074,7 +60130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56074 .unused,60130 .unused,
56075 .unused,60131 .unused,
56076 },60132 },
56077 .dst_temps = .{.mem},60133 .dst_temps = .{ .mem, .unused },
56078 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60134 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56079 .each = .{ .once = &.{60135 .each = .{ .once = &.{
56080 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60136 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56088,7 +60144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56088,7 +60144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56088 }, .{60144 }, .{
56089 .required_features = .{ .@"64bit", .sse2, null, null },60145 .required_features = .{ .@"64bit", .sse2, null, null },
56090 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60146 .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 },
56092 .patterns = &.{60148 .patterns = &.{
56093 .{ .src = .{ .to_mem, .none, .none } },60149 .{ .src = .{ .to_mem, .none, .none } },
56094 },60150 },
...@@ -56104,7 +60160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56104,7 +60160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56104 .unused,60160 .unused,
56105 .unused,60161 .unused,
56106 },60162 },
56107 .dst_temps = .{.mem},60163 .dst_temps = .{ .mem, .unused },
56108 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60164 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56109 .each = .{ .once = &.{60165 .each = .{ .once = &.{
56110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56118,7 +60174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56118,7 +60174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56118 }, .{60174 }, .{
56119 .required_features = .{ .@"64bit", .sse2, null, null },60175 .required_features = .{ .@"64bit", .sse2, null, null },
56120 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60176 .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 },
56122 .patterns = &.{60178 .patterns = &.{
56123 .{ .src = .{ .to_mem, .none, .none } },60179 .{ .src = .{ .to_mem, .none, .none } },
56124 },60180 },
...@@ -56134,7 +60190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56134,7 +60190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56134 .unused,60190 .unused,
56135 .unused,60191 .unused,
56136 },60192 },
56137 .dst_temps = .{.mem},60193 .dst_temps = .{ .mem, .unused },
56138 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60194 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56139 .each = .{ .once = &.{60195 .each = .{ .once = &.{
56140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60196 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56148,7 +60204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56148,7 +60204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56148 }, .{60204 }, .{
56149 .required_features = .{ .@"64bit", .sse, null, null },60205 .required_features = .{ .@"64bit", .sse, null, null },
56150 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60206 .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 },
56152 .patterns = &.{60208 .patterns = &.{
56153 .{ .src = .{ .to_mem, .none, .none } },60209 .{ .src = .{ .to_mem, .none, .none } },
56154 },60210 },
...@@ -56164,7 +60220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56164,7 +60220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56164 .unused,60220 .unused,
56165 .unused,60221 .unused,
56166 },60222 },
56167 .dst_temps = .{.mem},60223 .dst_temps = .{ .mem, .unused },
56168 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60224 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56169 .each = .{ .once = &.{60225 .each = .{ .once = &.{
56170 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60226 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56178,7 +60234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56178,7 +60234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56178 }, .{60234 }, .{
56179 .required_features = .{ .@"64bit", .sse, null, null },60235 .required_features = .{ .@"64bit", .sse, null, null },
56180 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60236 .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 },
56182 .patterns = &.{60238 .patterns = &.{
56183 .{ .src = .{ .to_mem, .none, .none } },60239 .{ .src = .{ .to_mem, .none, .none } },
56184 },60240 },
...@@ -56194,7 +60250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56194,7 +60250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56194 .unused,60250 .unused,
56195 .unused,60251 .unused,
56196 },60252 },
56197 .dst_temps = .{.mem},60253 .dst_temps = .{ .mem, .unused },
56198 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60254 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56199 .each = .{ .once = &.{60255 .each = .{ .once = &.{
56200 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60256 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56208,7 +60264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56208,7 +60264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56208 }, .{60264 }, .{
56209 .required_features = .{ .@"64bit", .sse, null, null },60265 .required_features = .{ .@"64bit", .sse, null, null },
56210 .src_constraints = .{ .{ .float = .xword }, .any, .any },60266 .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 },
56212 .patterns = &.{60268 .patterns = &.{
56213 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },60269 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
56214 },60270 },
...@@ -56224,7 +60280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56224,7 +60280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56224 .unused,60280 .unused,
56225 .unused,60281 .unused,
56226 },60282 },
56227 .dst_temps = .{.mem},60283 .dst_temps = .{ .mem, .unused },
56228 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60284 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56229 .each = .{ .once = &.{60285 .each = .{ .once = &.{
56230 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },60286 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -56234,7 +60290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56234,7 +60290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56234 }, .{60290 }, .{
56235 .required_features = .{ .@"64bit", .sse, null, null },60291 .required_features = .{ .@"64bit", .sse, null, null },
56236 .src_constraints = .{ .{ .float = .xword }, .any, .any },60292 .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 },
56238 .patterns = &.{60294 .patterns = &.{
56239 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },60295 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
56240 },60296 },
...@@ -56250,7 +60306,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56250,7 +60306,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56250 .unused,60306 .unused,
56251 .unused,60307 .unused,
56252 },60308 },
56253 .dst_temps = .{.mem},60309 .dst_temps = .{ .mem, .unused },
56254 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60310 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56255 .each = .{ .once = &.{60311 .each = .{ .once = &.{
56256 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },60312 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
...@@ -56260,7 +60316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56260,7 +60316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56260 }, .{60316 }, .{
56261 .required_features = .{ .@"64bit", .avx, null, null },60317 .required_features = .{ .@"64bit", .avx, null, null },
56262 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60318 .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 },
56264 .patterns = &.{60320 .patterns = &.{
56265 .{ .src = .{ .to_mem, .none, .none } },60321 .{ .src = .{ .to_mem, .none, .none } },
56266 },60322 },
...@@ -56276,7 +60332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56276,7 +60332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56276 .unused,60332 .unused,
56277 .unused,60333 .unused,
56278 },60334 },
56279 .dst_temps = .{.mem},60335 .dst_temps = .{ .mem, .unused },
56280 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60336 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56281 .each = .{ .once = &.{60337 .each = .{ .once = &.{
56282 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60338 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56292,7 +60348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56292,7 +60348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56292 }, .{60348 }, .{
56293 .required_features = .{ .@"64bit", .avx, null, null },60349 .required_features = .{ .@"64bit", .avx, null, null },
56294 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60350 .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 },
56296 .patterns = &.{60352 .patterns = &.{
56297 .{ .src = .{ .to_mem, .none, .none } },60353 .{ .src = .{ .to_mem, .none, .none } },
56298 },60354 },
...@@ -56308,7 +60364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56308,7 +60364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56308 .unused,60364 .unused,
56309 .unused,60365 .unused,
56310 },60366 },
56311 .dst_temps = .{.mem},60367 .dst_temps = .{ .mem, .unused },
56312 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60368 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56313 .each = .{ .once = &.{60369 .each = .{ .once = &.{
56314 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56324,7 +60380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56324,7 +60380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56324 }, .{60380 }, .{
56325 .required_features = .{ .@"64bit", .sse2, null, null },60381 .required_features = .{ .@"64bit", .sse2, null, null },
56326 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60382 .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 },
56328 .patterns = &.{60384 .patterns = &.{
56329 .{ .src = .{ .to_mem, .none, .none } },60385 .{ .src = .{ .to_mem, .none, .none } },
56330 },60386 },
...@@ -56340,7 +60396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56340,7 +60396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56340 .unused,60396 .unused,
56341 .unused,60397 .unused,
56342 },60398 },
56343 .dst_temps = .{.mem},60399 .dst_temps = .{ .mem, .unused },
56344 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60400 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56345 .each = .{ .once = &.{60401 .each = .{ .once = &.{
56346 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60402 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56356,7 +60412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56356,7 +60412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56356 }, .{60412 }, .{
56357 .required_features = .{ .@"64bit", .sse2, null, null },60413 .required_features = .{ .@"64bit", .sse2, null, null },
56358 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60414 .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 },
56360 .patterns = &.{60416 .patterns = &.{
56361 .{ .src = .{ .to_mem, .none, .none } },60417 .{ .src = .{ .to_mem, .none, .none } },
56362 },60418 },
...@@ -56372,7 +60428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56372,7 +60428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56372 .unused,60428 .unused,
56373 .unused,60429 .unused,
56374 },60430 },
56375 .dst_temps = .{.mem},60431 .dst_temps = .{ .mem, .unused },
56376 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60432 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56377 .each = .{ .once = &.{60433 .each = .{ .once = &.{
56378 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60434 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56388,7 +60444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56388,7 +60444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56388 }, .{60444 }, .{
56389 .required_features = .{ .@"64bit", .sse, null, null },60445 .required_features = .{ .@"64bit", .sse, null, null },
56390 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60446 .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 },
56392 .patterns = &.{60448 .patterns = &.{
56393 .{ .src = .{ .to_mem, .none, .none } },60449 .{ .src = .{ .to_mem, .none, .none } },
56394 },60450 },
...@@ -56404,7 +60460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56404,7 +60460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56404 .unused,60460 .unused,
56405 .unused,60461 .unused,
56406 },60462 },
56407 .dst_temps = .{.mem},60463 .dst_temps = .{ .mem, .unused },
56408 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60464 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56409 .each = .{ .once = &.{60465 .each = .{ .once = &.{
56410 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60466 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56420,7 +60476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56420,7 +60476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56420 }, .{60476 }, .{
56421 .required_features = .{ .@"64bit", .sse, null, null },60477 .required_features = .{ .@"64bit", .sse, null, null },
56422 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },60478 .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 },
56424 .patterns = &.{60480 .patterns = &.{
56425 .{ .src = .{ .to_mem, .none, .none } },60481 .{ .src = .{ .to_mem, .none, .none } },
56426 },60482 },
...@@ -56436,7 +60492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56436,7 +60492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56436 .unused,60492 .unused,
56437 .unused,60493 .unused,
56438 },60494 },
56439 .dst_temps = .{.mem},60495 .dst_temps = .{ .mem, .unused },
56440 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60496 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56441 .each = .{ .once = &.{60497 .each = .{ .once = &.{
56442 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },60498 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -56467,7 +60523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56467,7 +60523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56467 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{60523 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
56468 .required_features = .{ .f16c, null, null, null },60524 .required_features = .{ .f16c, null, null, null },
56469 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },60525 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
56470 .dst_constraints = .{.{ .float = .word }},60526 .dst_constraints = .{ .{ .float = .word }, .any },
56471 .patterns = &.{60527 .patterns = &.{
56472 .{ .src = .{ .mem, .none, .none } },60528 .{ .src = .{ .mem, .none, .none } },
56473 .{ .src = .{ .to_gpr, .none, .none } },60529 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -56483,7 +60539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56483,7 +60539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56483 .unused,60539 .unused,
56484 .unused,60540 .unused,
56485 },60541 },
56486 .dst_temps = .{.{ .rc = .sse }},60542 .dst_temps = .{ .{ .rc = .sse }, .unused },
56487 .each = .{ .once = &.{60543 .each = .{ .once = &.{
56488 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },60544 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
56489 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60545 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -56493,7 +60549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56493,7 +60549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56493 }, .{60549 }, .{
56494 .required_features = .{ .f16c, null, null, null },60550 .required_features = .{ .f16c, null, null, null },
56495 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },60551 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
56496 .dst_constraints = .{.{ .float = .word }},60552 .dst_constraints = .{ .{ .float = .word }, .any },
56497 .patterns = &.{60553 .patterns = &.{
56498 .{ .src = .{ .mem, .none, .none } },60554 .{ .src = .{ .mem, .none, .none } },
56499 .{ .src = .{ .to_gpr, .none, .none } },60555 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -56509,7 +60565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56509,7 +60565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56509 .unused,60565 .unused,
56510 .unused,60566 .unused,
56511 },60567 },
56512 .dst_temps = .{.{ .rc = .sse }},60568 .dst_temps = .{ .{ .rc = .sse }, .unused },
56513 .each = .{ .once = &.{60569 .each = .{ .once = &.{
56514 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },60570 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
56515 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60571 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -56519,7 +60575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56519,7 +60575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56519 }, .{60575 }, .{
56520 .required_features = .{ .f16c, null, null, null },60576 .required_features = .{ .f16c, null, null, null },
56521 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },60577 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
56522 .dst_constraints = .{.{ .float = .word }},60578 .dst_constraints = .{ .{ .float = .word }, .any },
56523 .patterns = &.{60579 .patterns = &.{
56524 .{ .src = .{ .mem, .none, .none } },60580 .{ .src = .{ .mem, .none, .none } },
56525 .{ .src = .{ .to_gpr, .none, .none } },60581 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -56535,7 +60591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56535,7 +60591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56535 .unused,60591 .unused,
56536 .unused,60592 .unused,
56537 },60593 },
56538 .dst_temps = .{.{ .rc = .sse }},60594 .dst_temps = .{ .{ .rc = .sse }, .unused },
56539 .each = .{ .once = &.{60595 .each = .{ .once = &.{
56540 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },60596 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
56541 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60597 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -56545,7 +60601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56545,7 +60601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56545 }, .{60601 }, .{
56546 .required_features = .{ .f16c, null, null, null },60602 .required_features = .{ .f16c, null, null, null },
56547 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },60603 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
56548 .dst_constraints = .{.{ .float = .word }},60604 .dst_constraints = .{ .{ .float = .word }, .any },
56549 .patterns = &.{60605 .patterns = &.{
56550 .{ .src = .{ .mem, .none, .none } },60606 .{ .src = .{ .mem, .none, .none } },
56551 .{ .src = .{ .to_gpr, .none, .none } },60607 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -56561,7 +60617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56561,7 +60617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56561 .unused,60617 .unused,
56562 .unused,60618 .unused,
56563 },60619 },
56564 .dst_temps = .{.{ .rc = .sse }},60620 .dst_temps = .{ .{ .rc = .sse }, .unused },
56565 .each = .{ .once = &.{60621 .each = .{ .once = &.{
56566 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },60622 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
56567 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60623 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -56571,12 +60627,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56571,12 +60627,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56571 }, .{60627 }, .{
56572 .required_features = .{ .f16c, null, null, null },60628 .required_features = .{ .f16c, null, null, null },
56573 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },60629 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
56574 .dst_constraints = .{.{ .float = .word }},60630 .dst_constraints = .{ .{ .float = .word }, .any },
56575 .patterns = &.{60631 .patterns = &.{
56576 .{ .src = .{ .mem, .none, .none } },60632 .{ .src = .{ .mem, .none, .none } },
56577 .{ .src = .{ .to_gpr, .none, .none } },60633 .{ .src = .{ .to_gpr, .none, .none } },
56578 },60634 },
56579 .dst_temps = .{.{ .rc = .sse }},60635 .dst_temps = .{ .{ .rc = .sse }, .unused },
56580 .each = .{ .once = &.{60636 .each = .{ .once = &.{
56581 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60637 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
56582 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },60638 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },
...@@ -56585,7 +60641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56585,7 +60641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56585 }, .{60641 }, .{
56586 .required_features = .{ .@"64bit", .f16c, null, null },60642 .required_features = .{ .@"64bit", .f16c, null, null },
56587 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },60643 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
56588 .dst_constraints = .{.{ .float = .word }},60644 .dst_constraints = .{ .{ .float = .word }, .any },
56589 .patterns = &.{60645 .patterns = &.{
56590 .{ .src = .{ .mem, .none, .none } },60646 .{ .src = .{ .mem, .none, .none } },
56591 .{ .src = .{ .to_gpr, .none, .none } },60647 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -56601,7 +60657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56601,7 +60657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56601 .unused,60657 .unused,
56602 .unused,60658 .unused,
56603 },60659 },
56604 .dst_temps = .{.{ .rc = .sse }},60660 .dst_temps = .{ .{ .rc = .sse }, .unused },
56605 .each = .{ .once = &.{60661 .each = .{ .once = &.{
56606 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },60662 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
56607 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60663 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -56611,12 +60667,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56611,12 +60667,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56611 }, .{60667 }, .{
56612 .required_features = .{ .@"64bit", .f16c, null, null },60668 .required_features = .{ .@"64bit", .f16c, null, null },
56613 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },60669 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
56614 .dst_constraints = .{.{ .float = .word }},60670 .dst_constraints = .{ .{ .float = .word }, .any },
56615 .patterns = &.{60671 .patterns = &.{
56616 .{ .src = .{ .mem, .none, .none } },60672 .{ .src = .{ .mem, .none, .none } },
56617 .{ .src = .{ .to_gpr, .none, .none } },60673 .{ .src = .{ .to_gpr, .none, .none } },
56618 },60674 },
56619 .dst_temps = .{.{ .rc = .sse }},60675 .dst_temps = .{ .{ .rc = .sse }, .unused },
56620 .each = .{ .once = &.{60676 .each = .{ .once = &.{
56621 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60677 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
56622 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },60678 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },
...@@ -56625,7 +60681,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56625,7 +60681,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56625 }, .{60681 }, .{
56626 .required_features = .{ .@"64bit", .f16c, null, null },60682 .required_features = .{ .@"64bit", .f16c, null, null },
56627 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },60683 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
56628 .dst_constraints = .{.{ .float = .word }},60684 .dst_constraints = .{ .{ .float = .word }, .any },
56629 .patterns = &.{60685 .patterns = &.{
56630 .{ .src = .{ .to_mut_gpr, .none, .none } },60686 .{ .src = .{ .to_mut_gpr, .none, .none } },
56631 },60687 },
...@@ -56640,7 +60696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56640,7 +60696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56640 .unused,60696 .unused,
56641 .unused,60697 .unused,
56642 },60698 },
56643 .dst_temps = .{.{ .rc = .sse }},60699 .dst_temps = .{ .{ .rc = .sse }, .unused },
56644 .clobbers = .{ .eflags = true },60700 .clobbers = .{ .eflags = true },
56645 .each = .{ .once = &.{60701 .each = .{ .once = &.{
56646 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },60702 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -56659,7 +60715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56659,7 +60715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56659 }, .{60715 }, .{
56660 .required_features = .{ .sse, null, null, null },60716 .required_features = .{ .sse, null, null, null },
56661 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },60717 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
56662 .dst_constraints = .{.{ .float = .word }},60718 .dst_constraints = .{ .{ .float = .word }, .any },
56663 .patterns = &.{60719 .patterns = &.{
56664 .{ .src = .{ .{ .to_reg = .dil }, .none, .none } },60720 .{ .src = .{ .{ .to_reg = .dil }, .none, .none } },
56665 },60721 },
...@@ -56675,7 +60731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56675,7 +60731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56675 .unused,60731 .unused,
56676 .unused,60732 .unused,
56677 },60733 },
56678 .dst_temps = .{.{ .reg = .xmm0 }},60734 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56679 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60735 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56680 .each = .{ .once = &.{60736 .each = .{ .once = &.{
56681 .{ ._, ._, .movsx, .src0d, .src0b, ._, ._ },60737 .{ ._, ._, .movsx, .src0d, .src0b, ._, ._ },
...@@ -56684,7 +60740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56684,7 +60740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56684 }, .{60740 }, .{
56685 .required_features = .{ .sse, null, null, null },60741 .required_features = .{ .sse, null, null, null },
56686 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },60742 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
56687 .dst_constraints = .{.{ .float = .word }},60743 .dst_constraints = .{ .{ .float = .word }, .any },
56688 .patterns = &.{60744 .patterns = &.{
56689 .{ .src = .{ .{ .to_reg = .dil }, .none, .none } },60745 .{ .src = .{ .{ .to_reg = .dil }, .none, .none } },
56690 },60746 },
...@@ -56700,7 +60756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56700,7 +60756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56700 .unused,60756 .unused,
56701 .unused,60757 .unused,
56702 },60758 },
56703 .dst_temps = .{.{ .reg = .xmm0 }},60759 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56704 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60760 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56705 .each = .{ .once = &.{60761 .each = .{ .once = &.{
56706 .{ ._, ._, .movzx, .src0d, .src0b, ._, ._ },60762 .{ ._, ._, .movzx, .src0d, .src0b, ._, ._ },
...@@ -56709,7 +60765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56709,7 +60765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56709 }, .{60765 }, .{
56710 .required_features = .{ .sse, null, null, null },60766 .required_features = .{ .sse, null, null, null },
56711 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },60767 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
56712 .dst_constraints = .{.{ .float = .word }},60768 .dst_constraints = .{ .{ .float = .word }, .any },
56713 .patterns = &.{60769 .patterns = &.{
56714 .{ .src = .{ .{ .to_reg = .di }, .none, .none } },60770 .{ .src = .{ .{ .to_reg = .di }, .none, .none } },
56715 },60771 },
...@@ -56725,7 +60781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56725,7 +60781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56725 .unused,60781 .unused,
56726 .unused,60782 .unused,
56727 },60783 },
56728 .dst_temps = .{.{ .reg = .xmm0 }},60784 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56729 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60785 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56730 .each = .{ .once = &.{60786 .each = .{ .once = &.{
56731 .{ ._, ._, .movsx, .src0d, .src0w, ._, ._ },60787 .{ ._, ._, .movsx, .src0d, .src0w, ._, ._ },
...@@ -56734,7 +60790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56734,7 +60790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56734 }, .{60790 }, .{
56735 .required_features = .{ .sse, null, null, null },60791 .required_features = .{ .sse, null, null, null },
56736 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },60792 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
56737 .dst_constraints = .{.{ .float = .word }},60793 .dst_constraints = .{ .{ .float = .word }, .any },
56738 .patterns = &.{60794 .patterns = &.{
56739 .{ .src = .{ .{ .to_reg = .di }, .none, .none } },60795 .{ .src = .{ .{ .to_reg = .di }, .none, .none } },
56740 },60796 },
...@@ -56750,7 +60806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56750,7 +60806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56750 .unused,60806 .unused,
56751 .unused,60807 .unused,
56752 },60808 },
56753 .dst_temps = .{.{ .reg = .xmm0 }},60809 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56754 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60810 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56755 .each = .{ .once = &.{60811 .each = .{ .once = &.{
56756 .{ ._, ._, .movzx, .src0d, .src0w, ._, ._ },60812 .{ ._, ._, .movzx, .src0d, .src0w, ._, ._ },
...@@ -56759,7 +60815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56759,7 +60815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56759 }, .{60815 }, .{
56760 .required_features = .{ .sse, null, null, null },60816 .required_features = .{ .sse, null, null, null },
56761 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },60817 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
56762 .dst_constraints = .{.{ .float = .word }},60818 .dst_constraints = .{ .{ .float = .word }, .any },
56763 .patterns = &.{60819 .patterns = &.{
56764 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },60820 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
56765 },60821 },
...@@ -56775,7 +60831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56775,7 +60831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56775 .unused,60831 .unused,
56776 .unused,60832 .unused,
56777 },60833 },
56778 .dst_temps = .{.{ .reg = .xmm0 }},60834 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56779 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60835 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56780 .each = .{ .once = &.{60836 .each = .{ .once = &.{
56781 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60837 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56783,7 +60839,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56783,7 +60839,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56783 }, .{60839 }, .{
56784 .required_features = .{ .sse, null, null, null },60840 .required_features = .{ .sse, null, null, null },
56785 .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any },60841 .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any },
56786 .dst_constraints = .{.{ .float = .word }},60842 .dst_constraints = .{ .{ .float = .word }, .any },
56787 .patterns = &.{60843 .patterns = &.{
56788 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },60844 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
56789 },60845 },
...@@ -56799,7 +60855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56799,7 +60855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56799 .unused,60855 .unused,
56800 .unused,60856 .unused,
56801 },60857 },
56802 .dst_temps = .{.{ .reg = .xmm0 }},60858 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56803 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60859 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56804 .each = .{ .once = &.{60860 .each = .{ .once = &.{
56805 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60861 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56807,7 +60863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56807,7 +60863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56807 }, .{60863 }, .{
56808 .required_features = .{ .@"64bit", .sse, null, null },60864 .required_features = .{ .@"64bit", .sse, null, null },
56809 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },60865 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },
56810 .dst_constraints = .{.{ .float = .word }},60866 .dst_constraints = .{ .{ .float = .word }, .any },
56811 .patterns = &.{60867 .patterns = &.{
56812 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },60868 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
56813 },60869 },
...@@ -56823,7 +60879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56823,7 +60879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56823 .unused,60879 .unused,
56824 .unused,60880 .unused,
56825 },60881 },
56826 .dst_temps = .{.{ .reg = .xmm0 }},60882 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56827 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60883 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56828 .each = .{ .once = &.{60884 .each = .{ .once = &.{
56829 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60885 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56831,7 +60887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56831,7 +60887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56831 }, .{60887 }, .{
56832 .required_features = .{ .@"64bit", .sse, null, null },60888 .required_features = .{ .@"64bit", .sse, null, null },
56833 .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any },60889 .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any },
56834 .dst_constraints = .{.{ .float = .word }},60890 .dst_constraints = .{ .{ .float = .word }, .any },
56835 .patterns = &.{60891 .patterns = &.{
56836 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },60892 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
56837 },60893 },
...@@ -56847,7 +60903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56847,7 +60903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56847 .unused,60903 .unused,
56848 .unused,60904 .unused,
56849 },60905 },
56850 .dst_temps = .{.{ .reg = .xmm0 }},60906 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56851 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60907 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56852 .each = .{ .once = &.{60908 .each = .{ .once = &.{
56853 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60909 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56855,7 +60911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56855,7 +60911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56855 }, .{60911 }, .{
56856 .required_features = .{ .@"64bit", .sse, null, null },60912 .required_features = .{ .@"64bit", .sse, null, null },
56857 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },60913 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
56858 .dst_constraints = .{.{ .float = .word }},60914 .dst_constraints = .{ .{ .float = .word }, .any },
56859 .patterns = &.{60915 .patterns = &.{
56860 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },60916 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
56861 },60917 },
...@@ -56871,7 +60927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56871,7 +60927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56871 .unused,60927 .unused,
56872 .unused,60928 .unused,
56873 },60929 },
56874 .dst_temps = .{.{ .reg = .xmm0 }},60930 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56875 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60931 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56876 .each = .{ .once = &.{60932 .each = .{ .once = &.{
56877 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60933 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56879,7 +60935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56879,7 +60935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56879 }, .{60935 }, .{
56880 .required_features = .{ .@"64bit", .sse, null, null },60936 .required_features = .{ .@"64bit", .sse, null, null },
56881 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },60937 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
56882 .dst_constraints = .{.{ .float = .word }},60938 .dst_constraints = .{ .{ .float = .word }, .any },
56883 .patterns = &.{60939 .patterns = &.{
56884 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },60940 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
56885 },60941 },
...@@ -56895,7 +60951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56895,7 +60951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56895 .unused,60951 .unused,
56896 .unused,60952 .unused,
56897 },60953 },
56898 .dst_temps = .{.{ .reg = .xmm0 }},60954 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56899 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60955 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56900 .each = .{ .once = &.{60956 .each = .{ .once = &.{
56901 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },60957 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -56903,7 +60959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56903,7 +60959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56903 }, .{60959 }, .{
56904 .required_features = .{ .@"64bit", .sse, null, null },60960 .required_features = .{ .@"64bit", .sse, null, null },
56905 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },60961 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
56906 .dst_constraints = .{.{ .float = .word }},60962 .dst_constraints = .{ .{ .float = .word }, .any },
56907 .patterns = &.{60963 .patterns = &.{
56908 .{ .src = .{ .to_mem, .none, .none } },60964 .{ .src = .{ .to_mem, .none, .none } },
56909 },60965 },
...@@ -56919,7 +60975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56919,7 +60975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56919 .unused,60975 .unused,
56920 .unused,60976 .unused,
56921 },60977 },
56922 .dst_temps = .{.{ .reg = .xmm0 }},60978 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56923 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },60979 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56924 .each = .{ .once = &.{60980 .each = .{ .once = &.{
56925 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },60981 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -56929,7 +60985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56929,7 +60985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56929 }, .{60985 }, .{
56930 .required_features = .{ .@"64bit", .sse, null, null },60986 .required_features = .{ .@"64bit", .sse, null, null },
56931 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },60987 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
56932 .dst_constraints = .{.{ .float = .word }},60988 .dst_constraints = .{ .{ .float = .word }, .any },
56933 .patterns = &.{60989 .patterns = &.{
56934 .{ .src = .{ .to_mem, .none, .none } },60990 .{ .src = .{ .to_mem, .none, .none } },
56935 },60991 },
...@@ -56945,7 +61001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56945,7 +61001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56945 .unused,61001 .unused,
56946 .unused,61002 .unused,
56947 },61003 },
56948 .dst_temps = .{.{ .reg = .xmm0 }},61004 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
56949 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61005 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
56950 .each = .{ .once = &.{61006 .each = .{ .once = &.{
56951 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },61007 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -56955,12 +61011,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56955,12 +61011,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56955 }, .{61011 }, .{
56956 .required_features = .{ .f16c, null, null, null },61012 .required_features = .{ .f16c, null, null, null },
56957 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },61013 .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 },
56959 .patterns = &.{61015 .patterns = &.{
56960 .{ .src = .{ .mem, .none, .none } },61016 .{ .src = .{ .mem, .none, .none } },
56961 .{ .src = .{ .to_sse, .none, .none } },61017 .{ .src = .{ .to_sse, .none, .none } },
56962 },61018 },
56963 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61019 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
56964 .each = .{ .once = &.{61020 .each = .{ .once = &.{
56965 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },61021 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
56966 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },61022 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -56969,12 +61025,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56969,12 +61025,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56969 }, .{61025 }, .{
56970 .required_features = .{ .f16c, .avx2, null, null },61026 .required_features = .{ .f16c, .avx2, null, null },
56971 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },61027 .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 },
56973 .patterns = &.{61029 .patterns = &.{
56974 .{ .src = .{ .mem, .none, .none } },61030 .{ .src = .{ .mem, .none, .none } },
56975 .{ .src = .{ .to_sse, .none, .none } },61031 .{ .src = .{ .to_sse, .none, .none } },
56976 },61032 },
56977 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61033 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
56978 .each = .{ .once = &.{61034 .each = .{ .once = &.{
56979 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },61035 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },
56980 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },61036 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -56983,12 +61039,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56983,12 +61039,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56983 }, .{61039 }, .{
56984 .required_features = .{ .f16c, null, null, null },61040 .required_features = .{ .f16c, null, null, null },
56985 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },61041 .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 },
56987 .patterns = &.{61043 .patterns = &.{
56988 .{ .src = .{ .mem, .none, .none } },61044 .{ .src = .{ .mem, .none, .none } },
56989 .{ .src = .{ .to_sse, .none, .none } },61045 .{ .src = .{ .to_sse, .none, .none } },
56990 },61046 },
56991 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61047 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
56992 .each = .{ .once = &.{61048 .each = .{ .once = &.{
56993 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },61049 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
56994 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },61050 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -56997,12 +61053,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -56997,12 +61053,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56997 }, .{61053 }, .{
56998 .required_features = .{ .f16c, .avx2, null, null },61054 .required_features = .{ .f16c, .avx2, null, null },
56999 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },61055 .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 },
57001 .patterns = &.{61057 .patterns = &.{
57002 .{ .src = .{ .mem, .none, .none } },61058 .{ .src = .{ .mem, .none, .none } },
57003 .{ .src = .{ .to_sse, .none, .none } },61059 .{ .src = .{ .to_sse, .none, .none } },
57004 },61060 },
57005 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61061 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
57006 .each = .{ .once = &.{61062 .each = .{ .once = &.{
57007 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },61063 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },
57008 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },61064 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -57011,7 +61067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57011,7 +61067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57011 }, .{61067 }, .{
57012 .required_features = .{ .f16c, .avx2, null, null },61068 .required_features = .{ .f16c, .avx2, null, null },
57013 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },61069 .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 },
57015 .patterns = &.{61071 .patterns = &.{
57016 .{ .src = .{ .to_mem, .none, .none } },61072 .{ .src = .{ .to_mem, .none, .none } },
57017 },61073 },
...@@ -57026,7 +61082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57026,7 +61082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57026 .unused,61082 .unused,
57027 .unused,61083 .unused,
57028 },61084 },
57029 .dst_temps = .{.mem},61085 .dst_temps = .{ .mem, .unused },
57030 .clobbers = .{ .eflags = true },61086 .clobbers = .{ .eflags = true },
57031 .each = .{ .once = &.{61087 .each = .{ .once = &.{
57032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57039,7 +61095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57039,7 +61095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57039 }, .{61095 }, .{
57040 .required_features = .{ .f16c, null, null, null },61096 .required_features = .{ .f16c, null, null, null },
57041 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },61097 .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 },
57043 .patterns = &.{61099 .patterns = &.{
57044 .{ .src = .{ .to_mem, .none, .none } },61100 .{ .src = .{ .to_mem, .none, .none } },
57045 },61101 },
...@@ -57054,7 +61110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57054,7 +61110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57054 .unused,61110 .unused,
57055 .unused,61111 .unused,
57056 },61112 },
57057 .dst_temps = .{.mem},61113 .dst_temps = .{ .mem, .unused },
57058 .clobbers = .{ .eflags = true },61114 .clobbers = .{ .eflags = true },
57059 .each = .{ .once = &.{61115 .each = .{ .once = &.{
57060 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61116 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57067,7 +61123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57067,7 +61123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57067 }, .{61123 }, .{
57068 .required_features = .{ .f16c, .avx2, null, null },61124 .required_features = .{ .f16c, .avx2, null, null },
57069 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },61125 .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 },
57071 .patterns = &.{61127 .patterns = &.{
57072 .{ .src = .{ .to_mem, .none, .none } },61128 .{ .src = .{ .to_mem, .none, .none } },
57073 },61129 },
...@@ -57082,7 +61138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57082,7 +61138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57082 .unused,61138 .unused,
57083 .unused,61139 .unused,
57084 },61140 },
57085 .dst_temps = .{.mem},61141 .dst_temps = .{ .mem, .unused },
57086 .clobbers = .{ .eflags = true },61142 .clobbers = .{ .eflags = true },
57087 .each = .{ .once = &.{61143 .each = .{ .once = &.{
57088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61144 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57095,7 +61151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57095,7 +61151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57095 }, .{61151 }, .{
57096 .required_features = .{ .f16c, null, null, null },61152 .required_features = .{ .f16c, null, null, null },
57097 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },61153 .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 },
57099 .patterns = &.{61155 .patterns = &.{
57100 .{ .src = .{ .to_mem, .none, .none } },61156 .{ .src = .{ .to_mem, .none, .none } },
57101 },61157 },
...@@ -57110,7 +61166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57110,7 +61166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57110 .unused,61166 .unused,
57111 .unused,61167 .unused,
57112 },61168 },
57113 .dst_temps = .{.mem},61169 .dst_temps = .{ .mem, .unused },
57114 .clobbers = .{ .eflags = true },61170 .clobbers = .{ .eflags = true },
57115 .each = .{ .once = &.{61171 .each = .{ .once = &.{
57116 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61172 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57123,7 +61179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57123,7 +61179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57123 }, .{61179 }, .{
57124 .required_features = .{ .avx, .slow_incdec, null, null },61180 .required_features = .{ .avx, .slow_incdec, null, null },
57125 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61181 .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 },
57127 .patterns = &.{61183 .patterns = &.{
57128 .{ .src = .{ .to_mem, .none, .none } },61184 .{ .src = .{ .to_mem, .none, .none } },
57129 },61185 },
...@@ -57139,7 +61195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57139,7 +61195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57139 .unused,61195 .unused,
57140 .unused,61196 .unused,
57141 },61197 },
57142 .dst_temps = .{.mem},61198 .dst_temps = .{ .mem, .unused },
57143 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61199 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57144 .each = .{ .once = &.{61200 .each = .{ .once = &.{
57145 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57152,7 +61208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57152,7 +61208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57152 }, .{61208 }, .{
57153 .required_features = .{ .avx, null, null, null },61209 .required_features = .{ .avx, null, null, null },
57154 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61210 .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 },
57156 .patterns = &.{61212 .patterns = &.{
57157 .{ .src = .{ .to_mem, .none, .none } },61213 .{ .src = .{ .to_mem, .none, .none } },
57158 },61214 },
...@@ -57168,7 +61224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57168,7 +61224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57168 .unused,61224 .unused,
57169 .unused,61225 .unused,
57170 },61226 },
57171 .dst_temps = .{.mem},61227 .dst_temps = .{ .mem, .unused },
57172 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61228 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57173 .each = .{ .once = &.{61229 .each = .{ .once = &.{
57174 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61230 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57181,7 +61237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57181,7 +61237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57181 }, .{61237 }, .{
57182 .required_features = .{ .sse4_1, .slow_incdec, null, null },61238 .required_features = .{ .sse4_1, .slow_incdec, null, null },
57183 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61239 .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 },
57185 .patterns = &.{61241 .patterns = &.{
57186 .{ .src = .{ .to_mem, .none, .none } },61242 .{ .src = .{ .to_mem, .none, .none } },
57187 },61243 },
...@@ -57197,7 +61253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57197,7 +61253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57197 .unused,61253 .unused,
57198 .unused,61254 .unused,
57199 },61255 },
57200 .dst_temps = .{.mem},61256 .dst_temps = .{ .mem, .unused },
57201 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61257 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57202 .each = .{ .once = &.{61258 .each = .{ .once = &.{
57203 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61259 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57210,7 +61266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57210,7 +61266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57210 }, .{61266 }, .{
57211 .required_features = .{ .sse4_1, null, null, null },61267 .required_features = .{ .sse4_1, null, null, null },
57212 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61268 .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 },
57214 .patterns = &.{61270 .patterns = &.{
57215 .{ .src = .{ .to_mem, .none, .none } },61271 .{ .src = .{ .to_mem, .none, .none } },
57216 },61272 },
...@@ -57226,7 +61282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57226,7 +61282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57226 .unused,61282 .unused,
57227 .unused,61283 .unused,
57228 },61284 },
57229 .dst_temps = .{.mem},61285 .dst_temps = .{ .mem, .unused },
57230 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61286 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57231 .each = .{ .once = &.{61287 .each = .{ .once = &.{
57232 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61288 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57239,7 +61295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57239,7 +61295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57239 }, .{61295 }, .{
57240 .required_features = .{ .sse2, .slow_incdec, null, null },61296 .required_features = .{ .sse2, .slow_incdec, null, null },
57241 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61297 .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 },
57243 .patterns = &.{61299 .patterns = &.{
57244 .{ .src = .{ .to_mem, .none, .none } },61300 .{ .src = .{ .to_mem, .none, .none } },
57245 },61301 },
...@@ -57255,7 +61311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57255,7 +61311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57255 .unused,61311 .unused,
57256 .unused,61312 .unused,
57257 },61313 },
57258 .dst_temps = .{.mem},61314 .dst_temps = .{ .mem, .unused },
57259 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61315 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57260 .each = .{ .once = &.{61316 .each = .{ .once = &.{
57261 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61317 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57269,7 +61325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57269,7 +61325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57269 }, .{61325 }, .{
57270 .required_features = .{ .sse2, null, null, null },61326 .required_features = .{ .sse2, null, null, null },
57271 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61327 .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 },
57273 .patterns = &.{61329 .patterns = &.{
57274 .{ .src = .{ .to_mem, .none, .none } },61330 .{ .src = .{ .to_mem, .none, .none } },
57275 },61331 },
...@@ -57285,7 +61341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57285,7 +61341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57285 .unused,61341 .unused,
57286 .unused,61342 .unused,
57287 },61343 },
57288 .dst_temps = .{.mem},61344 .dst_temps = .{ .mem, .unused },
57289 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61345 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57290 .each = .{ .once = &.{61346 .each = .{ .once = &.{
57291 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61347 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57299,7 +61355,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57299,7 +61355,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57299 }, .{61355 }, .{
57300 .required_features = .{ .sse, .slow_incdec, null, null },61356 .required_features = .{ .sse, .slow_incdec, null, null },
57301 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61357 .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 },
57303 .patterns = &.{61359 .patterns = &.{
57304 .{ .src = .{ .to_mem, .none, .none } },61360 .{ .src = .{ .to_mem, .none, .none } },
57305 },61361 },
...@@ -57315,7 +61371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57315,7 +61371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57315 .unused,61371 .unused,
57316 .unused,61372 .unused,
57317 },61373 },
57318 .dst_temps = .{.mem},61374 .dst_temps = .{ .mem, .unused },
57319 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61375 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57320 .each = .{ .once = &.{61376 .each = .{ .once = &.{
57321 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61377 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57330,7 +61386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57330,7 +61386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57330 }, .{61386 }, .{
57331 .required_features = .{ .sse, null, null, null },61387 .required_features = .{ .sse, null, null, null },
57332 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },61388 .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 },
57334 .patterns = &.{61390 .patterns = &.{
57335 .{ .src = .{ .to_mem, .none, .none } },61391 .{ .src = .{ .to_mem, .none, .none } },
57336 },61392 },
...@@ -57346,7 +61402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57346,7 +61402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57346 .unused,61402 .unused,
57347 .unused,61403 .unused,
57348 },61404 },
57349 .dst_temps = .{.mem},61405 .dst_temps = .{ .mem, .unused },
57350 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61406 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57351 .each = .{ .once = &.{61407 .each = .{ .once = &.{
57352 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61408 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57361,7 +61417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57361,7 +61417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57361 }, .{61417 }, .{
57362 .required_features = .{ .avx, .slow_incdec, null, null },61418 .required_features = .{ .avx, .slow_incdec, null, null },
57363 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61419 .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 },
57365 .patterns = &.{61421 .patterns = &.{
57366 .{ .src = .{ .to_mem, .none, .none } },61422 .{ .src = .{ .to_mem, .none, .none } },
57367 },61423 },
...@@ -57377,7 +61433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57377,7 +61433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57377 .unused,61433 .unused,
57378 .unused,61434 .unused,
57379 },61435 },
57380 .dst_temps = .{.mem},61436 .dst_temps = .{ .mem, .unused },
57381 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57382 .each = .{ .once = &.{61438 .each = .{ .once = &.{
57383 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61439 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57390,7 +61446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57390,7 +61446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57390 }, .{61446 }, .{
57391 .required_features = .{ .avx, null, null, null },61447 .required_features = .{ .avx, null, null, null },
57392 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61448 .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 },
57394 .patterns = &.{61450 .patterns = &.{
57395 .{ .src = .{ .to_mem, .none, .none } },61451 .{ .src = .{ .to_mem, .none, .none } },
57396 },61452 },
...@@ -57406,7 +61462,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57406,7 +61462,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57406 .unused,61462 .unused,
57407 .unused,61463 .unused,
57408 },61464 },
57409 .dst_temps = .{.mem},61465 .dst_temps = .{ .mem, .unused },
57410 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61466 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57411 .each = .{ .once = &.{61467 .each = .{ .once = &.{
57412 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61468 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57419,7 +61475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57419,7 +61475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57419 }, .{61475 }, .{
57420 .required_features = .{ .sse4_1, .slow_incdec, null, null },61476 .required_features = .{ .sse4_1, .slow_incdec, null, null },
57421 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61477 .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 },
57423 .patterns = &.{61479 .patterns = &.{
57424 .{ .src = .{ .to_mem, .none, .none } },61480 .{ .src = .{ .to_mem, .none, .none } },
57425 },61481 },
...@@ -57435,7 +61491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57435,7 +61491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57435 .unused,61491 .unused,
57436 .unused,61492 .unused,
57437 },61493 },
57438 .dst_temps = .{.mem},61494 .dst_temps = .{ .mem, .unused },
57439 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61495 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57440 .each = .{ .once = &.{61496 .each = .{ .once = &.{
57441 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61497 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57448,7 +61504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57448,7 +61504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57448 }, .{61504 }, .{
57449 .required_features = .{ .sse4_1, null, null, null },61505 .required_features = .{ .sse4_1, null, null, null },
57450 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61506 .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 },
57452 .patterns = &.{61508 .patterns = &.{
57453 .{ .src = .{ .to_mem, .none, .none } },61509 .{ .src = .{ .to_mem, .none, .none } },
57454 },61510 },
...@@ -57464,7 +61520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57464,7 +61520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57464 .unused,61520 .unused,
57465 .unused,61521 .unused,
57466 },61522 },
57467 .dst_temps = .{.mem},61523 .dst_temps = .{ .mem, .unused },
57468 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61524 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57469 .each = .{ .once = &.{61525 .each = .{ .once = &.{
57470 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61526 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57477,7 +61533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57477,7 +61533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57477 }, .{61533 }, .{
57478 .required_features = .{ .sse2, .slow_incdec, null, null },61534 .required_features = .{ .sse2, .slow_incdec, null, null },
57479 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61535 .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 },
57481 .patterns = &.{61537 .patterns = &.{
57482 .{ .src = .{ .to_mem, .none, .none } },61538 .{ .src = .{ .to_mem, .none, .none } },
57483 },61539 },
...@@ -57493,7 +61549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57493,7 +61549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57493 .unused,61549 .unused,
57494 .unused,61550 .unused,
57495 },61551 },
57496 .dst_temps = .{.mem},61552 .dst_temps = .{ .mem, .unused },
57497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61553 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57498 .each = .{ .once = &.{61554 .each = .{ .once = &.{
57499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61555 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57507,7 +61563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57507,7 +61563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57507 }, .{61563 }, .{
57508 .required_features = .{ .sse2, null, null, null },61564 .required_features = .{ .sse2, null, null, null },
57509 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61565 .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 },
57511 .patterns = &.{61567 .patterns = &.{
57512 .{ .src = .{ .to_mem, .none, .none } },61568 .{ .src = .{ .to_mem, .none, .none } },
57513 },61569 },
...@@ -57523,7 +61579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57523,7 +61579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57523 .unused,61579 .unused,
57524 .unused,61580 .unused,
57525 },61581 },
57526 .dst_temps = .{.mem},61582 .dst_temps = .{ .mem, .unused },
57527 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61583 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57528 .each = .{ .once = &.{61584 .each = .{ .once = &.{
57529 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61585 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57537,7 +61593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57537,7 +61593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57537 }, .{61593 }, .{
57538 .required_features = .{ .sse, .slow_incdec, null, null },61594 .required_features = .{ .sse, .slow_incdec, null, null },
57539 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61595 .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 },
57541 .patterns = &.{61597 .patterns = &.{
57542 .{ .src = .{ .to_mem, .none, .none } },61598 .{ .src = .{ .to_mem, .none, .none } },
57543 },61599 },
...@@ -57553,7 +61609,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57553,7 +61609,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57553 .unused,61609 .unused,
57554 .unused,61610 .unused,
57555 },61611 },
57556 .dst_temps = .{.mem},61612 .dst_temps = .{ .mem, .unused },
57557 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61613 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57558 .each = .{ .once = &.{61614 .each = .{ .once = &.{
57559 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61615 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57568,7 +61624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57568,7 +61624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57568 }, .{61624 }, .{
57569 .required_features = .{ .sse, null, null, null },61625 .required_features = .{ .sse, null, null, null },
57570 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },61626 .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 },
57572 .patterns = &.{61628 .patterns = &.{
57573 .{ .src = .{ .to_mem, .none, .none } },61629 .{ .src = .{ .to_mem, .none, .none } },
57574 },61630 },
...@@ -57584,7 +61640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57584,7 +61640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57584 .unused,61640 .unused,
57585 .unused,61641 .unused,
57586 },61642 },
57587 .dst_temps = .{.mem},61643 .dst_temps = .{ .mem, .unused },
57588 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61644 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57589 .each = .{ .once = &.{61645 .each = .{ .once = &.{
57590 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61646 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57599,12 +61655,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57599,12 +61655,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57599 }, .{61655 }, .{
57600 .required_features = .{ .f16c, null, null, null },61656 .required_features = .{ .f16c, null, null, null },
57601 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },61657 .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 },
57603 .patterns = &.{61659 .patterns = &.{
57604 .{ .src = .{ .mem, .none, .none } },61660 .{ .src = .{ .mem, .none, .none } },
57605 .{ .src = .{ .to_sse, .none, .none } },61661 .{ .src = .{ .to_sse, .none, .none } },
57606 },61662 },
57607 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61663 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
57608 .each = .{ .once = &.{61664 .each = .{ .once = &.{
57609 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },61665 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
57610 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },61666 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -57613,12 +61669,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57613,12 +61669,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57613 }, .{61669 }, .{
57614 .required_features = .{ .f16c, .avx2, null, null },61670 .required_features = .{ .f16c, .avx2, null, null },
57615 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },61671 .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 },
57617 .patterns = &.{61673 .patterns = &.{
57618 .{ .src = .{ .mem, .none, .none } },61674 .{ .src = .{ .mem, .none, .none } },
57619 .{ .src = .{ .to_sse, .none, .none } },61675 .{ .src = .{ .to_sse, .none, .none } },
57620 },61676 },
57621 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61677 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
57622 .each = .{ .once = &.{61678 .each = .{ .once = &.{
57623 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },61679 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },
57624 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },61680 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -57627,12 +61683,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57627,12 +61683,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57627 }, .{61683 }, .{
57628 .required_features = .{ .f16c, null, null, null },61684 .required_features = .{ .f16c, null, null, null },
57629 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },61685 .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 },
57631 .patterns = &.{61687 .patterns = &.{
57632 .{ .src = .{ .mem, .none, .none } },61688 .{ .src = .{ .mem, .none, .none } },
57633 .{ .src = .{ .to_sse, .none, .none } },61689 .{ .src = .{ .to_sse, .none, .none } },
57634 },61690 },
57635 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61691 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
57636 .each = .{ .once = &.{61692 .each = .{ .once = &.{
57637 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },61693 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
57638 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },61694 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -57641,12 +61697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57641,12 +61697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57641 }, .{61697 }, .{
57642 .required_features = .{ .f16c, .avx2, null, null },61698 .required_features = .{ .f16c, .avx2, null, null },
57643 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },61699 .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 },
57645 .patterns = &.{61701 .patterns = &.{
57646 .{ .src = .{ .mem, .none, .none } },61702 .{ .src = .{ .mem, .none, .none } },
57647 .{ .src = .{ .to_sse, .none, .none } },61703 .{ .src = .{ .to_sse, .none, .none } },
57648 },61704 },
57649 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},61705 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
57650 .each = .{ .once = &.{61706 .each = .{ .once = &.{
57651 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },61707 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },
57652 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },61708 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -57655,7 +61711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57655,7 +61711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57655 }, .{61711 }, .{
57656 .required_features = .{ .f16c, .avx2, null, null },61712 .required_features = .{ .f16c, .avx2, null, null },
57657 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },61713 .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 },
57659 .patterns = &.{61715 .patterns = &.{
57660 .{ .src = .{ .to_mem, .none, .none } },61716 .{ .src = .{ .to_mem, .none, .none } },
57661 },61717 },
...@@ -57670,7 +61726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57670,7 +61726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57670 .unused,61726 .unused,
57671 .unused,61727 .unused,
57672 },61728 },
57673 .dst_temps = .{.mem},61729 .dst_temps = .{ .mem, .unused },
57674 .clobbers = .{ .eflags = true },61730 .clobbers = .{ .eflags = true },
57675 .each = .{ .once = &.{61731 .each = .{ .once = &.{
57676 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57683,7 +61739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57683,7 +61739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57683 }, .{61739 }, .{
57684 .required_features = .{ .f16c, null, null, null },61740 .required_features = .{ .f16c, null, null, null },
57685 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },61741 .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 },
57687 .patterns = &.{61743 .patterns = &.{
57688 .{ .src = .{ .to_mem, .none, .none } },61744 .{ .src = .{ .to_mem, .none, .none } },
57689 },61745 },
...@@ -57698,7 +61754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57698,7 +61754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57698 .unused,61754 .unused,
57699 .unused,61755 .unused,
57700 },61756 },
57701 .dst_temps = .{.mem},61757 .dst_temps = .{ .mem, .unused },
57702 .clobbers = .{ .eflags = true },61758 .clobbers = .{ .eflags = true },
57703 .each = .{ .once = &.{61759 .each = .{ .once = &.{
57704 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61760 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57711,7 +61767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57711,7 +61767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57711 }, .{61767 }, .{
57712 .required_features = .{ .f16c, .avx2, null, null },61768 .required_features = .{ .f16c, .avx2, null, null },
57713 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },61769 .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 },
57715 .patterns = &.{61771 .patterns = &.{
57716 .{ .src = .{ .to_mem, .none, .none } },61772 .{ .src = .{ .to_mem, .none, .none } },
57717 },61773 },
...@@ -57726,7 +61782,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57726,7 +61782,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57726 .unused,61782 .unused,
57727 .unused,61783 .unused,
57728 },61784 },
57729 .dst_temps = .{.mem},61785 .dst_temps = .{ .mem, .unused },
57730 .clobbers = .{ .eflags = true },61786 .clobbers = .{ .eflags = true },
57731 .each = .{ .once = &.{61787 .each = .{ .once = &.{
57732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61788 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57739,7 +61795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57739,7 +61795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57739 }, .{61795 }, .{
57740 .required_features = .{ .f16c, null, null, null },61796 .required_features = .{ .f16c, null, null, null },
57741 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },61797 .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 },
57743 .patterns = &.{61799 .patterns = &.{
57744 .{ .src = .{ .to_mem, .none, .none } },61800 .{ .src = .{ .to_mem, .none, .none } },
57745 },61801 },
...@@ -57754,7 +61810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57754,7 +61810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57754 .unused,61810 .unused,
57755 .unused,61811 .unused,
57756 },61812 },
57757 .dst_temps = .{.mem},61813 .dst_temps = .{ .mem, .unused },
57758 .clobbers = .{ .eflags = true },61814 .clobbers = .{ .eflags = true },
57759 .each = .{ .once = &.{61815 .each = .{ .once = &.{
57760 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61816 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57767,7 +61823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57767,7 +61823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57767 }, .{61823 }, .{
57768 .required_features = .{ .avx, null, null, null },61824 .required_features = .{ .avx, null, null, null },
57769 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },61825 .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 },
57771 .patterns = &.{61827 .patterns = &.{
57772 .{ .src = .{ .to_mem, .none, .none } },61828 .{ .src = .{ .to_mem, .none, .none } },
57773 },61829 },
...@@ -57783,7 +61839,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57783,7 +61839,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57783 .unused,61839 .unused,
57784 .unused,61840 .unused,
57785 },61841 },
57786 .dst_temps = .{.mem},61842 .dst_temps = .{ .mem, .unused },
57787 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61843 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57788 .each = .{ .once = &.{61844 .each = .{ .once = &.{
57789 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61845 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57796,7 +61852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57796,7 +61852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57796 }, .{61852 }, .{
57797 .required_features = .{ .sse4_1, null, null, null },61853 .required_features = .{ .sse4_1, null, null, null },
57798 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },61854 .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 },
57800 .patterns = &.{61856 .patterns = &.{
57801 .{ .src = .{ .to_mem, .none, .none } },61857 .{ .src = .{ .to_mem, .none, .none } },
57802 },61858 },
...@@ -57812,7 +61868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57812,7 +61868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57812 .unused,61868 .unused,
57813 .unused,61869 .unused,
57814 },61870 },
57815 .dst_temps = .{.mem},61871 .dst_temps = .{ .mem, .unused },
57816 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61872 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57817 .each = .{ .once = &.{61873 .each = .{ .once = &.{
57818 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61874 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57825,7 +61881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57825,7 +61881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57825 }, .{61881 }, .{
57826 .required_features = .{ .sse2, null, null, null },61882 .required_features = .{ .sse2, null, null, null },
57827 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },61883 .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 },
57829 .patterns = &.{61885 .patterns = &.{
57830 .{ .src = .{ .to_mem, .none, .none } },61886 .{ .src = .{ .to_mem, .none, .none } },
57831 },61887 },
...@@ -57841,7 +61897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57841,7 +61897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57841 .unused,61897 .unused,
57842 .unused,61898 .unused,
57843 },61899 },
57844 .dst_temps = .{.mem},61900 .dst_temps = .{ .mem, .unused },
57845 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61901 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57846 .each = .{ .once = &.{61902 .each = .{ .once = &.{
57847 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61903 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57855,7 +61911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57855,7 +61911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57855 }, .{61911 }, .{
57856 .required_features = .{ .sse, null, null, null },61912 .required_features = .{ .sse, null, null, null },
57857 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },61913 .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 },
57859 .patterns = &.{61915 .patterns = &.{
57860 .{ .src = .{ .to_mem, .none, .none } },61916 .{ .src = .{ .to_mem, .none, .none } },
57861 },61917 },
...@@ -57871,7 +61927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57871,7 +61927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57871 .unused,61927 .unused,
57872 .unused,61928 .unused,
57873 },61929 },
57874 .dst_temps = .{.mem},61930 .dst_temps = .{ .mem, .unused },
57875 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61931 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57876 .each = .{ .once = &.{61932 .each = .{ .once = &.{
57877 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61933 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57886,7 +61942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57886,7 +61942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57886 }, .{61942 }, .{
57887 .required_features = .{ .avx, null, null, null },61943 .required_features = .{ .avx, null, null, null },
57888 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },61944 .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 },
57890 .patterns = &.{61946 .patterns = &.{
57891 .{ .src = .{ .to_mem, .none, .none } },61947 .{ .src = .{ .to_mem, .none, .none } },
57892 },61948 },
...@@ -57902,7 +61958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57902,7 +61958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57902 .unused,61958 .unused,
57903 .unused,61959 .unused,
57904 },61960 },
57905 .dst_temps = .{.mem},61961 .dst_temps = .{ .mem, .unused },
57906 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61962 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57907 .each = .{ .once = &.{61963 .each = .{ .once = &.{
57908 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57915,7 +61971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57915,7 +61971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57915 }, .{61971 }, .{
57916 .required_features = .{ .sse4_1, null, null, null },61972 .required_features = .{ .sse4_1, null, null, null },
57917 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },61973 .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 },
57919 .patterns = &.{61975 .patterns = &.{
57920 .{ .src = .{ .to_mem, .none, .none } },61976 .{ .src = .{ .to_mem, .none, .none } },
57921 },61977 },
...@@ -57931,7 +61987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57931,7 +61987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57931 .unused,61987 .unused,
57932 .unused,61988 .unused,
57933 },61989 },
57934 .dst_temps = .{.mem},61990 .dst_temps = .{ .mem, .unused },
57935 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },61991 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57936 .each = .{ .once = &.{61992 .each = .{ .once = &.{
57937 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },61993 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57944,7 +62000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57944,7 +62000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57944 }, .{62000 }, .{
57945 .required_features = .{ .sse2, null, null, null },62001 .required_features = .{ .sse2, null, null, null },
57946 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },62002 .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 },
57948 .patterns = &.{62004 .patterns = &.{
57949 .{ .src = .{ .to_mem, .none, .none } },62005 .{ .src = .{ .to_mem, .none, .none } },
57950 },62006 },
...@@ -57960,7 +62016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57960,7 +62016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57960 .unused,62016 .unused,
57961 .unused,62017 .unused,
57962 },62018 },
57963 .dst_temps = .{.mem},62019 .dst_temps = .{ .mem, .unused },
57964 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62020 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57965 .each = .{ .once = &.{62021 .each = .{ .once = &.{
57966 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },62022 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -57974,7 +62030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57974,7 +62030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57974 }, .{62030 }, .{
57975 .required_features = .{ .sse, null, null, null },62031 .required_features = .{ .sse, null, null, null },
57976 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },62032 .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 },
57978 .patterns = &.{62034 .patterns = &.{
57979 .{ .src = .{ .to_mem, .none, .none } },62035 .{ .src = .{ .to_mem, .none, .none } },
57980 },62036 },
...@@ -57990,7 +62046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -57990,7 +62046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57990 .unused,62046 .unused,
57991 .unused,62047 .unused,
57992 },62048 },
57993 .dst_temps = .{.mem},62049 .dst_temps = .{ .mem, .unused },
57994 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62050 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
57995 .each = .{ .once = &.{62051 .each = .{ .once = &.{
57996 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },62052 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -58005,12 +62061,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58005,12 +62061,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58005 }, .{62061 }, .{
58006 .required_features = .{ .f16c, null, null, null },62062 .required_features = .{ .f16c, null, null, null },
58007 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },62063 .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 },
58009 .patterns = &.{62065 .patterns = &.{
58010 .{ .src = .{ .mem, .none, .none } },62066 .{ .src = .{ .mem, .none, .none } },
58011 .{ .src = .{ .to_sse, .none, .none } },62067 .{ .src = .{ .to_sse, .none, .none } },
58012 },62068 },
58013 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},62069 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
58014 .each = .{ .once = &.{62070 .each = .{ .once = &.{
58015 .{ ._, .v_ps, .cvtdq2, .dst0x, .src0x, ._, ._ },62071 .{ ._, .v_ps, .cvtdq2, .dst0x, .src0x, ._, ._ },
58016 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },62072 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
...@@ -58018,12 +62074,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58018,12 +62074,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58018 }, .{62074 }, .{
58019 .required_features = .{ .f16c, .avx2, null, null },62075 .required_features = .{ .f16c, .avx2, null, null },
58020 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },62076 .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 },
58022 .patterns = &.{62078 .patterns = &.{
58023 .{ .src = .{ .mem, .none, .none } },62079 .{ .src = .{ .mem, .none, .none } },
58024 .{ .src = .{ .to_sse, .none, .none } },62080 .{ .src = .{ .to_sse, .none, .none } },
58025 },62081 },
58026 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},62082 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
58027 .each = .{ .once = &.{62083 .each = .{ .once = &.{
58028 .{ ._, .v_ps, .cvtdq2, .dst0y, .src0y, ._, ._ },62084 .{ ._, .v_ps, .cvtdq2, .dst0y, .src0y, ._, ._ },
58029 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },62085 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
...@@ -58031,7 +62087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58031,7 +62087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58031 }, .{62087 }, .{
58032 .required_features = .{ .f16c, .avx2, null, null },62088 .required_features = .{ .f16c, .avx2, null, null },
58033 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },62089 .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 },
58035 .patterns = &.{62091 .patterns = &.{
58036 .{ .src = .{ .to_mem, .none, .none } },62092 .{ .src = .{ .to_mem, .none, .none } },
58037 },62093 },
...@@ -58046,7 +62102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58046,7 +62102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58046 .unused,62102 .unused,
58047 .unused,62103 .unused,
58048 },62104 },
58049 .dst_temps = .{.mem},62105 .dst_temps = .{ .mem, .unused },
58050 .clobbers = .{ .eflags = true },62106 .clobbers = .{ .eflags = true },
58051 .each = .{ .once = &.{62107 .each = .{ .once = &.{
58052 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62108 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58058,7 +62114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58058,7 +62114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58058 }, .{62114 }, .{
58059 .required_features = .{ .f16c, null, null, null },62115 .required_features = .{ .f16c, null, null, null },
58060 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },62116 .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 },
58062 .patterns = &.{62118 .patterns = &.{
58063 .{ .src = .{ .to_mem, .none, .none } },62119 .{ .src = .{ .to_mem, .none, .none } },
58064 },62120 },
...@@ -58073,7 +62129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58073,7 +62129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58073 .unused,62129 .unused,
58074 .unused,62130 .unused,
58075 },62131 },
58076 .dst_temps = .{.mem},62132 .dst_temps = .{ .mem, .unused },
58077 .clobbers = .{ .eflags = true },62133 .clobbers = .{ .eflags = true },
58078 .each = .{ .once = &.{62134 .each = .{ .once = &.{
58079 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62135 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58085,7 +62141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58085,7 +62141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58085 }, .{62141 }, .{
58086 .required_features = .{ .avx, null, null, null },62142 .required_features = .{ .avx, null, null, null },
58087 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62143 .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 },
58089 .patterns = &.{62145 .patterns = &.{
58090 .{ .src = .{ .to_mem, .none, .none } },62146 .{ .src = .{ .to_mem, .none, .none } },
58091 },62147 },
...@@ -58101,7 +62157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58101,7 +62157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58101 .unused,62157 .unused,
58102 .unused,62158 .unused,
58103 },62159 },
58104 .dst_temps = .{.mem},62160 .dst_temps = .{ .mem, .unused },
58105 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62161 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58106 .each = .{ .once = &.{62162 .each = .{ .once = &.{
58107 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62163 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58114,7 +62170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58114,7 +62170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58114 }, .{62170 }, .{
58115 .required_features = .{ .sse4_1, null, null, null },62171 .required_features = .{ .sse4_1, null, null, null },
58116 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62172 .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 },
58118 .patterns = &.{62174 .patterns = &.{
58119 .{ .src = .{ .to_mem, .none, .none } },62175 .{ .src = .{ .to_mem, .none, .none } },
58120 },62176 },
...@@ -58130,7 +62186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58130,7 +62186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58130 .unused,62186 .unused,
58131 .unused,62187 .unused,
58132 },62188 },
58133 .dst_temps = .{.mem},62189 .dst_temps = .{ .mem, .unused },
58134 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62190 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58135 .each = .{ .once = &.{62191 .each = .{ .once = &.{
58136 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62192 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58143,7 +62199,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58143,7 +62199,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58143 }, .{62199 }, .{
58144 .required_features = .{ .sse2, null, null, null },62200 .required_features = .{ .sse2, null, null, null },
58145 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62201 .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 },
58147 .patterns = &.{62203 .patterns = &.{
58148 .{ .src = .{ .to_mem, .none, .none } },62204 .{ .src = .{ .to_mem, .none, .none } },
58149 },62205 },
...@@ -58159,7 +62215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58159,7 +62215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58159 .unused,62215 .unused,
58160 .unused,62216 .unused,
58161 },62217 },
58162 .dst_temps = .{.mem},62218 .dst_temps = .{ .mem, .unused },
58163 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62219 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58164 .each = .{ .once = &.{62220 .each = .{ .once = &.{
58165 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62221 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58173,7 +62229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58173,7 +62229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58173 }, .{62229 }, .{
58174 .required_features = .{ .sse, null, null, null },62230 .required_features = .{ .sse, null, null, null },
58175 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62231 .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 },
58177 .patterns = &.{62233 .patterns = &.{
58178 .{ .src = .{ .to_mem, .none, .none } },62234 .{ .src = .{ .to_mem, .none, .none } },
58179 },62235 },
...@@ -58189,7 +62245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58189,7 +62245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58189 .unused,62245 .unused,
58190 .unused,62246 .unused,
58191 },62247 },
58192 .dst_temps = .{.mem},62248 .dst_temps = .{ .mem, .unused },
58193 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62249 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58194 .each = .{ .once = &.{62250 .each = .{ .once = &.{
58195 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62251 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58204,7 +62260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58204,7 +62260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58204 }, .{62260 }, .{
58205 .required_features = .{ .avx, null, null, null },62261 .required_features = .{ .avx, null, null, null },
58206 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },62262 .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 },
58208 .patterns = &.{62264 .patterns = &.{
58209 .{ .src = .{ .to_mem, .none, .none } },62265 .{ .src = .{ .to_mem, .none, .none } },
58210 },62266 },
...@@ -58220,7 +62276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58220,7 +62276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58220 .unused,62276 .unused,
58221 .unused,62277 .unused,
58222 },62278 },
58223 .dst_temps = .{.mem},62279 .dst_temps = .{ .mem, .unused },
58224 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62280 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58225 .each = .{ .once = &.{62281 .each = .{ .once = &.{
58226 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62282 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58233,7 +62289,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58233,7 +62289,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58233 }, .{62289 }, .{
58234 .required_features = .{ .sse4_1, null, null, null },62290 .required_features = .{ .sse4_1, null, null, null },
58235 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },62291 .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 },
58237 .patterns = &.{62293 .patterns = &.{
58238 .{ .src = .{ .to_mem, .none, .none } },62294 .{ .src = .{ .to_mem, .none, .none } },
58239 },62295 },
...@@ -58249,7 +62305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58249,7 +62305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58249 .unused,62305 .unused,
58250 .unused,62306 .unused,
58251 },62307 },
58252 .dst_temps = .{.mem},62308 .dst_temps = .{ .mem, .unused },
58253 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62309 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58254 .each = .{ .once = &.{62310 .each = .{ .once = &.{
58255 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62311 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58262,7 +62318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58262,7 +62318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58262 }, .{62318 }, .{
58263 .required_features = .{ .sse2, null, null, null },62319 .required_features = .{ .sse2, null, null, null },
58264 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },62320 .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 },
58266 .patterns = &.{62322 .patterns = &.{
58267 .{ .src = .{ .to_mem, .none, .none } },62323 .{ .src = .{ .to_mem, .none, .none } },
58268 },62324 },
...@@ -58278,7 +62334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58278,7 +62334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58278 .unused,62334 .unused,
58279 .unused,62335 .unused,
58280 },62336 },
58281 .dst_temps = .{.mem},62337 .dst_temps = .{ .mem, .unused },
58282 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58283 .each = .{ .once = &.{62339 .each = .{ .once = &.{
58284 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62340 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58292,7 +62348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58292,7 +62348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58292 }, .{62348 }, .{
58293 .required_features = .{ .sse, null, null, null },62349 .required_features = .{ .sse, null, null, null },
58294 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },62350 .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 },
58296 .patterns = &.{62352 .patterns = &.{
58297 .{ .src = .{ .to_mem, .none, .none } },62353 .{ .src = .{ .to_mem, .none, .none } },
58298 },62354 },
...@@ -58308,7 +62364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58308,7 +62364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58308 .unused,62364 .unused,
58309 .unused,62365 .unused,
58310 },62366 },
58311 .dst_temps = .{.mem},62367 .dst_temps = .{ .mem, .unused },
58312 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62368 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58313 .each = .{ .once = &.{62369 .each = .{ .once = &.{
58314 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62370 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58323,7 +62379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58323,7 +62379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58323 }, .{62379 }, .{
58324 .required_features = .{ .@"64bit", .f16c, null, null },62380 .required_features = .{ .@"64bit", .f16c, null, null },
58325 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },62381 .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 },
58327 .patterns = &.{62383 .patterns = &.{
58328 .{ .src = .{ .to_mem, .none, .none } },62384 .{ .src = .{ .to_mem, .none, .none } },
58329 },62385 },
...@@ -58338,7 +62394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58338,7 +62394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58338 .unused,62394 .unused,
58339 .unused,62395 .unused,
58340 },62396 },
58341 .dst_temps = .{.mem},62397 .dst_temps = .{ .mem, .unused },
58342 .clobbers = .{ .eflags = true },62398 .clobbers = .{ .eflags = true },
58343 .each = .{ .once = &.{62399 .each = .{ .once = &.{
58344 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62400 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58352,7 +62408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58352,7 +62408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58352 }, .{62408 }, .{
58353 .required_features = .{ .@"64bit", .avx, null, null },62409 .required_features = .{ .@"64bit", .avx, null, null },
58354 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },62410 .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 },
58356 .patterns = &.{62412 .patterns = &.{
58357 .{ .src = .{ .to_mem, .none, .none } },62413 .{ .src = .{ .to_mem, .none, .none } },
58358 },62414 },
...@@ -58368,7 +62424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58368,7 +62424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58368 .unused,62424 .unused,
58369 .unused,62425 .unused,
58370 },62426 },
58371 .dst_temps = .{.mem},62427 .dst_temps = .{ .mem, .unused },
58372 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62428 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58373 .each = .{ .once = &.{62429 .each = .{ .once = &.{
58374 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62430 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58381,7 +62437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58381,7 +62437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58381 }, .{62437 }, .{
58382 .required_features = .{ .@"64bit", .sse4_1, null, null },62438 .required_features = .{ .@"64bit", .sse4_1, null, null },
58383 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },62439 .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 },
58385 .patterns = &.{62441 .patterns = &.{
58386 .{ .src = .{ .to_mem, .none, .none } },62442 .{ .src = .{ .to_mem, .none, .none } },
58387 },62443 },
...@@ -58397,7 +62453,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58397,7 +62453,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58397 .unused,62453 .unused,
58398 .unused,62454 .unused,
58399 },62455 },
58400 .dst_temps = .{.mem},62456 .dst_temps = .{ .mem, .unused },
58401 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62457 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58402 .each = .{ .once = &.{62458 .each = .{ .once = &.{
58403 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62459 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58410,7 +62466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58410,7 +62466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58410 }, .{62466 }, .{
58411 .required_features = .{ .@"64bit", .sse2, null, null },62467 .required_features = .{ .@"64bit", .sse2, null, null },
58412 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },62468 .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 },
58414 .patterns = &.{62470 .patterns = &.{
58415 .{ .src = .{ .to_mem, .none, .none } },62471 .{ .src = .{ .to_mem, .none, .none } },
58416 },62472 },
...@@ -58426,7 +62482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58426,7 +62482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58426 .unused,62482 .unused,
58427 .unused,62483 .unused,
58428 },62484 },
58429 .dst_temps = .{.mem},62485 .dst_temps = .{ .mem, .unused },
58430 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58431 .each = .{ .once = &.{62487 .each = .{ .once = &.{
58432 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62488 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58440,7 +62496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58440,7 +62496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58440 }, .{62496 }, .{
58441 .required_features = .{ .@"64bit", .sse, null, null },62497 .required_features = .{ .@"64bit", .sse, null, null },
58442 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },62498 .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 },
58444 .patterns = &.{62500 .patterns = &.{
58445 .{ .src = .{ .to_mem, .none, .none } },62501 .{ .src = .{ .to_mem, .none, .none } },
58446 },62502 },
...@@ -58456,7 +62512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58456,7 +62512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58456 .unused,62512 .unused,
58457 .unused,62513 .unused,
58458 },62514 },
58459 .dst_temps = .{.mem},62515 .dst_temps = .{ .mem, .unused },
58460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62516 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58461 .each = .{ .once = &.{62517 .each = .{ .once = &.{
58462 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62518 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58471,7 +62527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58471,7 +62527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58471 }, .{62527 }, .{
58472 .required_features = .{ .@"64bit", .avx, null, null },62528 .required_features = .{ .@"64bit", .avx, null, null },
58473 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },62529 .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 },
58475 .patterns = &.{62531 .patterns = &.{
58476 .{ .src = .{ .to_mem, .none, .none } },62532 .{ .src = .{ .to_mem, .none, .none } },
58477 },62533 },
...@@ -58487,7 +62543,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58487,7 +62543,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58487 .unused,62543 .unused,
58488 .unused,62544 .unused,
58489 },62545 },
58490 .dst_temps = .{.mem},62546 .dst_temps = .{ .mem, .unused },
58491 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62547 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58492 .each = .{ .once = &.{62548 .each = .{ .once = &.{
58493 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62549 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58500,7 +62556,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58500,7 +62556,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58500 }, .{62556 }, .{
58501 .required_features = .{ .@"64bit", .sse4_1, null, null },62557 .required_features = .{ .@"64bit", .sse4_1, null, null },
58502 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },62558 .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 },
58504 .patterns = &.{62560 .patterns = &.{
58505 .{ .src = .{ .to_mem, .none, .none } },62561 .{ .src = .{ .to_mem, .none, .none } },
58506 },62562 },
...@@ -58516,7 +62572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58516,7 +62572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58516 .unused,62572 .unused,
58517 .unused,62573 .unused,
58518 },62574 },
58519 .dst_temps = .{.mem},62575 .dst_temps = .{ .mem, .unused },
58520 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58521 .each = .{ .once = &.{62577 .each = .{ .once = &.{
58522 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62578 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58529,7 +62585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58529,7 +62585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58529 }, .{62585 }, .{
58530 .required_features = .{ .@"64bit", .sse2, null, null },62586 .required_features = .{ .@"64bit", .sse2, null, null },
58531 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },62587 .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 },
58533 .patterns = &.{62589 .patterns = &.{
58534 .{ .src = .{ .to_mem, .none, .none } },62590 .{ .src = .{ .to_mem, .none, .none } },
58535 },62591 },
...@@ -58545,7 +62601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58545,7 +62601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58545 .unused,62601 .unused,
58546 .unused,62602 .unused,
58547 },62603 },
58548 .dst_temps = .{.mem},62604 .dst_temps = .{ .mem, .unused },
58549 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62605 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58550 .each = .{ .once = &.{62606 .each = .{ .once = &.{
58551 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62607 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58559,7 +62615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58559,7 +62615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58559 }, .{62615 }, .{
58560 .required_features = .{ .@"64bit", .sse, null, null },62616 .required_features = .{ .@"64bit", .sse, null, null },
58561 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },62617 .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 },
58563 .patterns = &.{62619 .patterns = &.{
58564 .{ .src = .{ .to_mem, .none, .none } },62620 .{ .src = .{ .to_mem, .none, .none } },
58565 },62621 },
...@@ -58575,7 +62631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58575,7 +62631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58575 .unused,62631 .unused,
58576 .unused,62632 .unused,
58577 },62633 },
58578 .dst_temps = .{.mem},62634 .dst_temps = .{ .mem, .unused },
58579 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62635 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58580 .each = .{ .once = &.{62636 .each = .{ .once = &.{
58581 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62637 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58590,7 +62646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58590,7 +62646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58590 }, .{62646 }, .{
58591 .required_features = .{ .@"64bit", .avx, null, null },62647 .required_features = .{ .@"64bit", .avx, null, null },
58592 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },62648 .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 },
58594 .patterns = &.{62650 .patterns = &.{
58595 .{ .src = .{ .to_mem, .none, .none } },62651 .{ .src = .{ .to_mem, .none, .none } },
58596 },62652 },
...@@ -58606,7 +62662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58606,7 +62662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58606 .unused,62662 .unused,
58607 .unused,62663 .unused,
58608 },62664 },
58609 .dst_temps = .{.mem},62665 .dst_temps = .{ .mem, .unused },
58610 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62666 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58611 .each = .{ .once = &.{62667 .each = .{ .once = &.{
58612 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62668 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58620,7 +62676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58620,7 +62676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58620 }, .{62676 }, .{
58621 .required_features = .{ .@"64bit", .sse4_1, null, null },62677 .required_features = .{ .@"64bit", .sse4_1, null, null },
58622 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },62678 .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 },
58624 .patterns = &.{62680 .patterns = &.{
58625 .{ .src = .{ .to_mem, .none, .none } },62681 .{ .src = .{ .to_mem, .none, .none } },
58626 },62682 },
...@@ -58636,7 +62692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58636,7 +62692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58636 .unused,62692 .unused,
58637 .unused,62693 .unused,
58638 },62694 },
58639 .dst_temps = .{.mem},62695 .dst_temps = .{ .mem, .unused },
58640 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62696 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58641 .each = .{ .once = &.{62697 .each = .{ .once = &.{
58642 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62698 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58650,7 +62706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58650,7 +62706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58650 }, .{62706 }, .{
58651 .required_features = .{ .@"64bit", .sse2, null, null },62707 .required_features = .{ .@"64bit", .sse2, null, null },
58652 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },62708 .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 },
58654 .patterns = &.{62710 .patterns = &.{
58655 .{ .src = .{ .to_mem, .none, .none } },62711 .{ .src = .{ .to_mem, .none, .none } },
58656 },62712 },
...@@ -58666,7 +62722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58666,7 +62722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58666 .unused,62722 .unused,
58667 .unused,62723 .unused,
58668 },62724 },
58669 .dst_temps = .{.mem},62725 .dst_temps = .{ .mem, .unused },
58670 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62726 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58671 .each = .{ .once = &.{62727 .each = .{ .once = &.{
58672 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62728 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58681,7 +62737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58681,7 +62737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58681 }, .{62737 }, .{
58682 .required_features = .{ .@"64bit", .sse, null, null },62738 .required_features = .{ .@"64bit", .sse, null, null },
58683 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },62739 .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 },
58685 .patterns = &.{62741 .patterns = &.{
58686 .{ .src = .{ .to_mem, .none, .none } },62742 .{ .src = .{ .to_mem, .none, .none } },
58687 },62743 },
...@@ -58697,7 +62753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58697,7 +62753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58697 .unused,62753 .unused,
58698 .unused,62754 .unused,
58699 },62755 },
58700 .dst_temps = .{.mem},62756 .dst_temps = .{ .mem, .unused },
58701 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62757 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58702 .each = .{ .once = &.{62758 .each = .{ .once = &.{
58703 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62759 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58713,7 +62769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58713,7 +62769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58713 }, .{62769 }, .{
58714 .required_features = .{ .@"64bit", .avx, null, null },62770 .required_features = .{ .@"64bit", .avx, null, null },
58715 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },62771 .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 },
58717 .patterns = &.{62773 .patterns = &.{
58718 .{ .src = .{ .to_mem, .none, .none } },62774 .{ .src = .{ .to_mem, .none, .none } },
58719 },62775 },
...@@ -58729,7 +62785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58729,7 +62785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58729 .unused,62785 .unused,
58730 .unused,62786 .unused,
58731 },62787 },
58732 .dst_temps = .{.mem},62788 .dst_temps = .{ .mem, .unused },
58733 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62789 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58734 .each = .{ .once = &.{62790 .each = .{ .once = &.{
58735 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62791 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58743,7 +62799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58743,7 +62799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58743 }, .{62799 }, .{
58744 .required_features = .{ .@"64bit", .sse4_1, null, null },62800 .required_features = .{ .@"64bit", .sse4_1, null, null },
58745 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },62801 .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 },
58747 .patterns = &.{62803 .patterns = &.{
58748 .{ .src = .{ .to_mem, .none, .none } },62804 .{ .src = .{ .to_mem, .none, .none } },
58749 },62805 },
...@@ -58759,7 +62815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58759,7 +62815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58759 .unused,62815 .unused,
58760 .unused,62816 .unused,
58761 },62817 },
58762 .dst_temps = .{.mem},62818 .dst_temps = .{ .mem, .unused },
58763 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62819 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58764 .each = .{ .once = &.{62820 .each = .{ .once = &.{
58765 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62821 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58773,7 +62829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58773,7 +62829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58773 }, .{62829 }, .{
58774 .required_features = .{ .@"64bit", .sse2, null, null },62830 .required_features = .{ .@"64bit", .sse2, null, null },
58775 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },62831 .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 },
58777 .patterns = &.{62833 .patterns = &.{
58778 .{ .src = .{ .to_mem, .none, .none } },62834 .{ .src = .{ .to_mem, .none, .none } },
58779 },62835 },
...@@ -58789,7 +62845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58789,7 +62845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58789 .unused,62845 .unused,
58790 .unused,62846 .unused,
58791 },62847 },
58792 .dst_temps = .{.mem},62848 .dst_temps = .{ .mem, .unused },
58793 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62849 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58794 .each = .{ .once = &.{62850 .each = .{ .once = &.{
58795 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62851 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58804,7 +62860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58804,7 +62860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58804 }, .{62860 }, .{
58805 .required_features = .{ .@"64bit", .sse, null, null },62861 .required_features = .{ .@"64bit", .sse, null, null },
58806 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },62862 .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 },
58808 .patterns = &.{62864 .patterns = &.{
58809 .{ .src = .{ .to_mem, .none, .none } },62865 .{ .src = .{ .to_mem, .none, .none } },
58810 },62866 },
...@@ -58820,7 +62876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58820,7 +62876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58820 .unused,62876 .unused,
58821 .unused,62877 .unused,
58822 },62878 },
58823 .dst_temps = .{.mem},62879 .dst_temps = .{ .mem, .unused },
58824 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62880 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58825 .each = .{ .once = &.{62881 .each = .{ .once = &.{
58826 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },62882 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -58836,7 +62892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58836,7 +62892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58836 }, .{62892 }, .{
58837 .required_features = .{ .@"64bit", .avx, null, null },62893 .required_features = .{ .@"64bit", .avx, null, null },
58838 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62894 .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 },
58840 .patterns = &.{62896 .patterns = &.{
58841 .{ .src = .{ .to_mem, .none, .none } },62897 .{ .src = .{ .to_mem, .none, .none } },
58842 },62898 },
...@@ -58852,7 +62908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58852,7 +62908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58852 .unused,62908 .unused,
58853 .unused,62909 .unused,
58854 },62910 },
58855 .dst_temps = .{.mem},62911 .dst_temps = .{ .mem, .unused },
58856 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62912 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58857 .each = .{ .once = &.{62913 .each = .{ .once = &.{
58858 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },62914 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -58868,7 +62924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58868,7 +62924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58868 }, .{62924 }, .{
58869 .required_features = .{ .@"64bit", .sse4_1, null, null },62925 .required_features = .{ .@"64bit", .sse4_1, null, null },
58870 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62926 .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 },
58872 .patterns = &.{62928 .patterns = &.{
58873 .{ .src = .{ .to_mem, .none, .none } },62929 .{ .src = .{ .to_mem, .none, .none } },
58874 },62930 },
...@@ -58884,7 +62940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58884,7 +62940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58884 .unused,62940 .unused,
58885 .unused,62941 .unused,
58886 },62942 },
58887 .dst_temps = .{.mem},62943 .dst_temps = .{ .mem, .unused },
58888 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58889 .each = .{ .once = &.{62945 .each = .{ .once = &.{
58890 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },62946 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -58900,7 +62956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58900,7 +62956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58900 }, .{62956 }, .{
58901 .required_features = .{ .@"64bit", .sse2, null, null },62957 .required_features = .{ .@"64bit", .sse2, null, null },
58902 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62958 .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 },
58904 .patterns = &.{62960 .patterns = &.{
58905 .{ .src = .{ .to_mem, .none, .none } },62961 .{ .src = .{ .to_mem, .none, .none } },
58906 },62962 },
...@@ -58916,7 +62972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58916,7 +62972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58916 .unused,62972 .unused,
58917 .unused,62973 .unused,
58918 },62974 },
58919 .dst_temps = .{.mem},62975 .dst_temps = .{ .mem, .unused },
58920 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },62976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58921 .each = .{ .once = &.{62977 .each = .{ .once = &.{
58922 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },62978 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -58933,7 +62989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58933,7 +62989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58933 }, .{62989 }, .{
58934 .required_features = .{ .@"64bit", .sse, null, null },62990 .required_features = .{ .@"64bit", .sse, null, null },
58935 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },62991 .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 },
58937 .patterns = &.{62993 .patterns = &.{
58938 .{ .src = .{ .to_mem, .none, .none } },62994 .{ .src = .{ .to_mem, .none, .none } },
58939 },62995 },
...@@ -58949,7 +63005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58949,7 +63005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58949 .unused,63005 .unused,
58950 .unused,63006 .unused,
58951 },63007 },
58952 .dst_temps = .{.mem},63008 .dst_temps = .{ .mem, .unused },
58953 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63009 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58954 .each = .{ .once = &.{63010 .each = .{ .once = &.{
58955 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63011 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -58967,7 +63023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58967,7 +63023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58967 }, .{63023 }, .{
58968 .required_features = .{ .@"64bit", .avx, null, null },63024 .required_features = .{ .@"64bit", .avx, null, null },
58969 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },63025 .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 },
58971 .patterns = &.{63027 .patterns = &.{
58972 .{ .src = .{ .to_mem, .none, .none } },63028 .{ .src = .{ .to_mem, .none, .none } },
58973 },63029 },
...@@ -58983,7 +63039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58983,7 +63039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58983 .unused,63039 .unused,
58984 .unused,63040 .unused,
58985 },63041 },
58986 .dst_temps = .{.mem},63042 .dst_temps = .{ .mem, .unused },
58987 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63043 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
58988 .each = .{ .once = &.{63044 .each = .{ .once = &.{
58989 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63045 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -58999,7 +63055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -58999,7 +63055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58999 }, .{63055 }, .{
59000 .required_features = .{ .@"64bit", .sse4_1, null, null },63056 .required_features = .{ .@"64bit", .sse4_1, null, null },
59001 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },63057 .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 },
59003 .patterns = &.{63059 .patterns = &.{
59004 .{ .src = .{ .to_mem, .none, .none } },63060 .{ .src = .{ .to_mem, .none, .none } },
59005 },63061 },
...@@ -59015,7 +63071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59015,7 +63071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59015 .unused,63071 .unused,
59016 .unused,63072 .unused,
59017 },63073 },
59018 .dst_temps = .{.mem},63074 .dst_temps = .{ .mem, .unused },
59019 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63075 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59020 .each = .{ .once = &.{63076 .each = .{ .once = &.{
59021 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63077 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -59031,7 +63087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59031,7 +63087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59031 }, .{63087 }, .{
59032 .required_features = .{ .@"64bit", .sse2, null, null },63088 .required_features = .{ .@"64bit", .sse2, null, null },
59033 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },63089 .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 },
59035 .patterns = &.{63091 .patterns = &.{
59036 .{ .src = .{ .to_mem, .none, .none } },63092 .{ .src = .{ .to_mem, .none, .none } },
59037 },63093 },
...@@ -59047,7 +63103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59047,7 +63103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59047 .unused,63103 .unused,
59048 .unused,63104 .unused,
59049 },63105 },
59050 .dst_temps = .{.mem},63106 .dst_temps = .{ .mem, .unused },
59051 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63107 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59052 .each = .{ .once = &.{63108 .each = .{ .once = &.{
59053 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63109 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -59064,7 +63120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59064,7 +63120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59064 }, .{63120 }, .{
59065 .required_features = .{ .@"64bit", .sse, null, null },63121 .required_features = .{ .@"64bit", .sse, null, null },
59066 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },63122 .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 },
59068 .patterns = &.{63124 .patterns = &.{
59069 .{ .src = .{ .to_mem, .none, .none } },63125 .{ .src = .{ .to_mem, .none, .none } },
59070 },63126 },
...@@ -59080,7 +63136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59080,7 +63136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59080 .unused,63136 .unused,
59081 .unused,63137 .unused,
59082 },63138 },
59083 .dst_temps = .{.mem},63139 .dst_temps = .{ .mem, .unused },
59084 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63140 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59085 .each = .{ .once = &.{63141 .each = .{ .once = &.{
59086 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63142 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -59098,7 +63154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59098,7 +63154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59098 }, .{63154 }, .{
59099 .required_features = .{ .avx, null, null, null },63155 .required_features = .{ .avx, null, null, null },
59100 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },63156 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
59101 .dst_constraints = .{.{ .float = .dword }},63157 .dst_constraints = .{ .{ .float = .dword }, .any },
59102 .patterns = &.{63158 .patterns = &.{
59103 .{ .src = .{ .mem, .none, .none } },63159 .{ .src = .{ .mem, .none, .none } },
59104 .{ .src = .{ .to_gpr, .none, .none } },63160 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59114,7 +63170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59114,7 +63170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59114 .unused,63170 .unused,
59115 .unused,63171 .unused,
59116 },63172 },
59117 .dst_temps = .{.{ .rc = .sse }},63173 .dst_temps = .{ .{ .rc = .sse }, .unused },
59118 .each = .{ .once = &.{63174 .each = .{ .once = &.{
59119 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },63175 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
59120 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63176 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -59123,7 +63179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59123,7 +63179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59123 }, .{63179 }, .{
59124 .required_features = .{ .sse, null, null, null },63180 .required_features = .{ .sse, null, null, null },
59125 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },63181 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
59126 .dst_constraints = .{.{ .float = .dword }},63182 .dst_constraints = .{ .{ .float = .dword }, .any },
59127 .patterns = &.{63183 .patterns = &.{
59128 .{ .src = .{ .mem, .none, .none } },63184 .{ .src = .{ .mem, .none, .none } },
59129 .{ .src = .{ .to_gpr, .none, .none } },63185 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59139,7 +63195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59139,7 +63195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59139 .unused,63195 .unused,
59140 .unused,63196 .unused,
59141 },63197 },
59142 .dst_temps = .{.{ .rc = .sse }},63198 .dst_temps = .{ .{ .rc = .sse }, .unused },
59143 .each = .{ .once = &.{63199 .each = .{ .once = &.{
59144 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },63200 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
59145 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63201 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -59148,7 +63204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59148,7 +63204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59148 }, .{63204 }, .{
59149 .required_features = .{ .avx, null, null, null },63205 .required_features = .{ .avx, null, null, null },
59150 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },63206 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
59151 .dst_constraints = .{.{ .float = .dword }},63207 .dst_constraints = .{ .{ .float = .dword }, .any },
59152 .patterns = &.{63208 .patterns = &.{
59153 .{ .src = .{ .mem, .none, .none } },63209 .{ .src = .{ .mem, .none, .none } },
59154 .{ .src = .{ .to_gpr, .none, .none } },63210 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59164,7 +63220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59164,7 +63220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59164 .unused,63220 .unused,
59165 .unused,63221 .unused,
59166 },63222 },
59167 .dst_temps = .{.{ .rc = .sse }},63223 .dst_temps = .{ .{ .rc = .sse }, .unused },
59168 .each = .{ .once = &.{63224 .each = .{ .once = &.{
59169 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },63225 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
59170 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63226 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -59173,7 +63229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59173,7 +63229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59173 }, .{63229 }, .{
59174 .required_features = .{ .sse, null, null, null },63230 .required_features = .{ .sse, null, null, null },
59175 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },63231 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
59176 .dst_constraints = .{.{ .float = .dword }},63232 .dst_constraints = .{ .{ .float = .dword }, .any },
59177 .patterns = &.{63233 .patterns = &.{
59178 .{ .src = .{ .mem, .none, .none } },63234 .{ .src = .{ .mem, .none, .none } },
59179 .{ .src = .{ .to_gpr, .none, .none } },63235 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59189,7 +63245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59189,7 +63245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59189 .unused,63245 .unused,
59190 .unused,63246 .unused,
59191 },63247 },
59192 .dst_temps = .{.{ .rc = .sse }},63248 .dst_temps = .{ .{ .rc = .sse }, .unused },
59193 .each = .{ .once = &.{63249 .each = .{ .once = &.{
59194 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },63250 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
59195 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63251 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -59198,7 +63254,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59198,7 +63254,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59198 }, .{63254 }, .{
59199 .required_features = .{ .avx, null, null, null },63255 .required_features = .{ .avx, null, null, null },
59200 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },63256 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
59201 .dst_constraints = .{.{ .float = .dword }},63257 .dst_constraints = .{ .{ .float = .dword }, .any },
59202 .patterns = &.{63258 .patterns = &.{
59203 .{ .src = .{ .mem, .none, .none } },63259 .{ .src = .{ .mem, .none, .none } },
59204 .{ .src = .{ .to_gpr, .none, .none } },63260 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59214,7 +63270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59214,7 +63270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59214 .unused,63270 .unused,
59215 .unused,63271 .unused,
59216 },63272 },
59217 .dst_temps = .{.{ .rc = .sse }},63273 .dst_temps = .{ .{ .rc = .sse }, .unused },
59218 .each = .{ .once = &.{63274 .each = .{ .once = &.{
59219 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },63275 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
59220 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63276 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -59223,7 +63279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59223,7 +63279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59223 }, .{63279 }, .{
59224 .required_features = .{ .sse, null, null, null },63280 .required_features = .{ .sse, null, null, null },
59225 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },63281 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
59226 .dst_constraints = .{.{ .float = .dword }},63282 .dst_constraints = .{ .{ .float = .dword }, .any },
59227 .patterns = &.{63283 .patterns = &.{
59228 .{ .src = .{ .mem, .none, .none } },63284 .{ .src = .{ .mem, .none, .none } },
59229 .{ .src = .{ .to_gpr, .none, .none } },63285 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59239,7 +63295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59239,7 +63295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59239 .unused,63295 .unused,
59240 .unused,63296 .unused,
59241 },63297 },
59242 .dst_temps = .{.{ .rc = .sse }},63298 .dst_temps = .{ .{ .rc = .sse }, .unused },
59243 .each = .{ .once = &.{63299 .each = .{ .once = &.{
59244 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },63300 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
59245 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63301 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -59248,7 +63304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59248,7 +63304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59248 }, .{63304 }, .{
59249 .required_features = .{ .avx, null, null, null },63305 .required_features = .{ .avx, null, null, null },
59250 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },63306 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
59251 .dst_constraints = .{.{ .float = .dword }},63307 .dst_constraints = .{ .{ .float = .dword }, .any },
59252 .patterns = &.{63308 .patterns = &.{
59253 .{ .src = .{ .mem, .none, .none } },63309 .{ .src = .{ .mem, .none, .none } },
59254 .{ .src = .{ .to_gpr, .none, .none } },63310 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59264,7 +63320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59264,7 +63320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59264 .unused,63320 .unused,
59265 .unused,63321 .unused,
59266 },63322 },
59267 .dst_temps = .{.{ .rc = .sse }},63323 .dst_temps = .{ .{ .rc = .sse }, .unused },
59268 .each = .{ .once = &.{63324 .each = .{ .once = &.{
59269 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },63325 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
59270 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63326 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -59273,7 +63329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59273,7 +63329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59273 }, .{63329 }, .{
59274 .required_features = .{ .sse, null, null, null },63330 .required_features = .{ .sse, null, null, null },
59275 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },63331 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
59276 .dst_constraints = .{.{ .float = .dword }},63332 .dst_constraints = .{ .{ .float = .dword }, .any },
59277 .patterns = &.{63333 .patterns = &.{
59278 .{ .src = .{ .mem, .none, .none } },63334 .{ .src = .{ .mem, .none, .none } },
59279 .{ .src = .{ .to_gpr, .none, .none } },63335 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59289,7 +63345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59289,7 +63345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59289 .unused,63345 .unused,
59290 .unused,63346 .unused,
59291 },63347 },
59292 .dst_temps = .{.{ .rc = .sse }},63348 .dst_temps = .{ .{ .rc = .sse }, .unused },
59293 .each = .{ .once = &.{63349 .each = .{ .once = &.{
59294 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },63350 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
59295 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63351 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -59298,12 +63354,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59298,12 +63354,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59298 }, .{63354 }, .{
59299 .required_features = .{ .avx, null, null, null },63355 .required_features = .{ .avx, null, null, null },
59300 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },63356 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
59301 .dst_constraints = .{.{ .float = .dword }},63357 .dst_constraints = .{ .{ .float = .dword }, .any },
59302 .patterns = &.{63358 .patterns = &.{
59303 .{ .src = .{ .mem, .none, .none } },63359 .{ .src = .{ .mem, .none, .none } },
59304 .{ .src = .{ .to_gpr, .none, .none } },63360 .{ .src = .{ .to_gpr, .none, .none } },
59305 },63361 },
59306 .dst_temps = .{.{ .rc = .sse }},63362 .dst_temps = .{ .{ .rc = .sse }, .unused },
59307 .each = .{ .once = &.{63363 .each = .{ .once = &.{
59308 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63364 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
59309 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },63365 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },
...@@ -59311,12 +63367,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59311,12 +63367,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59311 }, .{63367 }, .{
59312 .required_features = .{ .sse, null, null, null },63368 .required_features = .{ .sse, null, null, null },
59313 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },63369 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
59314 .dst_constraints = .{.{ .float = .dword }},63370 .dst_constraints = .{ .{ .float = .dword }, .any },
59315 .patterns = &.{63371 .patterns = &.{
59316 .{ .src = .{ .mem, .none, .none } },63372 .{ .src = .{ .mem, .none, .none } },
59317 .{ .src = .{ .to_gpr, .none, .none } },63373 .{ .src = .{ .to_gpr, .none, .none } },
59318 },63374 },
59319 .dst_temps = .{.{ .rc = .sse }},63375 .dst_temps = .{ .{ .rc = .sse }, .unused },
59320 .each = .{ .once = &.{63376 .each = .{ .once = &.{
59321 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63377 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
59322 .{ ._, ._ss, .cvtsi2, .dst0x, .src0d, ._, ._ },63378 .{ ._, ._ss, .cvtsi2, .dst0x, .src0d, ._, ._ },
...@@ -59324,7 +63380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59324,7 +63380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59324 }, .{63380 }, .{
59325 .required_features = .{ .avx, null, null, null },63381 .required_features = .{ .avx, null, null, null },
59326 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },63382 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
59327 .dst_constraints = .{.{ .float = .dword }},63383 .dst_constraints = .{ .{ .float = .dword }, .any },
59328 .patterns = &.{63384 .patterns = &.{
59329 .{ .src = .{ .mem, .none, .none } },63385 .{ .src = .{ .mem, .none, .none } },
59330 .{ .src = .{ .to_gpr, .none, .none } },63386 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59340,7 +63396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59340,7 +63396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59340 .unused,63396 .unused,
59341 .unused,63397 .unused,
59342 },63398 },
59343 .dst_temps = .{.{ .rc = .sse }},63399 .dst_temps = .{ .{ .rc = .sse }, .unused },
59344 .each = .{ .once = &.{63400 .each = .{ .once = &.{
59345 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },63401 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
59346 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63402 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -59349,7 +63405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59349,7 +63405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59349 }, .{63405 }, .{
59350 .required_features = .{ .sse, null, null, null },63406 .required_features = .{ .sse, null, null, null },
59351 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },63407 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
59352 .dst_constraints = .{.{ .float = .dword }},63408 .dst_constraints = .{ .{ .float = .dword }, .any },
59353 .patterns = &.{63409 .patterns = &.{
59354 .{ .src = .{ .mem, .none, .none } },63410 .{ .src = .{ .mem, .none, .none } },
59355 .{ .src = .{ .to_gpr, .none, .none } },63411 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -59365,7 +63421,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59365,7 +63421,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59365 .unused,63421 .unused,
59366 .unused,63422 .unused,
59367 },63423 },
59368 .dst_temps = .{.{ .rc = .sse }},63424 .dst_temps = .{ .{ .rc = .sse }, .unused },
59369 .each = .{ .once = &.{63425 .each = .{ .once = &.{
59370 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },63426 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
59371 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63427 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -59374,12 +63430,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59374,12 +63430,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59374 }, .{63430 }, .{
59375 .required_features = .{ .@"64bit", .avx, null, null },63431 .required_features = .{ .@"64bit", .avx, null, null },
59376 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },63432 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
59377 .dst_constraints = .{.{ .float = .dword }},63433 .dst_constraints = .{ .{ .float = .dword }, .any },
59378 .patterns = &.{63434 .patterns = &.{
59379 .{ .src = .{ .mem, .none, .none } },63435 .{ .src = .{ .mem, .none, .none } },
59380 .{ .src = .{ .to_gpr, .none, .none } },63436 .{ .src = .{ .to_gpr, .none, .none } },
59381 },63437 },
59382 .dst_temps = .{.{ .rc = .sse }},63438 .dst_temps = .{ .{ .rc = .sse }, .unused },
59383 .each = .{ .once = &.{63439 .each = .{ .once = &.{
59384 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63440 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
59385 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },63441 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },
...@@ -59387,12 +63443,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59387,12 +63443,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59387 }, .{63443 }, .{
59388 .required_features = .{ .@"64bit", .sse, null, null },63444 .required_features = .{ .@"64bit", .sse, null, null },
59389 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },63445 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
59390 .dst_constraints = .{.{ .float = .dword }},63446 .dst_constraints = .{ .{ .float = .dword }, .any },
59391 .patterns = &.{63447 .patterns = &.{
59392 .{ .src = .{ .mem, .none, .none } },63448 .{ .src = .{ .mem, .none, .none } },
59393 .{ .src = .{ .to_gpr, .none, .none } },63449 .{ .src = .{ .to_gpr, .none, .none } },
59394 },63450 },
59395 .dst_temps = .{.{ .rc = .sse }},63451 .dst_temps = .{ .{ .rc = .sse }, .unused },
59396 .each = .{ .once = &.{63452 .each = .{ .once = &.{
59397 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63453 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
59398 .{ ._, ._ss, .cvtsi2, .dst0x, .src0q, ._, ._ },63454 .{ ._, ._ss, .cvtsi2, .dst0x, .src0q, ._, ._ },
...@@ -59400,7 +63456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59400,7 +63456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59400 }, .{63456 }, .{
59401 .required_features = .{ .@"64bit", .avx, null, null },63457 .required_features = .{ .@"64bit", .avx, null, null },
59402 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },63458 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
59403 .dst_constraints = .{.{ .float = .dword }},63459 .dst_constraints = .{ .{ .float = .dword }, .any },
59404 .patterns = &.{63460 .patterns = &.{
59405 .{ .src = .{ .to_mut_gpr, .none, .none } },63461 .{ .src = .{ .to_mut_gpr, .none, .none } },
59406 },63462 },
...@@ -59415,7 +63471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59415,7 +63471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59415 .unused,63471 .unused,
59416 .unused,63472 .unused,
59417 },63473 },
59418 .dst_temps = .{.{ .rc = .sse }},63474 .dst_temps = .{ .{ .rc = .sse }, .unused },
59419 .clobbers = .{ .eflags = true },63475 .clobbers = .{ .eflags = true },
59420 .each = .{ .once = &.{63476 .each = .{ .once = &.{
59421 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },63477 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -59433,7 +63489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59433,7 +63489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59433 }, .{63489 }, .{
59434 .required_features = .{ .@"64bit", .sse, null, null },63490 .required_features = .{ .@"64bit", .sse, null, null },
59435 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },63491 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
59436 .dst_constraints = .{.{ .float = .dword }},63492 .dst_constraints = .{ .{ .float = .dword }, .any },
59437 .patterns = &.{63493 .patterns = &.{
59438 .{ .src = .{ .to_mut_gpr, .none, .none } },63494 .{ .src = .{ .to_mut_gpr, .none, .none } },
59439 },63495 },
...@@ -59448,7 +63504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59448,7 +63504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59448 .unused,63504 .unused,
59449 .unused,63505 .unused,
59450 },63506 },
59451 .dst_temps = .{.{ .rc = .sse }},63507 .dst_temps = .{ .{ .rc = .sse }, .unused },
59452 .clobbers = .{ .eflags = true },63508 .clobbers = .{ .eflags = true },
59453 .each = .{ .once = &.{63509 .each = .{ .once = &.{
59454 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },63510 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -59466,7 +63522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59466,7 +63522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59466 }, .{63522 }, .{
59467 .required_features = .{ .@"64bit", .sse, null, null },63523 .required_features = .{ .@"64bit", .sse, null, null },
59468 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },63524 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
59469 .dst_constraints = .{.{ .float = .dword }},63525 .dst_constraints = .{ .{ .float = .dword }, .any },
59470 .patterns = &.{63526 .patterns = &.{
59471 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },63527 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
59472 },63528 },
...@@ -59482,7 +63538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59482,7 +63538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59482 .unused,63538 .unused,
59483 .unused,63539 .unused,
59484 },63540 },
59485 .dst_temps = .{.{ .reg = .xmm0 }},63541 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
59486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63542 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59487 .each = .{ .once = &.{63543 .each = .{ .once = &.{
59488 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },63544 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -59490,7 +63546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59490,7 +63546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59490 }, .{63546 }, .{
59491 .required_features = .{ .@"64bit", .sse, null, null },63547 .required_features = .{ .@"64bit", .sse, null, null },
59492 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },63548 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
59493 .dst_constraints = .{.{ .float = .dword }},63549 .dst_constraints = .{ .{ .float = .dword }, .any },
59494 .patterns = &.{63550 .patterns = &.{
59495 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },63551 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
59496 },63552 },
...@@ -59506,7 +63562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59506,7 +63562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59506 .unused,63562 .unused,
59507 .unused,63563 .unused,
59508 },63564 },
59509 .dst_temps = .{.{ .reg = .xmm0 }},63565 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
59510 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63566 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59511 .each = .{ .once = &.{63567 .each = .{ .once = &.{
59512 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },63568 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -59514,7 +63570,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59514,7 +63570,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59514 }, .{63570 }, .{
59515 .required_features = .{ .@"64bit", .sse, null, null },63571 .required_features = .{ .@"64bit", .sse, null, null },
59516 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },63572 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59517 .dst_constraints = .{.{ .float = .dword }},63573 .dst_constraints = .{ .{ .float = .dword }, .any },
59518 .patterns = &.{63574 .patterns = &.{
59519 .{ .src = .{ .to_mem, .none, .none } },63575 .{ .src = .{ .to_mem, .none, .none } },
59520 },63576 },
...@@ -59530,7 +63586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59530,7 +63586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59530 .unused,63586 .unused,
59531 .unused,63587 .unused,
59532 },63588 },
59533 .dst_temps = .{.{ .reg = .xmm0 }},63589 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
59534 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63590 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59535 .each = .{ .once = &.{63591 .each = .{ .once = &.{
59536 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63592 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -59540,7 +63596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59540,7 +63596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59540 }, .{63596 }, .{
59541 .required_features = .{ .@"64bit", .sse, null, null },63597 .required_features = .{ .@"64bit", .sse, null, null },
59542 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },63598 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59543 .dst_constraints = .{.{ .float = .dword }},63599 .dst_constraints = .{ .{ .float = .dword }, .any },
59544 .patterns = &.{63600 .patterns = &.{
59545 .{ .src = .{ .to_mem, .none, .none } },63601 .{ .src = .{ .to_mem, .none, .none } },
59546 },63602 },
...@@ -59556,7 +63612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59556,7 +63612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59556 .unused,63612 .unused,
59557 .unused,63613 .unused,
59558 },63614 },
59559 .dst_temps = .{.{ .reg = .xmm0 }},63615 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
59560 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63616 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59561 .each = .{ .once = &.{63617 .each = .{ .once = &.{
59562 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },63618 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -59566,12 +63622,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59566,12 +63622,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59566 }, .{63622 }, .{
59567 .required_features = .{ .avx, null, null, null },63623 .required_features = .{ .avx, null, null, null },
59568 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },63624 .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 },
59570 .patterns = &.{63626 .patterns = &.{
59571 .{ .src = .{ .mem, .none, .none } },63627 .{ .src = .{ .mem, .none, .none } },
59572 .{ .src = .{ .to_sse, .none, .none } },63628 .{ .src = .{ .to_sse, .none, .none } },
59573 },63629 },
59574 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},63630 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
59575 .each = .{ .once = &.{63631 .each = .{ .once = &.{
59576 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },63632 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
59577 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },63633 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -59579,12 +63635,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59579,12 +63635,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59579 }, .{63635 }, .{
59580 .required_features = .{ .sse4_1, null, null, null },63636 .required_features = .{ .sse4_1, null, null, null },
59581 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },63637 .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 },
59583 .patterns = &.{63639 .patterns = &.{
59584 .{ .src = .{ .mem, .none, .none } },63640 .{ .src = .{ .mem, .none, .none } },
59585 .{ .src = .{ .to_sse, .none, .none } },63641 .{ .src = .{ .to_sse, .none, .none } },
59586 },63642 },
59587 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},63643 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
59588 .each = .{ .once = &.{63644 .each = .{ .once = &.{
59589 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },63645 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },
59590 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },63646 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -59592,12 +63648,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59592,12 +63648,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59592 }, .{63648 }, .{
59593 .required_features = .{ .avx2, null, null, null },63649 .required_features = .{ .avx2, null, null, null },
59594 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },63650 .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 },
59596 .patterns = &.{63652 .patterns = &.{
59597 .{ .src = .{ .mem, .none, .none } },63653 .{ .src = .{ .mem, .none, .none } },
59598 .{ .src = .{ .to_sse, .none, .none } },63654 .{ .src = .{ .to_sse, .none, .none } },
59599 },63655 },
59600 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},63656 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
59601 .each = .{ .once = &.{63657 .each = .{ .once = &.{
59602 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },63658 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },
59603 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },63659 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -59605,12 +63661,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59605,12 +63661,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59605 }, .{63661 }, .{
59606 .required_features = .{ .avx, null, null, null },63662 .required_features = .{ .avx, null, null, null },
59607 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },63663 .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 },
59609 .patterns = &.{63665 .patterns = &.{
59610 .{ .src = .{ .mem, .none, .none } },63666 .{ .src = .{ .mem, .none, .none } },
59611 .{ .src = .{ .to_sse, .none, .none } },63667 .{ .src = .{ .to_sse, .none, .none } },
59612 },63668 },
59613 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},63669 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
59614 .each = .{ .once = &.{63670 .each = .{ .once = &.{
59615 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },63671 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
59616 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },63672 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -59618,12 +63674,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59618,12 +63674,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59618 }, .{63674 }, .{
59619 .required_features = .{ .sse4_1, null, null, null },63675 .required_features = .{ .sse4_1, null, null, null },
59620 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },63676 .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 },
59622 .patterns = &.{63678 .patterns = &.{
59623 .{ .src = .{ .mem, .none, .none } },63679 .{ .src = .{ .mem, .none, .none } },
59624 .{ .src = .{ .to_sse, .none, .none } },63680 .{ .src = .{ .to_sse, .none, .none } },
59625 },63681 },
59626 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},63682 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
59627 .each = .{ .once = &.{63683 .each = .{ .once = &.{
59628 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },63684 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },
59629 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },63685 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -59631,12 +63687,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59631,12 +63687,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59631 }, .{63687 }, .{
59632 .required_features = .{ .avx2, null, null, null },63688 .required_features = .{ .avx2, null, null, null },
59633 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },63689 .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 },
59635 .patterns = &.{63691 .patterns = &.{
59636 .{ .src = .{ .mem, .none, .none } },63692 .{ .src = .{ .mem, .none, .none } },
59637 .{ .src = .{ .to_sse, .none, .none } },63693 .{ .src = .{ .to_sse, .none, .none } },
59638 },63694 },
59639 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},63695 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
59640 .each = .{ .once = &.{63696 .each = .{ .once = &.{
59641 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },63697 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },
59642 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },63698 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -59644,7 +63700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59644,7 +63700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59644 }, .{63700 }, .{
59645 .required_features = .{ .avx2, null, null, null },63701 .required_features = .{ .avx2, null, null, null },
59646 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },63702 .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 },
59648 .patterns = &.{63704 .patterns = &.{
59649 .{ .src = .{ .to_mem, .none, .none } },63705 .{ .src = .{ .to_mem, .none, .none } },
59650 },63706 },
...@@ -59659,7 +63715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59659,7 +63715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59659 .unused,63715 .unused,
59660 .unused,63716 .unused,
59661 },63717 },
59662 .dst_temps = .{.mem},63718 .dst_temps = .{ .mem, .unused },
59663 .clobbers = .{ .eflags = true },63719 .clobbers = .{ .eflags = true },
59664 .each = .{ .once = &.{63720 .each = .{ .once = &.{
59665 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63721 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59672,7 +63728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59672,7 +63728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59672 }, .{63728 }, .{
59673 .required_features = .{ .avx, null, null, null },63729 .required_features = .{ .avx, null, null, null },
59674 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },63730 .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 },
59676 .patterns = &.{63732 .patterns = &.{
59677 .{ .src = .{ .to_mem, .none, .none } },63733 .{ .src = .{ .to_mem, .none, .none } },
59678 },63734 },
...@@ -59687,7 +63743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59687,7 +63743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59687 .unused,63743 .unused,
59688 .unused,63744 .unused,
59689 },63745 },
59690 .dst_temps = .{.mem},63746 .dst_temps = .{ .mem, .unused },
59691 .clobbers = .{ .eflags = true },63747 .clobbers = .{ .eflags = true },
59692 .each = .{ .once = &.{63748 .each = .{ .once = &.{
59693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63749 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59700,7 +63756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59700,7 +63756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59700 }, .{63756 }, .{
59701 .required_features = .{ .sse4_1, null, null, null },63757 .required_features = .{ .sse4_1, null, null, null },
59702 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },63758 .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 },
59704 .patterns = &.{63760 .patterns = &.{
59705 .{ .src = .{ .to_mem, .none, .none } },63761 .{ .src = .{ .to_mem, .none, .none } },
59706 },63762 },
...@@ -59715,7 +63771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59715,7 +63771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59715 .unused,63771 .unused,
59716 .unused,63772 .unused,
59717 },63773 },
59718 .dst_temps = .{.mem},63774 .dst_temps = .{ .mem, .unused },
59719 .clobbers = .{ .eflags = true },63775 .clobbers = .{ .eflags = true },
59720 .each = .{ .once = &.{63776 .each = .{ .once = &.{
59721 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63777 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59728,7 +63784,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59728,7 +63784,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59728 }, .{63784 }, .{
59729 .required_features = .{ .avx2, null, null, null },63785 .required_features = .{ .avx2, null, null, null },
59730 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },63786 .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 },
59732 .patterns = &.{63788 .patterns = &.{
59733 .{ .src = .{ .to_mem, .none, .none } },63789 .{ .src = .{ .to_mem, .none, .none } },
59734 },63790 },
...@@ -59743,7 +63799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59743,7 +63799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59743 .unused,63799 .unused,
59744 .unused,63800 .unused,
59745 },63801 },
59746 .dst_temps = .{.mem},63802 .dst_temps = .{ .mem, .unused },
59747 .clobbers = .{ .eflags = true },63803 .clobbers = .{ .eflags = true },
59748 .each = .{ .once = &.{63804 .each = .{ .once = &.{
59749 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63805 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59756,7 +63812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59756,7 +63812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59756 }, .{63812 }, .{
59757 .required_features = .{ .avx, null, null, null },63813 .required_features = .{ .avx, null, null, null },
59758 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },63814 .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 },
59760 .patterns = &.{63816 .patterns = &.{
59761 .{ .src = .{ .to_mem, .none, .none } },63817 .{ .src = .{ .to_mem, .none, .none } },
59762 },63818 },
...@@ -59771,7 +63827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59771,7 +63827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59771 .unused,63827 .unused,
59772 .unused,63828 .unused,
59773 },63829 },
59774 .dst_temps = .{.mem},63830 .dst_temps = .{ .mem, .unused },
59775 .clobbers = .{ .eflags = true },63831 .clobbers = .{ .eflags = true },
59776 .each = .{ .once = &.{63832 .each = .{ .once = &.{
59777 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63833 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59784,7 +63840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59784,7 +63840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59784 }, .{63840 }, .{
59785 .required_features = .{ .sse4_1, null, null, null },63841 .required_features = .{ .sse4_1, null, null, null },
59786 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },63842 .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 },
59788 .patterns = &.{63844 .patterns = &.{
59789 .{ .src = .{ .to_mem, .none, .none } },63845 .{ .src = .{ .to_mem, .none, .none } },
59790 },63846 },
...@@ -59799,7 +63855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59799,7 +63855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59799 .unused,63855 .unused,
59800 .unused,63856 .unused,
59801 },63857 },
59802 .dst_temps = .{.mem},63858 .dst_temps = .{ .mem, .unused },
59803 .clobbers = .{ .eflags = true },63859 .clobbers = .{ .eflags = true },
59804 .each = .{ .once = &.{63860 .each = .{ .once = &.{
59805 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63861 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59812,7 +63868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59812,7 +63868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59812 }, .{63868 }, .{
59813 .required_features = .{ .avx, .slow_incdec, null, null },63869 .required_features = .{ .avx, .slow_incdec, null, null },
59814 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },63870 .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 },
59816 .patterns = &.{63872 .patterns = &.{
59817 .{ .src = .{ .to_mem, .none, .none } },63873 .{ .src = .{ .to_mem, .none, .none } },
59818 },63874 },
...@@ -59828,7 +63884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59828,7 +63884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59828 .unused,63884 .unused,
59829 .unused,63885 .unused,
59830 },63886 },
59831 .dst_temps = .{.mem},63887 .dst_temps = .{ .mem, .unused },
59832 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63888 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59833 .each = .{ .once = &.{63889 .each = .{ .once = &.{
59834 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63890 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59841,7 +63897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59841,7 +63897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59841 }, .{63897 }, .{
59842 .required_features = .{ .avx, null, null, null },63898 .required_features = .{ .avx, null, null, null },
59843 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },63899 .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 },
59845 .patterns = &.{63901 .patterns = &.{
59846 .{ .src = .{ .to_mem, .none, .none } },63902 .{ .src = .{ .to_mem, .none, .none } },
59847 },63903 },
...@@ -59857,7 +63913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59857,7 +63913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59857 .unused,63913 .unused,
59858 .unused,63914 .unused,
59859 },63915 },
59860 .dst_temps = .{.mem},63916 .dst_temps = .{ .mem, .unused },
59861 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59862 .each = .{ .once = &.{63918 .each = .{ .once = &.{
59863 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63919 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59870,7 +63926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59870,7 +63926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59870 }, .{63926 }, .{
59871 .required_features = .{ .sse, .slow_incdec, null, null },63927 .required_features = .{ .sse, .slow_incdec, null, null },
59872 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },63928 .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 },
59874 .patterns = &.{63930 .patterns = &.{
59875 .{ .src = .{ .to_mem, .none, .none } },63931 .{ .src = .{ .to_mem, .none, .none } },
59876 },63932 },
...@@ -59886,7 +63942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59886,7 +63942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59886 .unused,63942 .unused,
59887 .unused,63943 .unused,
59888 },63944 },
59889 .dst_temps = .{.mem},63945 .dst_temps = .{ .mem, .unused },
59890 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63946 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59891 .each = .{ .once = &.{63947 .each = .{ .once = &.{
59892 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63948 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59899,7 +63955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59899,7 +63955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59899 }, .{63955 }, .{
59900 .required_features = .{ .sse, null, null, null },63956 .required_features = .{ .sse, null, null, null },
59901 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },63957 .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 },
59903 .patterns = &.{63959 .patterns = &.{
59904 .{ .src = .{ .to_mem, .none, .none } },63960 .{ .src = .{ .to_mem, .none, .none } },
59905 },63961 },
...@@ -59915,7 +63971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59915,7 +63971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59915 .unused,63971 .unused,
59916 .unused,63972 .unused,
59917 },63973 },
59918 .dst_temps = .{.mem},63974 .dst_temps = .{ .mem, .unused },
59919 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },63975 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59920 .each = .{ .once = &.{63976 .each = .{ .once = &.{
59921 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },63977 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59928,7 +63984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59928,7 +63984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59928 }, .{63984 }, .{
59929 .required_features = .{ .avx, .slow_incdec, null, null },63985 .required_features = .{ .avx, .slow_incdec, null, null },
59930 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },63986 .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 },
59932 .patterns = &.{63988 .patterns = &.{
59933 .{ .src = .{ .to_mem, .none, .none } },63989 .{ .src = .{ .to_mem, .none, .none } },
59934 },63990 },
...@@ -59944,7 +64000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59944,7 +64000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59944 .unused,64000 .unused,
59945 .unused,64001 .unused,
59946 },64002 },
59947 .dst_temps = .{.mem},64003 .dst_temps = .{ .mem, .unused },
59948 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64004 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59949 .each = .{ .once = &.{64005 .each = .{ .once = &.{
59950 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64006 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59957,7 +64013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59957,7 +64013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59957 }, .{64013 }, .{
59958 .required_features = .{ .avx, null, null, null },64014 .required_features = .{ .avx, null, null, null },
59959 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },64015 .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 },
59961 .patterns = &.{64017 .patterns = &.{
59962 .{ .src = .{ .to_mem, .none, .none } },64018 .{ .src = .{ .to_mem, .none, .none } },
59963 },64019 },
...@@ -59973,7 +64029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59973,7 +64029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59973 .unused,64029 .unused,
59974 .unused,64030 .unused,
59975 },64031 },
59976 .dst_temps = .{.mem},64032 .dst_temps = .{ .mem, .unused },
59977 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59978 .each = .{ .once = &.{64034 .each = .{ .once = &.{
59979 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64035 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -59986,7 +64042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -59986,7 +64042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59986 }, .{64042 }, .{
59987 .required_features = .{ .sse, .slow_incdec, null, null },64043 .required_features = .{ .sse, .slow_incdec, null, null },
59988 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },64044 .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 },
59990 .patterns = &.{64046 .patterns = &.{
59991 .{ .src = .{ .to_mem, .none, .none } },64047 .{ .src = .{ .to_mem, .none, .none } },
59992 },64048 },
...@@ -60002,7 +64058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60002,7 +64058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60002 .unused,64058 .unused,
60003 .unused,64059 .unused,
60004 },64060 },
60005 .dst_temps = .{.mem},64061 .dst_temps = .{ .mem, .unused },
60006 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64062 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60007 .each = .{ .once = &.{64063 .each = .{ .once = &.{
60008 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64064 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60015,7 +64071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60015,7 +64071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60015 }, .{64071 }, .{
60016 .required_features = .{ .sse, null, null, null },64072 .required_features = .{ .sse, null, null, null },
60017 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },64073 .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 },
60019 .patterns = &.{64075 .patterns = &.{
60020 .{ .src = .{ .to_mem, .none, .none } },64076 .{ .src = .{ .to_mem, .none, .none } },
60021 },64077 },
...@@ -60031,7 +64087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60031,7 +64087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60031 .unused,64087 .unused,
60032 .unused,64088 .unused,
60033 },64089 },
60034 .dst_temps = .{.mem},64090 .dst_temps = .{ .mem, .unused },
60035 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64091 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60036 .each = .{ .once = &.{64092 .each = .{ .once = &.{
60037 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60044,12 +64100,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60044,12 +64100,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60044 }, .{64100 }, .{
60045 .required_features = .{ .avx, null, null, null },64101 .required_features = .{ .avx, null, null, null },
60046 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },64102 .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 },
60048 .patterns = &.{64104 .patterns = &.{
60049 .{ .src = .{ .mem, .none, .none } },64105 .{ .src = .{ .mem, .none, .none } },
60050 .{ .src = .{ .to_sse, .none, .none } },64106 .{ .src = .{ .to_sse, .none, .none } },
60051 },64107 },
60052 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64108 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60053 .each = .{ .once = &.{64109 .each = .{ .once = &.{
60054 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },64110 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
60055 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },64111 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -60057,12 +64113,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60057,12 +64113,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60057 }, .{64113 }, .{
60058 .required_features = .{ .sse4_1, null, null, null },64114 .required_features = .{ .sse4_1, null, null, null },
60059 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },64115 .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 },
60061 .patterns = &.{64117 .patterns = &.{
60062 .{ .src = .{ .mem, .none, .none } },64118 .{ .src = .{ .mem, .none, .none } },
60063 .{ .src = .{ .to_sse, .none, .none } },64119 .{ .src = .{ .to_sse, .none, .none } },
60064 },64120 },
60065 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64121 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60066 .each = .{ .once = &.{64122 .each = .{ .once = &.{
60067 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },64123 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },
60068 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },64124 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -60070,12 +64126,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60070,12 +64126,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60070 }, .{64126 }, .{
60071 .required_features = .{ .avx2, null, null, null },64127 .required_features = .{ .avx2, null, null, null },
60072 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },64128 .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 },
60074 .patterns = &.{64130 .patterns = &.{
60075 .{ .src = .{ .mem, .none, .none } },64131 .{ .src = .{ .mem, .none, .none } },
60076 .{ .src = .{ .to_sse, .none, .none } },64132 .{ .src = .{ .to_sse, .none, .none } },
60077 },64133 },
60078 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64134 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60079 .each = .{ .once = &.{64135 .each = .{ .once = &.{
60080 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },64136 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },
60081 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },64137 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -60083,12 +64139,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60083,12 +64139,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60083 }, .{64139 }, .{
60084 .required_features = .{ .avx, null, null, null },64140 .required_features = .{ .avx, null, null, null },
60085 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },64141 .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 },
60087 .patterns = &.{64143 .patterns = &.{
60088 .{ .src = .{ .mem, .none, .none } },64144 .{ .src = .{ .mem, .none, .none } },
60089 .{ .src = .{ .to_sse, .none, .none } },64145 .{ .src = .{ .to_sse, .none, .none } },
60090 },64146 },
60091 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64147 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60092 .each = .{ .once = &.{64148 .each = .{ .once = &.{
60093 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },64149 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
60094 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },64150 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -60096,12 +64152,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60096,12 +64152,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60096 }, .{64152 }, .{
60097 .required_features = .{ .sse4_1, null, null, null },64153 .required_features = .{ .sse4_1, null, null, null },
60098 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },64154 .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 },
60100 .patterns = &.{64156 .patterns = &.{
60101 .{ .src = .{ .mem, .none, .none } },64157 .{ .src = .{ .mem, .none, .none } },
60102 .{ .src = .{ .to_sse, .none, .none } },64158 .{ .src = .{ .to_sse, .none, .none } },
60103 },64159 },
60104 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64160 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60105 .each = .{ .once = &.{64161 .each = .{ .once = &.{
60106 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },64162 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },
60107 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },64163 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
...@@ -60109,12 +64165,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60109,12 +64165,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60109 }, .{64165 }, .{
60110 .required_features = .{ .avx2, null, null, null },64166 .required_features = .{ .avx2, null, null, null },
60111 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },64167 .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 },
60113 .patterns = &.{64169 .patterns = &.{
60114 .{ .src = .{ .mem, .none, .none } },64170 .{ .src = .{ .mem, .none, .none } },
60115 .{ .src = .{ .to_sse, .none, .none } },64171 .{ .src = .{ .to_sse, .none, .none } },
60116 },64172 },
60117 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64173 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60118 .each = .{ .once = &.{64174 .each = .{ .once = &.{
60119 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },64175 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },
60120 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },64176 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
...@@ -60122,7 +64178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60122,7 +64178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60122 }, .{64178 }, .{
60123 .required_features = .{ .avx2, null, null, null },64179 .required_features = .{ .avx2, null, null, null },
60124 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },64180 .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 },
60126 .patterns = &.{64182 .patterns = &.{
60127 .{ .src = .{ .to_mem, .none, .none } },64183 .{ .src = .{ .to_mem, .none, .none } },
60128 },64184 },
...@@ -60137,7 +64193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60137,7 +64193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60137 .unused,64193 .unused,
60138 .unused,64194 .unused,
60139 },64195 },
60140 .dst_temps = .{.mem},64196 .dst_temps = .{ .mem, .unused },
60141 .clobbers = .{ .eflags = true },64197 .clobbers = .{ .eflags = true },
60142 .each = .{ .once = &.{64198 .each = .{ .once = &.{
60143 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64199 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60150,7 +64206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60150,7 +64206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60150 }, .{64206 }, .{
60151 .required_features = .{ .avx, null, null, null },64207 .required_features = .{ .avx, null, null, null },
60152 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },64208 .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 },
60154 .patterns = &.{64210 .patterns = &.{
60155 .{ .src = .{ .to_mem, .none, .none } },64211 .{ .src = .{ .to_mem, .none, .none } },
60156 },64212 },
...@@ -60165,7 +64221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60165,7 +64221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60165 .unused,64221 .unused,
60166 .unused,64222 .unused,
60167 },64223 },
60168 .dst_temps = .{.mem},64224 .dst_temps = .{ .mem, .unused },
60169 .clobbers = .{ .eflags = true },64225 .clobbers = .{ .eflags = true },
60170 .each = .{ .once = &.{64226 .each = .{ .once = &.{
60171 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64227 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60178,7 +64234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60178,7 +64234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60178 }, .{64234 }, .{
60179 .required_features = .{ .sse4_1, null, null, null },64235 .required_features = .{ .sse4_1, null, null, null },
60180 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },64236 .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 },
60182 .patterns = &.{64238 .patterns = &.{
60183 .{ .src = .{ .to_mem, .none, .none } },64239 .{ .src = .{ .to_mem, .none, .none } },
60184 },64240 },
...@@ -60193,7 +64249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60193,7 +64249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60193 .unused,64249 .unused,
60194 .unused,64250 .unused,
60195 },64251 },
60196 .dst_temps = .{.mem},64252 .dst_temps = .{ .mem, .unused },
60197 .clobbers = .{ .eflags = true },64253 .clobbers = .{ .eflags = true },
60198 .each = .{ .once = &.{64254 .each = .{ .once = &.{
60199 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64255 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60206,7 +64262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60206,7 +64262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60206 }, .{64262 }, .{
60207 .required_features = .{ .avx2, null, null, null },64263 .required_features = .{ .avx2, null, null, null },
60208 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },64264 .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 },
60210 .patterns = &.{64266 .patterns = &.{
60211 .{ .src = .{ .to_mem, .none, .none } },64267 .{ .src = .{ .to_mem, .none, .none } },
60212 },64268 },
...@@ -60221,7 +64277,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60221,7 +64277,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60221 .unused,64277 .unused,
60222 .unused,64278 .unused,
60223 },64279 },
60224 .dst_temps = .{.mem},64280 .dst_temps = .{ .mem, .unused },
60225 .clobbers = .{ .eflags = true },64281 .clobbers = .{ .eflags = true },
60226 .each = .{ .once = &.{64282 .each = .{ .once = &.{
60227 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64283 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60234,7 +64290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60234,7 +64290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60234 }, .{64290 }, .{
60235 .required_features = .{ .avx, null, null, null },64291 .required_features = .{ .avx, null, null, null },
60236 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },64292 .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 },
60238 .patterns = &.{64294 .patterns = &.{
60239 .{ .src = .{ .to_mem, .none, .none } },64295 .{ .src = .{ .to_mem, .none, .none } },
60240 },64296 },
...@@ -60249,7 +64305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60249,7 +64305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60249 .unused,64305 .unused,
60250 .unused,64306 .unused,
60251 },64307 },
60252 .dst_temps = .{.mem},64308 .dst_temps = .{ .mem, .unused },
60253 .clobbers = .{ .eflags = true },64309 .clobbers = .{ .eflags = true },
60254 .each = .{ .once = &.{64310 .each = .{ .once = &.{
60255 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64311 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60262,7 +64318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60262,7 +64318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60262 }, .{64318 }, .{
60263 .required_features = .{ .sse4_1, null, null, null },64319 .required_features = .{ .sse4_1, null, null, null },
60264 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },64320 .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 },
60266 .patterns = &.{64322 .patterns = &.{
60267 .{ .src = .{ .to_mem, .none, .none } },64323 .{ .src = .{ .to_mem, .none, .none } },
60268 },64324 },
...@@ -60277,7 +64333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60277,7 +64333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60277 .unused,64333 .unused,
60278 .unused,64334 .unused,
60279 },64335 },
60280 .dst_temps = .{.mem},64336 .dst_temps = .{ .mem, .unused },
60281 .clobbers = .{ .eflags = true },64337 .clobbers = .{ .eflags = true },
60282 .each = .{ .once = &.{64338 .each = .{ .once = &.{
60283 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60290,7 +64346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60290,7 +64346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60290 }, .{64346 }, .{
60291 .required_features = .{ .avx, null, null, null },64347 .required_features = .{ .avx, null, null, null },
60292 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },64348 .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 },
60294 .patterns = &.{64350 .patterns = &.{
60295 .{ .src = .{ .to_mem, .none, .none } },64351 .{ .src = .{ .to_mem, .none, .none } },
60296 },64352 },
...@@ -60306,7 +64362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60306,7 +64362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60306 .unused,64362 .unused,
60307 .unused,64363 .unused,
60308 },64364 },
60309 .dst_temps = .{.mem},64365 .dst_temps = .{ .mem, .unused },
60310 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64366 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60311 .each = .{ .once = &.{64367 .each = .{ .once = &.{
60312 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64368 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60319,7 +64375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60319,7 +64375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60319 }, .{64375 }, .{
60320 .required_features = .{ .sse, null, null, null },64376 .required_features = .{ .sse, null, null, null },
60321 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },64377 .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 },
60323 .patterns = &.{64379 .patterns = &.{
60324 .{ .src = .{ .to_mem, .none, .none } },64380 .{ .src = .{ .to_mem, .none, .none } },
60325 },64381 },
...@@ -60335,7 +64391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60335,7 +64391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60335 .unused,64391 .unused,
60336 .unused,64392 .unused,
60337 },64393 },
60338 .dst_temps = .{.mem},64394 .dst_temps = .{ .mem, .unused },
60339 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64395 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60340 .each = .{ .once = &.{64396 .each = .{ .once = &.{
60341 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64397 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60348,7 +64404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60348,7 +64404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60348 }, .{64404 }, .{
60349 .required_features = .{ .avx, null, null, null },64405 .required_features = .{ .avx, null, null, null },
60350 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },64406 .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 },
60352 .patterns = &.{64408 .patterns = &.{
60353 .{ .src = .{ .to_mem, .none, .none } },64409 .{ .src = .{ .to_mem, .none, .none } },
60354 },64410 },
...@@ -60364,7 +64420,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60364,7 +64420,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60364 .unused,64420 .unused,
60365 .unused,64421 .unused,
60366 },64422 },
60367 .dst_temps = .{.mem},64423 .dst_temps = .{ .mem, .unused },
60368 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64424 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60369 .each = .{ .once = &.{64425 .each = .{ .once = &.{
60370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64426 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60377,7 +64433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60377,7 +64433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60377 }, .{64433 }, .{
60378 .required_features = .{ .sse, null, null, null },64434 .required_features = .{ .sse, null, null, null },
60379 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },64435 .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 },
60381 .patterns = &.{64437 .patterns = &.{
60382 .{ .src = .{ .to_mem, .none, .none } },64438 .{ .src = .{ .to_mem, .none, .none } },
60383 },64439 },
...@@ -60393,7 +64449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60393,7 +64449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60393 .unused,64449 .unused,
60394 .unused,64450 .unused,
60395 },64451 },
60396 .dst_temps = .{.mem},64452 .dst_temps = .{ .mem, .unused },
60397 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64453 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60398 .each = .{ .once = &.{64454 .each = .{ .once = &.{
60399 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64455 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60406,43 +64462,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60406,43 +64462,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60406 }, .{64462 }, .{
60407 .required_features = .{ .avx, null, null, null },64463 .required_features = .{ .avx, null, null, null },
60408 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },64464 .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 },
60410 .patterns = &.{64466 .patterns = &.{
60411 .{ .src = .{ .mem, .none, .none } },64467 .{ .src = .{ .mem, .none, .none } },
60412 .{ .src = .{ .to_sse, .none, .none } },64468 .{ .src = .{ .to_sse, .none, .none } },
60413 },64469 },
60414 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64470 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60415 .each = .{ .once = &.{64471 .each = .{ .once = &.{
60416 .{ ._, .v_ps, .cvtdq2, .dst0x, .src0x, ._, ._ },64472 .{ ._, .v_ps, .cvtdq2, .dst0x, .src0x, ._, ._ },
60417 } },64473 } },
60418 }, .{64474 }, .{
60419 .required_features = .{ .sse2, null, null, null },64475 .required_features = .{ .sse2, null, null, null },
60420 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },64476 .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 },
60422 .patterns = &.{64478 .patterns = &.{
60423 .{ .src = .{ .mem, .none, .none } },64479 .{ .src = .{ .mem, .none, .none } },
60424 .{ .src = .{ .to_sse, .none, .none } },64480 .{ .src = .{ .to_sse, .none, .none } },
60425 },64481 },
60426 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64482 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60427 .each = .{ .once = &.{64483 .each = .{ .once = &.{
60428 .{ ._, ._ps, .cvtdq2, .dst0x, .src0x, ._, ._ },64484 .{ ._, ._ps, .cvtdq2, .dst0x, .src0x, ._, ._ },
60429 } },64485 } },
60430 }, .{64486 }, .{
60431 .required_features = .{ .avx2, null, null, null },64487 .required_features = .{ .avx2, null, null, null },
60432 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },64488 .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 },
60434 .patterns = &.{64490 .patterns = &.{
60435 .{ .src = .{ .mem, .none, .none } },64491 .{ .src = .{ .mem, .none, .none } },
60436 .{ .src = .{ .to_sse, .none, .none } },64492 .{ .src = .{ .to_sse, .none, .none } },
60437 },64493 },
60438 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},64494 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
60439 .each = .{ .once = &.{64495 .each = .{ .once = &.{
60440 .{ ._, .v_ps, .cvtdq2, .dst0y, .src0y, ._, ._ },64496 .{ ._, .v_ps, .cvtdq2, .dst0y, .src0y, ._, ._ },
60441 } },64497 } },
60442 }, .{64498 }, .{
60443 .required_features = .{ .avx2, null, null, null },64499 .required_features = .{ .avx2, null, null, null },
60444 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },64500 .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 },
60446 .patterns = &.{64502 .patterns = &.{
60447 .{ .src = .{ .to_mem, .none, .none } },64503 .{ .src = .{ .to_mem, .none, .none } },
60448 },64504 },
...@@ -60457,7 +64513,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60457,7 +64513,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60457 .unused,64513 .unused,
60458 .unused,64514 .unused,
60459 },64515 },
60460 .dst_temps = .{.mem},64516 .dst_temps = .{ .mem, .unused },
60461 .clobbers = .{ .eflags = true },64517 .clobbers = .{ .eflags = true },
60462 .each = .{ .once = &.{64518 .each = .{ .once = &.{
60463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },64519 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -60469,7 +64525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60469,7 +64525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60469 }, .{64525 }, .{
60470 .required_features = .{ .avx, null, null, null },64526 .required_features = .{ .avx, null, null, null },
60471 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },64527 .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 },
60473 .patterns = &.{64529 .patterns = &.{
60474 .{ .src = .{ .to_mem, .none, .none } },64530 .{ .src = .{ .to_mem, .none, .none } },
60475 },64531 },
...@@ -60484,7 +64540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60484,7 +64540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60484 .unused,64540 .unused,
60485 .unused,64541 .unused,
60486 },64542 },
60487 .dst_temps = .{.mem},64543 .dst_temps = .{ .mem, .unused },
60488 .clobbers = .{ .eflags = true },64544 .clobbers = .{ .eflags = true },
60489 .each = .{ .once = &.{64545 .each = .{ .once = &.{
60490 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64546 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60496,7 +64552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60496,7 +64552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60496 }, .{64552 }, .{
60497 .required_features = .{ .sse2, null, null, null },64553 .required_features = .{ .sse2, null, null, null },
60498 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },64554 .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 },
60500 .patterns = &.{64556 .patterns = &.{
60501 .{ .src = .{ .to_mem, .none, .none } },64557 .{ .src = .{ .to_mem, .none, .none } },
60502 },64558 },
...@@ -60511,7 +64567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60511,7 +64567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60511 .unused,64567 .unused,
60512 .unused,64568 .unused,
60513 },64569 },
60514 .dst_temps = .{.mem},64570 .dst_temps = .{ .mem, .unused },
60515 .clobbers = .{ .eflags = true },64571 .clobbers = .{ .eflags = true },
60516 .each = .{ .once = &.{64572 .each = .{ .once = &.{
60517 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64573 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60523,7 +64579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60523,7 +64579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60523 }, .{64579 }, .{
60524 .required_features = .{ .sse, null, null, null },64580 .required_features = .{ .sse, null, null, null },
60525 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },64581 .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 },
60527 .patterns = &.{64583 .patterns = &.{
60528 .{ .src = .{ .to_mem, .none, .none } },64584 .{ .src = .{ .to_mem, .none, .none } },
60529 },64585 },
...@@ -60538,7 +64594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60538,7 +64594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60538 .unused,64594 .unused,
60539 .unused,64595 .unused,
60540 },64596 },
60541 .dst_temps = .{.mem},64597 .dst_temps = .{ .mem, .unused },
60542 .clobbers = .{ .eflags = true },64598 .clobbers = .{ .eflags = true },
60543 .each = .{ .once = &.{64599 .each = .{ .once = &.{
60544 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64600 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60550,7 +64606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60550,7 +64606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60550 }, .{64606 }, .{
60551 .required_features = .{ .avx, null, null, null },64607 .required_features = .{ .avx, null, null, null },
60552 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },64608 .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 },
60554 .patterns = &.{64610 .patterns = &.{
60555 .{ .src = .{ .to_mem, .none, .none } },64611 .{ .src = .{ .to_mem, .none, .none } },
60556 },64612 },
...@@ -60566,7 +64622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60566,7 +64622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60566 .unused,64622 .unused,
60567 .unused,64623 .unused,
60568 },64624 },
60569 .dst_temps = .{.mem},64625 .dst_temps = .{ .mem, .unused },
60570 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64626 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60571 .each = .{ .once = &.{64627 .each = .{ .once = &.{
60572 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64628 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60579,7 +64635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60579,7 +64635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60579 }, .{64635 }, .{
60580 .required_features = .{ .sse, null, null, null },64636 .required_features = .{ .sse, null, null, null },
60581 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },64637 .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 },
60583 .patterns = &.{64639 .patterns = &.{
60584 .{ .src = .{ .to_mem, .none, .none } },64640 .{ .src = .{ .to_mem, .none, .none } },
60585 },64641 },
...@@ -60595,7 +64651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60595,7 +64651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60595 .unused,64651 .unused,
60596 .unused,64652 .unused,
60597 },64653 },
60598 .dst_temps = .{.mem},64654 .dst_temps = .{ .mem, .unused },
60599 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64655 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60600 .each = .{ .once = &.{64656 .each = .{ .once = &.{
60601 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64657 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60608,7 +64664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60608,7 +64664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60608 }, .{64664 }, .{
60609 .required_features = .{ .avx, null, null, null },64665 .required_features = .{ .avx, null, null, null },
60610 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },64666 .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 },
60612 .patterns = &.{64668 .patterns = &.{
60613 .{ .src = .{ .to_mem, .none, .none } },64669 .{ .src = .{ .to_mem, .none, .none } },
60614 },64670 },
...@@ -60624,7 +64680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60624,7 +64680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60624 .unused,64680 .unused,
60625 .unused,64681 .unused,
60626 },64682 },
60627 .dst_temps = .{.mem},64683 .dst_temps = .{ .mem, .unused },
60628 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60629 .each = .{ .once = &.{64685 .each = .{ .once = &.{
60630 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64686 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60637,7 +64693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60637,7 +64693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60637 }, .{64693 }, .{
60638 .required_features = .{ .sse, null, null, null },64694 .required_features = .{ .sse, null, null, null },
60639 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },64695 .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 },
60641 .patterns = &.{64697 .patterns = &.{
60642 .{ .src = .{ .to_mem, .none, .none } },64698 .{ .src = .{ .to_mem, .none, .none } },
60643 },64699 },
...@@ -60653,7 +64709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60653,7 +64709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60653 .unused,64709 .unused,
60654 .unused,64710 .unused,
60655 },64711 },
60656 .dst_temps = .{.mem},64712 .dst_temps = .{ .mem, .unused },
60657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64713 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60658 .each = .{ .once = &.{64714 .each = .{ .once = &.{
60659 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64715 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60666,7 +64722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60666,7 +64722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60666 }, .{64722 }, .{
60667 .required_features = .{ .@"64bit", .avx, null, null },64723 .required_features = .{ .@"64bit", .avx, null, null },
60668 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },64724 .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 },
60670 .patterns = &.{64726 .patterns = &.{
60671 .{ .src = .{ .to_mem, .none, .none } },64727 .{ .src = .{ .to_mem, .none, .none } },
60672 },64728 },
...@@ -60681,7 +64737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60681,7 +64737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60681 .unused,64737 .unused,
60682 .unused,64738 .unused,
60683 },64739 },
60684 .dst_temps = .{.mem},64740 .dst_temps = .{ .mem, .unused },
60685 .clobbers = .{ .eflags = true },64741 .clobbers = .{ .eflags = true },
60686 .each = .{ .once = &.{64742 .each = .{ .once = &.{
60687 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64743 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60694,7 +64750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60694,7 +64750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60694 }, .{64750 }, .{
60695 .required_features = .{ .@"64bit", .sse, null, null },64751 .required_features = .{ .@"64bit", .sse, null, null },
60696 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },64752 .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 },
60698 .patterns = &.{64754 .patterns = &.{
60699 .{ .src = .{ .to_mem, .none, .none } },64755 .{ .src = .{ .to_mem, .none, .none } },
60700 },64756 },
...@@ -60709,7 +64765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60709,7 +64765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60709 .unused,64765 .unused,
60710 .unused,64766 .unused,
60711 },64767 },
60712 .dst_temps = .{.mem},64768 .dst_temps = .{ .mem, .unused },
60713 .clobbers = .{ .eflags = true },64769 .clobbers = .{ .eflags = true },
60714 .each = .{ .once = &.{64770 .each = .{ .once = &.{
60715 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64771 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60722,7 +64778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60722,7 +64778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60722 }, .{64778 }, .{
60723 .required_features = .{ .@"64bit", .avx, null, null },64779 .required_features = .{ .@"64bit", .avx, null, null },
60724 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },64780 .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 },
60726 .patterns = &.{64782 .patterns = &.{
60727 .{ .src = .{ .to_mem, .none, .none } },64783 .{ .src = .{ .to_mem, .none, .none } },
60728 },64784 },
...@@ -60738,7 +64794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60738,7 +64794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60738 .unused,64794 .unused,
60739 .unused,64795 .unused,
60740 },64796 },
60741 .dst_temps = .{.mem},64797 .dst_temps = .{ .mem, .unused },
60742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64798 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60743 .each = .{ .once = &.{64799 .each = .{ .once = &.{
60744 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64800 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60751,7 +64807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60751,7 +64807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60751 }, .{64807 }, .{
60752 .required_features = .{ .@"64bit", .sse, null, null },64808 .required_features = .{ .@"64bit", .sse, null, null },
60753 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },64809 .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 },
60755 .patterns = &.{64811 .patterns = &.{
60756 .{ .src = .{ .to_mem, .none, .none } },64812 .{ .src = .{ .to_mem, .none, .none } },
60757 },64813 },
...@@ -60767,7 +64823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60767,7 +64823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60767 .unused,64823 .unused,
60768 .unused,64824 .unused,
60769 },64825 },
60770 .dst_temps = .{.mem},64826 .dst_temps = .{ .mem, .unused },
60771 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64827 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60772 .each = .{ .once = &.{64828 .each = .{ .once = &.{
60773 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64829 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60780,7 +64836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60780,7 +64836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60780 }, .{64836 }, .{
60781 .required_features = .{ .@"64bit", .avx, null, null },64837 .required_features = .{ .@"64bit", .avx, null, null },
60782 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },64838 .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 },
60784 .patterns = &.{64840 .patterns = &.{
60785 .{ .src = .{ .to_mem, .none, .none } },64841 .{ .src = .{ .to_mem, .none, .none } },
60786 },64842 },
...@@ -60796,7 +64852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60796,7 +64852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60796 .unused,64852 .unused,
60797 .unused,64853 .unused,
60798 },64854 },
60799 .dst_temps = .{.mem},64855 .dst_temps = .{ .mem, .unused },
60800 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64856 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60801 .each = .{ .once = &.{64857 .each = .{ .once = &.{
60802 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64858 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60809,7 +64865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60809,7 +64865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60809 }, .{64865 }, .{
60810 .required_features = .{ .@"64bit", .sse, null, null },64866 .required_features = .{ .@"64bit", .sse, null, null },
60811 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },64867 .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 },
60813 .patterns = &.{64869 .patterns = &.{
60814 .{ .src = .{ .to_mem, .none, .none } },64870 .{ .src = .{ .to_mem, .none, .none } },
60815 },64871 },
...@@ -60825,7 +64881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60825,7 +64881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60825 .unused,64881 .unused,
60826 .unused,64882 .unused,
60827 },64883 },
60828 .dst_temps = .{.mem},64884 .dst_temps = .{ .mem, .unused },
60829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64885 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60830 .each = .{ .once = &.{64886 .each = .{ .once = &.{
60831 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64887 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60838,7 +64894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60838,7 +64894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60838 }, .{64894 }, .{
60839 .required_features = .{ .@"64bit", .avx, null, null },64895 .required_features = .{ .@"64bit", .avx, null, null },
60840 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },64896 .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 },
60842 .patterns = &.{64898 .patterns = &.{
60843 .{ .src = .{ .to_mem, .none, .none } },64899 .{ .src = .{ .to_mem, .none, .none } },
60844 },64900 },
...@@ -60854,7 +64910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60854,7 +64910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60854 .unused,64910 .unused,
60855 .unused,64911 .unused,
60856 },64912 },
60857 .dst_temps = .{.mem},64913 .dst_temps = .{ .mem, .unused },
60858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64914 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60859 .each = .{ .once = &.{64915 .each = .{ .once = &.{
60860 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64916 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60868,7 +64924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60868,7 +64924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60868 }, .{64924 }, .{
60869 .required_features = .{ .@"64bit", .sse, null, null },64925 .required_features = .{ .@"64bit", .sse, null, null },
60870 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },64926 .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 },
60872 .patterns = &.{64928 .patterns = &.{
60873 .{ .src = .{ .to_mem, .none, .none } },64929 .{ .src = .{ .to_mem, .none, .none } },
60874 },64930 },
...@@ -60884,7 +64940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60884,7 +64940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60884 .unused,64940 .unused,
60885 .unused,64941 .unused,
60886 },64942 },
60887 .dst_temps = .{.mem},64943 .dst_temps = .{ .mem, .unused },
60888 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60889 .each = .{ .once = &.{64945 .each = .{ .once = &.{
60890 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64946 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60898,7 +64954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60898,7 +64954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60898 }, .{64954 }, .{
60899 .required_features = .{ .@"64bit", .avx, null, null },64955 .required_features = .{ .@"64bit", .avx, null, null },
60900 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },64956 .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 },
60902 .patterns = &.{64958 .patterns = &.{
60903 .{ .src = .{ .to_mem, .none, .none } },64959 .{ .src = .{ .to_mem, .none, .none } },
60904 },64960 },
...@@ -60914,7 +64970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60914,7 +64970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60914 .unused,64970 .unused,
60915 .unused,64971 .unused,
60916 },64972 },
60917 .dst_temps = .{.mem},64973 .dst_temps = .{ .mem, .unused },
60918 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },64974 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60919 .each = .{ .once = &.{64975 .each = .{ .once = &.{
60920 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },64976 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60928,7 +64984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60928,7 +64984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60928 }, .{64984 }, .{
60929 .required_features = .{ .@"64bit", .sse, null, null },64985 .required_features = .{ .@"64bit", .sse, null, null },
60930 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },64986 .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 },
60932 .patterns = &.{64988 .patterns = &.{
60933 .{ .src = .{ .to_mem, .none, .none } },64989 .{ .src = .{ .to_mem, .none, .none } },
60934 },64990 },
...@@ -60944,7 +65000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60944,7 +65000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60944 .unused,65000 .unused,
60945 .unused,65001 .unused,
60946 },65002 },
60947 .dst_temps = .{.mem},65003 .dst_temps = .{ .mem, .unused },
60948 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65004 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60949 .each = .{ .once = &.{65005 .each = .{ .once = &.{
60950 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },65006 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -60958,7 +65014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60958,7 +65014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60958 }, .{65014 }, .{
60959 .required_features = .{ .@"64bit", .avx, null, null },65015 .required_features = .{ .@"64bit", .avx, null, null },
60960 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },65016 .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 },
60962 .patterns = &.{65018 .patterns = &.{
60963 .{ .src = .{ .to_mem, .none, .none } },65019 .{ .src = .{ .to_mem, .none, .none } },
60964 },65020 },
...@@ -60974,7 +65030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60974,7 +65030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60974 .unused,65030 .unused,
60975 .unused,65031 .unused,
60976 },65032 },
60977 .dst_temps = .{.mem},65033 .dst_temps = .{ .mem, .unused },
60978 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65034 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60979 .each = .{ .once = &.{65035 .each = .{ .once = &.{
60980 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },65036 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -60990,7 +65046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -60990,7 +65046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60990 }, .{65046 }, .{
60991 .required_features = .{ .@"64bit", .sse, null, null },65047 .required_features = .{ .@"64bit", .sse, null, null },
60992 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },65048 .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 },
60994 .patterns = &.{65050 .patterns = &.{
60995 .{ .src = .{ .to_mem, .none, .none } },65051 .{ .src = .{ .to_mem, .none, .none } },
60996 },65052 },
...@@ -61006,7 +65062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61006,7 +65062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61006 .unused,65062 .unused,
61007 .unused,65063 .unused,
61008 },65064 },
61009 .dst_temps = .{.mem},65065 .dst_temps = .{ .mem, .unused },
61010 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65066 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61011 .each = .{ .once = &.{65067 .each = .{ .once = &.{
61012 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },65068 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -61022,7 +65078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61022,7 +65078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61022 }, .{65078 }, .{
61023 .required_features = .{ .@"64bit", .avx, null, null },65079 .required_features = .{ .@"64bit", .avx, null, null },
61024 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },65080 .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 },
61026 .patterns = &.{65082 .patterns = &.{
61027 .{ .src = .{ .to_mem, .none, .none } },65083 .{ .src = .{ .to_mem, .none, .none } },
61028 },65084 },
...@@ -61038,7 +65094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61038,7 +65094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61038 .unused,65094 .unused,
61039 .unused,65095 .unused,
61040 },65096 },
61041 .dst_temps = .{.mem},65097 .dst_temps = .{ .mem, .unused },
61042 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65098 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61043 .each = .{ .once = &.{65099 .each = .{ .once = &.{
61044 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },65100 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -61054,7 +65110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61054,7 +65110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61054 }, .{65110 }, .{
61055 .required_features = .{ .@"64bit", .sse, null, null },65111 .required_features = .{ .@"64bit", .sse, null, null },
61056 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },65112 .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 },
61058 .patterns = &.{65114 .patterns = &.{
61059 .{ .src = .{ .to_mem, .none, .none } },65115 .{ .src = .{ .to_mem, .none, .none } },
61060 },65116 },
...@@ -61070,7 +65126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61070,7 +65126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61070 .unused,65126 .unused,
61071 .unused,65127 .unused,
61072 },65128 },
61073 .dst_temps = .{.mem},65129 .dst_temps = .{ .mem, .unused },
61074 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65130 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61075 .each = .{ .once = &.{65131 .each = .{ .once = &.{
61076 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },65132 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -61086,7 +65142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61086,7 +65142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61086 }, .{65142 }, .{
61087 .required_features = .{ .avx, null, null, null },65143 .required_features = .{ .avx, null, null, null },
61088 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },65144 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
61089 .dst_constraints = .{.{ .float = .qword }},65145 .dst_constraints = .{ .{ .float = .qword }, .any },
61090 .patterns = &.{65146 .patterns = &.{
61091 .{ .src = .{ .mem, .none, .none } },65147 .{ .src = .{ .mem, .none, .none } },
61092 .{ .src = .{ .to_gpr, .none, .none } },65148 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61102,7 +65158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61102,7 +65158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61102 .unused,65158 .unused,
61103 .unused,65159 .unused,
61104 },65160 },
61105 .dst_temps = .{.{ .rc = .sse }},65161 .dst_temps = .{ .{ .rc = .sse }, .unused },
61106 .each = .{ .once = &.{65162 .each = .{ .once = &.{
61107 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },65163 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
61108 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65164 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -61111,7 +65167,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61111,7 +65167,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61111 }, .{65167 }, .{
61112 .required_features = .{ .sse2, null, null, null },65168 .required_features = .{ .sse2, null, null, null },
61113 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },65169 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
61114 .dst_constraints = .{.{ .float = .qword }},65170 .dst_constraints = .{ .{ .float = .qword }, .any },
61115 .patterns = &.{65171 .patterns = &.{
61116 .{ .src = .{ .mem, .none, .none } },65172 .{ .src = .{ .mem, .none, .none } },
61117 .{ .src = .{ .to_gpr, .none, .none } },65173 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61127,7 +65183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61127,7 +65183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61127 .unused,65183 .unused,
61128 .unused,65184 .unused,
61129 },65185 },
61130 .dst_temps = .{.{ .rc = .sse }},65186 .dst_temps = .{ .{ .rc = .sse }, .unused },
61131 .each = .{ .once = &.{65187 .each = .{ .once = &.{
61132 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },65188 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
61133 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65189 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -61136,7 +65192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61136,7 +65192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61136 }, .{65192 }, .{
61137 .required_features = .{ .avx, null, null, null },65193 .required_features = .{ .avx, null, null, null },
61138 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },65194 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
61139 .dst_constraints = .{.{ .float = .qword }},65195 .dst_constraints = .{ .{ .float = .qword }, .any },
61140 .patterns = &.{65196 .patterns = &.{
61141 .{ .src = .{ .mem, .none, .none } },65197 .{ .src = .{ .mem, .none, .none } },
61142 .{ .src = .{ .to_gpr, .none, .none } },65198 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61152,7 +65208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61152,7 +65208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61152 .unused,65208 .unused,
61153 .unused,65209 .unused,
61154 },65210 },
61155 .dst_temps = .{.{ .rc = .sse }},65211 .dst_temps = .{ .{ .rc = .sse }, .unused },
61156 .each = .{ .once = &.{65212 .each = .{ .once = &.{
61157 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },65213 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
61158 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65214 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -61161,7 +65217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61161,7 +65217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61161 }, .{65217 }, .{
61162 .required_features = .{ .sse2, null, null, null },65218 .required_features = .{ .sse2, null, null, null },
61163 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },65219 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
61164 .dst_constraints = .{.{ .float = .qword }},65220 .dst_constraints = .{ .{ .float = .qword }, .any },
61165 .patterns = &.{65221 .patterns = &.{
61166 .{ .src = .{ .mem, .none, .none } },65222 .{ .src = .{ .mem, .none, .none } },
61167 .{ .src = .{ .to_gpr, .none, .none } },65223 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61177,7 +65233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61177,7 +65233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61177 .unused,65233 .unused,
61178 .unused,65234 .unused,
61179 },65235 },
61180 .dst_temps = .{.{ .rc = .sse }},65236 .dst_temps = .{ .{ .rc = .sse }, .unused },
61181 .each = .{ .once = &.{65237 .each = .{ .once = &.{
61182 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },65238 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
61183 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65239 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -61186,7 +65242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61186,7 +65242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61186 }, .{65242 }, .{
61187 .required_features = .{ .avx, null, null, null },65243 .required_features = .{ .avx, null, null, null },
61188 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },65244 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
61189 .dst_constraints = .{.{ .float = .qword }},65245 .dst_constraints = .{ .{ .float = .qword }, .any },
61190 .patterns = &.{65246 .patterns = &.{
61191 .{ .src = .{ .mem, .none, .none } },65247 .{ .src = .{ .mem, .none, .none } },
61192 .{ .src = .{ .to_gpr, .none, .none } },65248 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61202,7 +65258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61202,7 +65258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61202 .unused,65258 .unused,
61203 .unused,65259 .unused,
61204 },65260 },
61205 .dst_temps = .{.{ .rc = .sse }},65261 .dst_temps = .{ .{ .rc = .sse }, .unused },
61206 .each = .{ .once = &.{65262 .each = .{ .once = &.{
61207 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },65263 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
61208 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65264 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -61211,7 +65267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61211,7 +65267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61211 }, .{65267 }, .{
61212 .required_features = .{ .sse2, null, null, null },65268 .required_features = .{ .sse2, null, null, null },
61213 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },65269 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
61214 .dst_constraints = .{.{ .float = .qword }},65270 .dst_constraints = .{ .{ .float = .qword }, .any },
61215 .patterns = &.{65271 .patterns = &.{
61216 .{ .src = .{ .mem, .none, .none } },65272 .{ .src = .{ .mem, .none, .none } },
61217 .{ .src = .{ .to_gpr, .none, .none } },65273 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61227,7 +65283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61227,7 +65283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61227 .unused,65283 .unused,
61228 .unused,65284 .unused,
61229 },65285 },
61230 .dst_temps = .{.{ .rc = .sse }},65286 .dst_temps = .{ .{ .rc = .sse }, .unused },
61231 .each = .{ .once = &.{65287 .each = .{ .once = &.{
61232 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },65288 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
61233 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65289 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -61236,7 +65292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61236,7 +65292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61236 }, .{65292 }, .{
61237 .required_features = .{ .avx, null, null, null },65293 .required_features = .{ .avx, null, null, null },
61238 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },65294 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
61239 .dst_constraints = .{.{ .float = .qword }},65295 .dst_constraints = .{ .{ .float = .qword }, .any },
61240 .patterns = &.{65296 .patterns = &.{
61241 .{ .src = .{ .mem, .none, .none } },65297 .{ .src = .{ .mem, .none, .none } },
61242 .{ .src = .{ .to_gpr, .none, .none } },65298 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61252,7 +65308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61252,7 +65308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61252 .unused,65308 .unused,
61253 .unused,65309 .unused,
61254 },65310 },
61255 .dst_temps = .{.{ .rc = .sse }},65311 .dst_temps = .{ .{ .rc = .sse }, .unused },
61256 .each = .{ .once = &.{65312 .each = .{ .once = &.{
61257 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },65313 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
61258 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65314 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -61261,7 +65317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61261,7 +65317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61261 }, .{65317 }, .{
61262 .required_features = .{ .sse2, null, null, null },65318 .required_features = .{ .sse2, null, null, null },
61263 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },65319 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
61264 .dst_constraints = .{.{ .float = .qword }},65320 .dst_constraints = .{ .{ .float = .qword }, .any },
61265 .patterns = &.{65321 .patterns = &.{
61266 .{ .src = .{ .mem, .none, .none } },65322 .{ .src = .{ .mem, .none, .none } },
61267 .{ .src = .{ .to_gpr, .none, .none } },65323 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61277,7 +65333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61277,7 +65333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61277 .unused,65333 .unused,
61278 .unused,65334 .unused,
61279 },65335 },
61280 .dst_temps = .{.{ .rc = .sse }},65336 .dst_temps = .{ .{ .rc = .sse }, .unused },
61281 .each = .{ .once = &.{65337 .each = .{ .once = &.{
61282 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },65338 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
61283 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65339 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -61286,12 +65342,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61286,12 +65342,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61286 }, .{65342 }, .{
61287 .required_features = .{ .avx, null, null, null },65343 .required_features = .{ .avx, null, null, null },
61288 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },65344 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
61289 .dst_constraints = .{.{ .float = .qword }},65345 .dst_constraints = .{ .{ .float = .qword }, .any },
61290 .patterns = &.{65346 .patterns = &.{
61291 .{ .src = .{ .mem, .none, .none } },65347 .{ .src = .{ .mem, .none, .none } },
61292 .{ .src = .{ .to_gpr, .none, .none } },65348 .{ .src = .{ .to_gpr, .none, .none } },
61293 },65349 },
61294 .dst_temps = .{.{ .rc = .sse }},65350 .dst_temps = .{ .{ .rc = .sse }, .unused },
61295 .each = .{ .once = &.{65351 .each = .{ .once = &.{
61296 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65352 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
61297 .{ ._, .v_sd, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },65353 .{ ._, .v_sd, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },
...@@ -61299,12 +65355,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61299,12 +65355,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61299 }, .{65355 }, .{
61300 .required_features = .{ .sse2, null, null, null },65356 .required_features = .{ .sse2, null, null, null },
61301 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },65357 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
61302 .dst_constraints = .{.{ .float = .qword }},65358 .dst_constraints = .{ .{ .float = .qword }, .any },
61303 .patterns = &.{65359 .patterns = &.{
61304 .{ .src = .{ .mem, .none, .none } },65360 .{ .src = .{ .mem, .none, .none } },
61305 .{ .src = .{ .to_gpr, .none, .none } },65361 .{ .src = .{ .to_gpr, .none, .none } },
61306 },65362 },
61307 .dst_temps = .{.{ .rc = .sse }},65363 .dst_temps = .{ .{ .rc = .sse }, .unused },
61308 .each = .{ .once = &.{65364 .each = .{ .once = &.{
61309 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65365 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
61310 .{ ._, ._sd, .cvtsi2, .dst0x, .src0d, ._, ._ },65366 .{ ._, ._sd, .cvtsi2, .dst0x, .src0d, ._, ._ },
...@@ -61312,7 +65368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61312,7 +65368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61312 }, .{65368 }, .{
61313 .required_features = .{ .avx, null, null, null },65369 .required_features = .{ .avx, null, null, null },
61314 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },65370 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
61315 .dst_constraints = .{.{ .float = .qword }},65371 .dst_constraints = .{ .{ .float = .qword }, .any },
61316 .patterns = &.{65372 .patterns = &.{
61317 .{ .src = .{ .mem, .none, .none } },65373 .{ .src = .{ .mem, .none, .none } },
61318 .{ .src = .{ .to_gpr, .none, .none } },65374 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61328,7 +65384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61328,7 +65384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61328 .unused,65384 .unused,
61329 .unused,65385 .unused,
61330 },65386 },
61331 .dst_temps = .{.{ .rc = .sse }},65387 .dst_temps = .{ .{ .rc = .sse }, .unused },
61332 .each = .{ .once = &.{65388 .each = .{ .once = &.{
61333 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },65389 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
61334 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65390 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
...@@ -61337,7 +65393,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61337,7 +65393,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61337 }, .{65393 }, .{
61338 .required_features = .{ .sse2, null, null, null },65394 .required_features = .{ .sse2, null, null, null },
61339 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },65395 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
61340 .dst_constraints = .{.{ .float = .qword }},65396 .dst_constraints = .{ .{ .float = .qword }, .any },
61341 .patterns = &.{65397 .patterns = &.{
61342 .{ .src = .{ .mem, .none, .none } },65398 .{ .src = .{ .mem, .none, .none } },
61343 .{ .src = .{ .to_gpr, .none, .none } },65399 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61353,7 +65409,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61353,7 +65409,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61353 .unused,65409 .unused,
61354 .unused,65410 .unused,
61355 },65411 },
61356 .dst_temps = .{.{ .rc = .sse }},65412 .dst_temps = .{ .{ .rc = .sse }, .unused },
61357 .each = .{ .once = &.{65413 .each = .{ .once = &.{
61358 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },65414 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
61359 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65415 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
...@@ -61362,7 +65418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61362,7 +65418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61362 }, .{65418 }, .{
61363 .required_features = .{ .x87, null, null, null },65419 .required_features = .{ .x87, null, null, null },
61364 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },65420 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
61365 .dst_constraints = .{.{ .float = .qword }},65421 .dst_constraints = .{ .{ .float = .qword }, .any },
61366 .patterns = &.{65422 .patterns = &.{
61367 .{ .src = .{ .mem, .none, .none } },65423 .{ .src = .{ .mem, .none, .none } },
61368 .{ .src = .{ .to_gpr, .none, .none } },65424 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61378,7 +65434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61378,7 +65434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61378 .unused,65434 .unused,
61379 .unused,65435 .unused,
61380 },65436 },
61381 .dst_temps = .{.mem},65437 .dst_temps = .{ .mem, .unused },
61382 .each = .{ .once = &.{65438 .each = .{ .once = &.{
61383 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },65439 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
61384 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },65440 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
...@@ -61388,7 +65444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61388,7 +65444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61388 }, .{65444 }, .{
61389 .required_features = .{ .x87, null, null, null },65445 .required_features = .{ .x87, null, null, null },
61390 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },65446 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
61391 .dst_constraints = .{.{ .float = .qword }},65447 .dst_constraints = .{ .{ .float = .qword }, .any },
61392 .patterns = &.{65448 .patterns = &.{
61393 .{ .src = .{ .mem, .none, .none } },65449 .{ .src = .{ .mem, .none, .none } },
61394 .{ .src = .{ .to_gpr, .none, .none } },65450 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61404,7 +65460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61404,7 +65460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61404 .unused,65460 .unused,
61405 .unused,65461 .unused,
61406 },65462 },
61407 .dst_temps = .{.mem},65463 .dst_temps = .{ .mem, .unused },
61408 .each = .{ .once = &.{65464 .each = .{ .once = &.{
61409 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },65465 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
61410 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },65466 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
...@@ -61414,7 +65470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61414,7 +65470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61414 }, .{65470 }, .{
61415 .required_features = .{ .x87, null, null, null },65471 .required_features = .{ .x87, null, null, null },
61416 .src_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any, .any },65472 .src_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any, .any },
61417 .dst_constraints = .{.{ .float = .qword }},65473 .dst_constraints = .{ .{ .float = .qword }, .any },
61418 .patterns = &.{65474 .patterns = &.{
61419 .{ .src = .{ .to_mem, .none, .none } },65475 .{ .src = .{ .to_mem, .none, .none } },
61420 },65476 },
...@@ -61429,7 +65485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61429,7 +65485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61429 .unused,65485 .unused,
61430 .unused,65486 .unused,
61431 },65487 },
61432 .dst_temps = .{.mem},65488 .dst_temps = .{ .mem, .unused },
61433 .each = .{ .once = &.{65489 .each = .{ .once = &.{
61434 .{ ._, .fi_, .ld, .src0w, ._, ._, ._ },65490 .{ ._, .fi_, .ld, .src0w, ._, ._, ._ },
61435 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },65491 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
...@@ -61437,7 +65493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61437,7 +65493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61437 }, .{65493 }, .{
61438 .required_features = .{ .x87, null, null, null },65494 .required_features = .{ .x87, null, null, null },
61439 .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .any, .any },65495 .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .any, .any },
61440 .dst_constraints = .{.{ .float = .qword }},65496 .dst_constraints = .{ .{ .float = .qword }, .any },
61441 .patterns = &.{65497 .patterns = &.{
61442 .{ .src = .{ .mem, .none, .none } },65498 .{ .src = .{ .mem, .none, .none } },
61443 .{ .src = .{ .to_gpr, .none, .none } },65499 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61453,7 +65509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61453,7 +65509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61453 .unused,65509 .unused,
61454 .unused,65510 .unused,
61455 },65511 },
61456 .dst_temps = .{.mem},65512 .dst_temps = .{ .mem, .unused },
61457 .each = .{ .once = &.{65513 .each = .{ .once = &.{
61458 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },65514 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
61459 .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ },65515 .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ },
...@@ -61463,7 +65519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61463,7 +65519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61463 }, .{65519 }, .{
61464 .required_features = .{ .x87, null, null, null },65520 .required_features = .{ .x87, null, null, null },
61465 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },65521 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
61466 .dst_constraints = .{.{ .float = .qword }},65522 .dst_constraints = .{ .{ .float = .qword }, .any },
61467 .patterns = &.{65523 .patterns = &.{
61468 .{ .src = .{ .to_mem, .none, .none } },65524 .{ .src = .{ .to_mem, .none, .none } },
61469 },65525 },
...@@ -61478,7 +65534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61478,7 +65534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61478 .unused,65534 .unused,
61479 .unused,65535 .unused,
61480 },65536 },
61481 .dst_temps = .{.mem},65537 .dst_temps = .{ .mem, .unused },
61482 .each = .{ .once = &.{65538 .each = .{ .once = &.{
61483 .{ ._, .fi_, .ld, .src0d, ._, ._, ._ },65539 .{ ._, .fi_, .ld, .src0d, ._, ._, ._ },
61484 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },65540 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
...@@ -61486,7 +65542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61486,7 +65542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61486 }, .{65542 }, .{
61487 .required_features = .{ .@"64bit", .x87, null, null },65543 .required_features = .{ .@"64bit", .x87, null, null },
61488 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },65544 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
61489 .dst_constraints = .{.{ .float = .qword }},65545 .dst_constraints = .{ .{ .float = .qword }, .any },
61490 .patterns = &.{65546 .patterns = &.{
61491 .{ .src = .{ .mem, .none, .none } },65547 .{ .src = .{ .mem, .none, .none } },
61492 .{ .src = .{ .to_gpr, .none, .none } },65548 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61502,7 +65558,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61502,7 +65558,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61502 .unused,65558 .unused,
61503 .unused,65559 .unused,
61504 },65560 },
61505 .dst_temps = .{.mem},65561 .dst_temps = .{ .mem, .unused },
61506 .each = .{ .once = &.{65562 .each = .{ .once = &.{
61507 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },65563 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
61508 .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },65564 .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
...@@ -61512,12 +65568,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61512,12 +65568,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61512 }, .{65568 }, .{
61513 .required_features = .{ .@"64bit", .avx, null, null },65569 .required_features = .{ .@"64bit", .avx, null, null },
61514 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },65570 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
61515 .dst_constraints = .{.{ .float = .qword }},65571 .dst_constraints = .{ .{ .float = .qword }, .any },
61516 .patterns = &.{65572 .patterns = &.{
61517 .{ .src = .{ .mem, .none, .none } },65573 .{ .src = .{ .mem, .none, .none } },
61518 .{ .src = .{ .to_gpr, .none, .none } },65574 .{ .src = .{ .to_gpr, .none, .none } },
61519 },65575 },
61520 .dst_temps = .{.{ .rc = .sse }},65576 .dst_temps = .{ .{ .rc = .sse }, .unused },
61521 .each = .{ .once = &.{65577 .each = .{ .once = &.{
61522 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },65578 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
61523 .{ ._, .v_sd, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },65579 .{ ._, .v_sd, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },
...@@ -61525,12 +65581,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61525,12 +65581,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61525 }, .{65581 }, .{
61526 .required_features = .{ .@"64bit", .sse2, null, null },65582 .required_features = .{ .@"64bit", .sse2, null, null },
61527 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },65583 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
61528 .dst_constraints = .{.{ .float = .qword }},65584 .dst_constraints = .{ .{ .float = .qword }, .any },
61529 .patterns = &.{65585 .patterns = &.{
61530 .{ .src = .{ .mem, .none, .none } },65586 .{ .src = .{ .mem, .none, .none } },
61531 .{ .src = .{ .to_gpr, .none, .none } },65587 .{ .src = .{ .to_gpr, .none, .none } },
61532 },65588 },
61533 .dst_temps = .{.{ .rc = .sse }},65589 .dst_temps = .{ .{ .rc = .sse }, .unused },
61534 .each = .{ .once = &.{65590 .each = .{ .once = &.{
61535 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },65591 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
61536 .{ ._, ._sd, .cvtsi2, .dst0x, .src0q, ._, ._ },65592 .{ ._, ._sd, .cvtsi2, .dst0x, .src0q, ._, ._ },
...@@ -61538,7 +65594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61538,7 +65594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61538 }, .{65594 }, .{
61539 .required_features = .{ .@"64bit", .avx, null, null },65595 .required_features = .{ .@"64bit", .avx, null, null },
61540 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },65596 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
61541 .dst_constraints = .{.{ .float = .qword }},65597 .dst_constraints = .{ .{ .float = .qword }, .any },
61542 .patterns = &.{65598 .patterns = &.{
61543 .{ .src = .{ .mem, .none, .none } },65599 .{ .src = .{ .mem, .none, .none } },
61544 .{ .src = .{ .to_gpr, .none, .none } },65600 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61554,7 +65610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61554,7 +65610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61554 .unused,65610 .unused,
61555 .unused,65611 .unused,
61556 },65612 },
61557 .dst_temps = .{.{ .rc = .sse }},65613 .dst_temps = .{ .{ .rc = .sse }, .unused },
61558 .each = .{ .once = &.{65614 .each = .{ .once = &.{
61559 .{ ._, .v_q, .mov, .tmp0x, .src0q, ._, ._ },65615 .{ ._, .v_q, .mov, .tmp0x, .src0q, ._, ._ },
61560 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },65616 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
...@@ -61567,7 +65623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61567,7 +65623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61567 }, .{65623 }, .{
61568 .required_features = .{ .@"64bit", .sse2, null, null },65624 .required_features = .{ .@"64bit", .sse2, null, null },
61569 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },65625 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
61570 .dst_constraints = .{.{ .float = .qword }},65626 .dst_constraints = .{ .{ .float = .qword }, .any },
61571 .patterns = &.{65627 .patterns = &.{
61572 .{ .src = .{ .mem, .none, .none } },65628 .{ .src = .{ .mem, .none, .none } },
61573 .{ .src = .{ .to_gpr, .none, .none } },65629 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -61583,7 +65639,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61583,7 +65639,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61583 .unused,65639 .unused,
61584 .unused,65640 .unused,
61585 },65641 },
61586 .dst_temps = .{.{ .rc = .sse }},65642 .dst_temps = .{ .{ .rc = .sse }, .unused },
61587 .each = .{ .once = &.{65643 .each = .{ .once = &.{
61588 .{ ._, ._q, .mov, .tmp0x, .src0q, ._, ._ },65644 .{ ._, ._q, .mov, .tmp0x, .src0q, ._, ._ },
61589 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },65645 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
...@@ -61597,7 +65653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61597,7 +65653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61597 }, .{65653 }, .{
61598 .required_features = .{ .x87, null, null, null },65654 .required_features = .{ .x87, null, null, null },
61599 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },65655 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
61600 .dst_constraints = .{.{ .float = .qword }},65656 .dst_constraints = .{ .{ .float = .qword }, .any },
61601 .patterns = &.{65657 .patterns = &.{
61602 .{ .src = .{ .to_mem, .none, .none } },65658 .{ .src = .{ .to_mem, .none, .none } },
61603 },65659 },
...@@ -61612,7 +65668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61612,7 +65668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61612 .unused,65668 .unused,
61613 .unused,65669 .unused,
61614 },65670 },
61615 .dst_temps = .{.mem},65671 .dst_temps = .{ .mem, .unused },
61616 .each = .{ .once = &.{65672 .each = .{ .once = &.{
61617 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },65673 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },
61618 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },65674 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
...@@ -61620,7 +65676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61620,7 +65676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61620 }, .{65676 }, .{
61621 .required_features = .{ .@"64bit", .x87, null, null },65677 .required_features = .{ .@"64bit", .x87, null, null },
61622 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },65678 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
61623 .dst_constraints = .{.{ .float = .qword }},65679 .dst_constraints = .{ .{ .float = .qword }, .any },
61624 .patterns = &.{65680 .patterns = &.{
61625 .{ .src = .{ .to_mut_gpr, .none, .none } },65681 .{ .src = .{ .to_mut_gpr, .none, .none } },
61626 },65682 },
...@@ -61635,7 +65691,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61635,7 +65691,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61635 .unused,65691 .unused,
61636 .unused,65692 .unused,
61637 },65693 },
61638 .dst_temps = .{.mem},65694 .dst_temps = .{ .mem, .unused },
61639 .clobbers = .{ .eflags = true },65695 .clobbers = .{ .eflags = true },
61640 .each = .{ .once = &.{65696 .each = .{ .once = &.{
61641 .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ },65697 .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ },
...@@ -61656,7 +65712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61656,7 +65712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61656 }, .{65712 }, .{
61657 .required_features = .{ .@"64bit", .sse, null, null },65713 .required_features = .{ .@"64bit", .sse, null, null },
61658 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },65714 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
61659 .dst_constraints = .{.{ .float = .qword }},65715 .dst_constraints = .{ .{ .float = .qword }, .any },
61660 .patterns = &.{65716 .patterns = &.{
61661 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },65717 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
61662 },65718 },
...@@ -61672,7 +65728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61672,7 +65728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61672 .unused,65728 .unused,
61673 .unused,65729 .unused,
61674 },65730 },
61675 .dst_temps = .{.{ .reg = .xmm0 }},65731 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
61676 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65732 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61677 .each = .{ .once = &.{65733 .each = .{ .once = &.{
61678 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },65734 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -61680,7 +65736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61680,7 +65736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61680 }, .{65736 }, .{
61681 .required_features = .{ .@"64bit", .sse, null, null },65737 .required_features = .{ .@"64bit", .sse, null, null },
61682 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },65738 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
61683 .dst_constraints = .{.{ .float = .qword }},65739 .dst_constraints = .{ .{ .float = .qword }, .any },
61684 .patterns = &.{65740 .patterns = &.{
61685 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },65741 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
61686 },65742 },
...@@ -61696,7 +65752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61696,7 +65752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61696 .unused,65752 .unused,
61697 .unused,65753 .unused,
61698 },65754 },
61699 .dst_temps = .{.{ .reg = .xmm0 }},65755 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
61700 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65756 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61701 .each = .{ .once = &.{65757 .each = .{ .once = &.{
61702 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },65758 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -61704,7 +65760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61704,7 +65760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61704 }, .{65760 }, .{
61705 .required_features = .{ .@"64bit", .sse, null, null },65761 .required_features = .{ .@"64bit", .sse, null, null },
61706 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },65762 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
61707 .dst_constraints = .{.{ .float = .qword }},65763 .dst_constraints = .{ .{ .float = .qword }, .any },
61708 .patterns = &.{65764 .patterns = &.{
61709 .{ .src = .{ .to_mem, .none, .none } },65765 .{ .src = .{ .to_mem, .none, .none } },
61710 },65766 },
...@@ -61720,7 +65776,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61720,7 +65776,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61720 .unused,65776 .unused,
61721 .unused,65777 .unused,
61722 },65778 },
61723 .dst_temps = .{.{ .reg = .xmm0 }},65779 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
61724 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65780 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61725 .each = .{ .once = &.{65781 .each = .{ .once = &.{
61726 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },65782 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -61730,7 +65786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61730,7 +65786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61730 }, .{65786 }, .{
61731 .required_features = .{ .@"64bit", .sse, null, null },65787 .required_features = .{ .@"64bit", .sse, null, null },
61732 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },65788 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
61733 .dst_constraints = .{.{ .float = .qword }},65789 .dst_constraints = .{ .{ .float = .qword }, .any },
61734 .patterns = &.{65790 .patterns = &.{
61735 .{ .src = .{ .to_mem, .none, .none } },65791 .{ .src = .{ .to_mem, .none, .none } },
61736 },65792 },
...@@ -61746,7 +65802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61746,7 +65802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61746 .unused,65802 .unused,
61747 .unused,65803 .unused,
61748 },65804 },
61749 .dst_temps = .{.{ .reg = .xmm0 }},65805 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
61750 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },65806 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
61751 .each = .{ .once = &.{65807 .each = .{ .once = &.{
61752 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },65808 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -61756,12 +65812,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61756,12 +65812,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61756 }, .{65812 }, .{
61757 .required_features = .{ .avx, null, null, null },65813 .required_features = .{ .avx, null, null, null },
61758 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },65814 .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 },
61760 .patterns = &.{65816 .patterns = &.{
61761 .{ .src = .{ .mem, .none, .none } },65817 .{ .src = .{ .mem, .none, .none } },
61762 .{ .src = .{ .to_sse, .none, .none } },65818 .{ .src = .{ .to_sse, .none, .none } },
61763 },65819 },
61764 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},65820 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
61765 .each = .{ .once = &.{65821 .each = .{ .once = &.{
61766 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },65822 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
61767 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },65823 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -61769,12 +65825,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61769,12 +65825,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61769 }, .{65825 }, .{
61770 .required_features = .{ .sse4_1, null, null, null },65826 .required_features = .{ .sse4_1, null, null, null },
61771 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },65827 .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 },
61773 .patterns = &.{65829 .patterns = &.{
61774 .{ .src = .{ .mem, .none, .none } },65830 .{ .src = .{ .mem, .none, .none } },
61775 .{ .src = .{ .to_sse, .none, .none } },65831 .{ .src = .{ .to_sse, .none, .none } },
61776 },65832 },
61777 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},65833 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
61778 .each = .{ .once = &.{65834 .each = .{ .once = &.{
61779 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },65835 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },
61780 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },65836 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -61782,12 +65838,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61782,12 +65838,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61782 }, .{65838 }, .{
61783 .required_features = .{ .avx2, null, null, null },65839 .required_features = .{ .avx2, null, null, null },
61784 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },65840 .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 },
61786 .patterns = &.{65842 .patterns = &.{
61787 .{ .src = .{ .mem, .none, .none } },65843 .{ .src = .{ .mem, .none, .none } },
61788 .{ .src = .{ .to_sse, .none, .none } },65844 .{ .src = .{ .to_sse, .none, .none } },
61789 },65845 },
61790 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},65846 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
61791 .each = .{ .once = &.{65847 .each = .{ .once = &.{
61792 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },65848 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
61793 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },65849 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
...@@ -61795,12 +65851,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61795,12 +65851,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61795 }, .{65851 }, .{
61796 .required_features = .{ .avx, null, null, null },65852 .required_features = .{ .avx, null, null, null },
61797 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },65853 .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 },
61799 .patterns = &.{65855 .patterns = &.{
61800 .{ .src = .{ .mem, .none, .none } },65856 .{ .src = .{ .mem, .none, .none } },
61801 .{ .src = .{ .to_sse, .none, .none } },65857 .{ .src = .{ .to_sse, .none, .none } },
61802 },65858 },
61803 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},65859 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
61804 .each = .{ .once = &.{65860 .each = .{ .once = &.{
61805 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },65861 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
61806 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },65862 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -61808,12 +65864,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61808,12 +65864,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61808 }, .{65864 }, .{
61809 .required_features = .{ .sse4_1, null, null, null },65865 .required_features = .{ .sse4_1, null, null, null },
61810 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },65866 .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 },
61812 .patterns = &.{65868 .patterns = &.{
61813 .{ .src = .{ .mem, .none, .none } },65869 .{ .src = .{ .mem, .none, .none } },
61814 .{ .src = .{ .to_sse, .none, .none } },65870 .{ .src = .{ .to_sse, .none, .none } },
61815 },65871 },
61816 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},65872 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
61817 .each = .{ .once = &.{65873 .each = .{ .once = &.{
61818 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },65874 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },
61819 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },65875 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -61821,12 +65877,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61821,12 +65877,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61821 }, .{65877 }, .{
61822 .required_features = .{ .avx2, null, null, null },65878 .required_features = .{ .avx2, null, null, null },
61823 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },65879 .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 },
61825 .patterns = &.{65881 .patterns = &.{
61826 .{ .src = .{ .mem, .none, .none } },65882 .{ .src = .{ .mem, .none, .none } },
61827 .{ .src = .{ .to_sse, .none, .none } },65883 .{ .src = .{ .to_sse, .none, .none } },
61828 },65884 },
61829 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},65885 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
61830 .each = .{ .once = &.{65886 .each = .{ .once = &.{
61831 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },65887 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
61832 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },65888 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
...@@ -61834,7 +65890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61834,7 +65890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61834 }, .{65890 }, .{
61835 .required_features = .{ .avx2, null, null, null },65891 .required_features = .{ .avx2, null, null, null },
61836 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },65892 .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 },
61838 .patterns = &.{65894 .patterns = &.{
61839 .{ .src = .{ .to_mem, .none, .none } },65895 .{ .src = .{ .to_mem, .none, .none } },
61840 },65896 },
...@@ -61849,7 +65905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61849,7 +65905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61849 .unused,65905 .unused,
61850 .unused,65906 .unused,
61851 },65907 },
61852 .dst_temps = .{.mem},65908 .dst_temps = .{ .mem, .unused },
61853 .clobbers = .{ .eflags = true },65909 .clobbers = .{ .eflags = true },
61854 .each = .{ .once = &.{65910 .each = .{ .once = &.{
61855 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },65911 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -61862,7 +65918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61862,7 +65918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61862 }, .{65918 }, .{
61863 .required_features = .{ .avx, null, null, null },65919 .required_features = .{ .avx, null, null, null },
61864 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },65920 .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 },
61866 .patterns = &.{65922 .patterns = &.{
61867 .{ .src = .{ .to_mem, .none, .none } },65923 .{ .src = .{ .to_mem, .none, .none } },
61868 },65924 },
...@@ -61877,7 +65933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61877,7 +65933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61877 .unused,65933 .unused,
61878 .unused,65934 .unused,
61879 },65935 },
61880 .dst_temps = .{.mem},65936 .dst_temps = .{ .mem, .unused },
61881 .clobbers = .{ .eflags = true },65937 .clobbers = .{ .eflags = true },
61882 .each = .{ .once = &.{65938 .each = .{ .once = &.{
61883 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },65939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -61892,7 +65948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61892,7 +65948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61892 }, .{65948 }, .{
61893 .required_features = .{ .sse4_1, null, null, null },65949 .required_features = .{ .sse4_1, null, null, null },
61894 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },65950 .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 },
61896 .patterns = &.{65952 .patterns = &.{
61897 .{ .src = .{ .to_mem, .none, .none } },65953 .{ .src = .{ .to_mem, .none, .none } },
61898 },65954 },
...@@ -61907,7 +65963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61907,7 +65963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61907 .unused,65963 .unused,
61908 .unused,65964 .unused,
61909 },65965 },
61910 .dst_temps = .{.mem},65966 .dst_temps = .{ .mem, .unused },
61911 .clobbers = .{ .eflags = true },65967 .clobbers = .{ .eflags = true },
61912 .each = .{ .once = &.{65968 .each = .{ .once = &.{
61913 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },65969 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -61922,7 +65978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61922,7 +65978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61922 }, .{65978 }, .{
61923 .required_features = .{ .avx2, null, null, null },65979 .required_features = .{ .avx2, null, null, null },
61924 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },65980 .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 },
61926 .patterns = &.{65982 .patterns = &.{
61927 .{ .src = .{ .to_mem, .none, .none } },65983 .{ .src = .{ .to_mem, .none, .none } },
61928 },65984 },
...@@ -61937,7 +65993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61937,7 +65993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61937 .unused,65993 .unused,
61938 .unused,65994 .unused,
61939 },65995 },
61940 .dst_temps = .{.mem},65996 .dst_temps = .{ .mem, .unused },
61941 .clobbers = .{ .eflags = true },65997 .clobbers = .{ .eflags = true },
61942 .each = .{ .once = &.{65998 .each = .{ .once = &.{
61943 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },65999 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -61950,7 +66006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61950,7 +66006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61950 }, .{66006 }, .{
61951 .required_features = .{ .avx, null, null, null },66007 .required_features = .{ .avx, null, null, null },
61952 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },66008 .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 },
61954 .patterns = &.{66010 .patterns = &.{
61955 .{ .src = .{ .to_mem, .none, .none } },66011 .{ .src = .{ .to_mem, .none, .none } },
61956 },66012 },
...@@ -61965,7 +66021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61965,7 +66021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61965 .unused,66021 .unused,
61966 .unused,66022 .unused,
61967 },66023 },
61968 .dst_temps = .{.mem},66024 .dst_temps = .{ .mem, .unused },
61969 .clobbers = .{ .eflags = true },66025 .clobbers = .{ .eflags = true },
61970 .each = .{ .once = &.{66026 .each = .{ .once = &.{
61971 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66027 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -61980,7 +66036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61980,7 +66036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61980 }, .{66036 }, .{
61981 .required_features = .{ .sse4_1, null, null, null },66037 .required_features = .{ .sse4_1, null, null, null },
61982 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },66038 .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 },
61984 .patterns = &.{66040 .patterns = &.{
61985 .{ .src = .{ .to_mem, .none, .none } },66041 .{ .src = .{ .to_mem, .none, .none } },
61986 },66042 },
...@@ -61995,7 +66051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -61995,7 +66051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
61995 .unused,66051 .unused,
61996 .unused,66052 .unused,
61997 },66053 },
61998 .dst_temps = .{.mem},66054 .dst_temps = .{ .mem, .unused },
61999 .clobbers = .{ .eflags = true },66055 .clobbers = .{ .eflags = true },
62000 .each = .{ .once = &.{66056 .each = .{ .once = &.{
62001 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66057 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62010,7 +66066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62010,7 +66066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62010 }, .{66066 }, .{
62011 .required_features = .{ .avx, .slow_incdec, null, null },66067 .required_features = .{ .avx, .slow_incdec, null, null },
62012 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },66068 .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 },
62014 .patterns = &.{66070 .patterns = &.{
62015 .{ .src = .{ .to_mem, .none, .none } },66071 .{ .src = .{ .to_mem, .none, .none } },
62016 },66072 },
...@@ -62026,7 +66082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62026,7 +66082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62026 .unused,66082 .unused,
62027 .unused,66083 .unused,
62028 },66084 },
62029 .dst_temps = .{.mem},66085 .dst_temps = .{ .mem, .unused },
62030 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62031 .each = .{ .once = &.{66087 .each = .{ .once = &.{
62032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62039,7 +66095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62039,7 +66095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62039 }, .{66095 }, .{
62040 .required_features = .{ .avx, null, null, null },66096 .required_features = .{ .avx, null, null, null },
62041 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },66097 .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 },
62043 .patterns = &.{66099 .patterns = &.{
62044 .{ .src = .{ .to_mem, .none, .none } },66100 .{ .src = .{ .to_mem, .none, .none } },
62045 },66101 },
...@@ -62055,7 +66111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62055,7 +66111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62055 .unused,66111 .unused,
62056 .unused,66112 .unused,
62057 },66113 },
62058 .dst_temps = .{.mem},66114 .dst_temps = .{ .mem, .unused },
62059 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66115 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62060 .each = .{ .once = &.{66116 .each = .{ .once = &.{
62061 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62068,7 +66124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62068,7 +66124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62068 }, .{66124 }, .{
62069 .required_features = .{ .sse2, .slow_incdec, null, null },66125 .required_features = .{ .sse2, .slow_incdec, null, null },
62070 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },66126 .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 },
62072 .patterns = &.{66128 .patterns = &.{
62073 .{ .src = .{ .to_mem, .none, .none } },66129 .{ .src = .{ .to_mem, .none, .none } },
62074 },66130 },
...@@ -62084,7 +66140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62084,7 +66140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62084 .unused,66140 .unused,
62085 .unused,66141 .unused,
62086 },66142 },
62087 .dst_temps = .{.mem},66143 .dst_temps = .{ .mem, .unused },
62088 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66144 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62089 .each = .{ .once = &.{66145 .each = .{ .once = &.{
62090 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66146 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62097,7 +66153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62097,7 +66153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62097 }, .{66153 }, .{
62098 .required_features = .{ .sse2, null, null, null },66154 .required_features = .{ .sse2, null, null, null },
62099 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },66155 .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 },
62101 .patterns = &.{66157 .patterns = &.{
62102 .{ .src = .{ .to_mem, .none, .none } },66158 .{ .src = .{ .to_mem, .none, .none } },
62103 },66159 },
...@@ -62113,7 +66169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62113,7 +66169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62113 .unused,66169 .unused,
62114 .unused,66170 .unused,
62115 },66171 },
62116 .dst_temps = .{.mem},66172 .dst_temps = .{ .mem, .unused },
62117 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66173 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62118 .each = .{ .once = &.{66174 .each = .{ .once = &.{
62119 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66175 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62126,7 +66182,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62126,7 +66182,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62126 }, .{66182 }, .{
62127 .required_features = .{ .sse, .slow_incdec, null, null },66183 .required_features = .{ .sse, .slow_incdec, null, null },
62128 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },66184 .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 },
62130 .patterns = &.{66186 .patterns = &.{
62131 .{ .src = .{ .to_mem, .none, .none } },66187 .{ .src = .{ .to_mem, .none, .none } },
62132 },66188 },
...@@ -62142,7 +66198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62142,7 +66198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62142 .unused,66198 .unused,
62143 .unused,66199 .unused,
62144 },66200 },
62145 .dst_temps = .{.mem},66201 .dst_temps = .{ .mem, .unused },
62146 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66202 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62147 .each = .{ .once = &.{66203 .each = .{ .once = &.{
62148 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66204 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62155,7 +66211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62155,7 +66211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62155 }, .{66211 }, .{
62156 .required_features = .{ .sse, null, null, null },66212 .required_features = .{ .sse, null, null, null },
62157 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },66213 .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 },
62159 .patterns = &.{66215 .patterns = &.{
62160 .{ .src = .{ .to_mem, .none, .none } },66216 .{ .src = .{ .to_mem, .none, .none } },
62161 },66217 },
...@@ -62171,7 +66227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62171,7 +66227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62171 .unused,66227 .unused,
62172 .unused,66228 .unused,
62173 },66229 },
62174 .dst_temps = .{.mem},66230 .dst_temps = .{ .mem, .unused },
62175 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66231 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62176 .each = .{ .once = &.{66232 .each = .{ .once = &.{
62177 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66233 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62184,7 +66240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62184,7 +66240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62184 }, .{66240 }, .{
62185 .required_features = .{ .avx, .slow_incdec, null, null },66241 .required_features = .{ .avx, .slow_incdec, null, null },
62186 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },66242 .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 },
62188 .patterns = &.{66244 .patterns = &.{
62189 .{ .src = .{ .to_mem, .none, .none } },66245 .{ .src = .{ .to_mem, .none, .none } },
62190 },66246 },
...@@ -62200,7 +66256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62200,7 +66256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62200 .unused,66256 .unused,
62201 .unused,66257 .unused,
62202 },66258 },
62203 .dst_temps = .{.mem},66259 .dst_temps = .{ .mem, .unused },
62204 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66260 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62205 .each = .{ .once = &.{66261 .each = .{ .once = &.{
62206 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66262 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62213,7 +66269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62213,7 +66269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62213 }, .{66269 }, .{
62214 .required_features = .{ .avx, null, null, null },66270 .required_features = .{ .avx, null, null, null },
62215 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },66271 .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 },
62217 .patterns = &.{66273 .patterns = &.{
62218 .{ .src = .{ .to_mem, .none, .none } },66274 .{ .src = .{ .to_mem, .none, .none } },
62219 },66275 },
...@@ -62229,7 +66285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62229,7 +66285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62229 .unused,66285 .unused,
62230 .unused,66286 .unused,
62231 },66287 },
62232 .dst_temps = .{.mem},66288 .dst_temps = .{ .mem, .unused },
62233 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66289 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62234 .each = .{ .once = &.{66290 .each = .{ .once = &.{
62235 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66291 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62242,7 +66298,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62242,7 +66298,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62242 }, .{66298 }, .{
62243 .required_features = .{ .sse2, .slow_incdec, null, null },66299 .required_features = .{ .sse2, .slow_incdec, null, null },
62244 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },66300 .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 },
62246 .patterns = &.{66302 .patterns = &.{
62247 .{ .src = .{ .to_mem, .none, .none } },66303 .{ .src = .{ .to_mem, .none, .none } },
62248 },66304 },
...@@ -62258,7 +66314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62258,7 +66314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62258 .unused,66314 .unused,
62259 .unused,66315 .unused,
62260 },66316 },
62261 .dst_temps = .{.mem},66317 .dst_temps = .{ .mem, .unused },
62262 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66318 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62263 .each = .{ .once = &.{66319 .each = .{ .once = &.{
62264 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66320 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62271,7 +66327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62271,7 +66327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62271 }, .{66327 }, .{
62272 .required_features = .{ .sse2, null, null, null },66328 .required_features = .{ .sse2, null, null, null },
62273 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },66329 .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 },
62275 .patterns = &.{66331 .patterns = &.{
62276 .{ .src = .{ .to_mem, .none, .none } },66332 .{ .src = .{ .to_mem, .none, .none } },
62277 },66333 },
...@@ -62287,7 +66343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62287,7 +66343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62287 .unused,66343 .unused,
62288 .unused,66344 .unused,
62289 },66345 },
62290 .dst_temps = .{.mem},66346 .dst_temps = .{ .mem, .unused },
62291 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66347 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62292 .each = .{ .once = &.{66348 .each = .{ .once = &.{
62293 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66349 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62300,7 +66356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62300,7 +66356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62300 }, .{66356 }, .{
62301 .required_features = .{ .sse, .slow_incdec, null, null },66357 .required_features = .{ .sse, .slow_incdec, null, null },
62302 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },66358 .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 },
62304 .patterns = &.{66360 .patterns = &.{
62305 .{ .src = .{ .to_mem, .none, .none } },66361 .{ .src = .{ .to_mem, .none, .none } },
62306 },66362 },
...@@ -62316,7 +66372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62316,7 +66372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62316 .unused,66372 .unused,
62317 .unused,66373 .unused,
62318 },66374 },
62319 .dst_temps = .{.mem},66375 .dst_temps = .{ .mem, .unused },
62320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66376 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62321 .each = .{ .once = &.{66377 .each = .{ .once = &.{
62322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66378 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62329,7 +66385,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62329,7 +66385,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62329 }, .{66385 }, .{
62330 .required_features = .{ .sse, null, null, null },66386 .required_features = .{ .sse, null, null, null },
62331 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },66387 .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 },
62333 .patterns = &.{66389 .patterns = &.{
62334 .{ .src = .{ .to_mem, .none, .none } },66390 .{ .src = .{ .to_mem, .none, .none } },
62335 },66391 },
...@@ -62345,7 +66401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62345,7 +66401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62345 .unused,66401 .unused,
62346 .unused,66402 .unused,
62347 },66403 },
62348 .dst_temps = .{.mem},66404 .dst_temps = .{ .mem, .unused },
62349 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66405 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62350 .each = .{ .once = &.{66406 .each = .{ .once = &.{
62351 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66407 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62358,12 +66414,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62358,12 +66414,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62358 }, .{66414 }, .{
62359 .required_features = .{ .avx, null, null, null },66415 .required_features = .{ .avx, null, null, null },
62360 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },66416 .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 },
62362 .patterns = &.{66418 .patterns = &.{
62363 .{ .src = .{ .mem, .none, .none } },66419 .{ .src = .{ .mem, .none, .none } },
62364 .{ .src = .{ .to_sse, .none, .none } },66420 .{ .src = .{ .to_sse, .none, .none } },
62365 },66421 },
62366 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66422 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62367 .each = .{ .once = &.{66423 .each = .{ .once = &.{
62368 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },66424 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
62369 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },66425 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -62371,12 +66427,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62371,12 +66427,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62371 }, .{66427 }, .{
62372 .required_features = .{ .sse4_1, null, null, null },66428 .required_features = .{ .sse4_1, null, null, null },
62373 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },66429 .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 },
62375 .patterns = &.{66431 .patterns = &.{
62376 .{ .src = .{ .mem, .none, .none } },66432 .{ .src = .{ .mem, .none, .none } },
62377 .{ .src = .{ .to_sse, .none, .none } },66433 .{ .src = .{ .to_sse, .none, .none } },
62378 },66434 },
62379 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66435 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62380 .each = .{ .once = &.{66436 .each = .{ .once = &.{
62381 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },66437 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },
62382 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },66438 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -62384,12 +66440,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62384,12 +66440,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62384 }, .{66440 }, .{
62385 .required_features = .{ .avx2, null, null, null },66441 .required_features = .{ .avx2, null, null, null },
62386 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },66442 .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 },
62388 .patterns = &.{66444 .patterns = &.{
62389 .{ .src = .{ .mem, .none, .none } },66445 .{ .src = .{ .mem, .none, .none } },
62390 .{ .src = .{ .to_sse, .none, .none } },66446 .{ .src = .{ .to_sse, .none, .none } },
62391 },66447 },
62392 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66448 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62393 .each = .{ .once = &.{66449 .each = .{ .once = &.{
62394 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },66450 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
62395 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },66451 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
...@@ -62397,12 +66453,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62397,12 +66453,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62397 }, .{66453 }, .{
62398 .required_features = .{ .avx, null, null, null },66454 .required_features = .{ .avx, null, null, null },
62399 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },66455 .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 },
62401 .patterns = &.{66457 .patterns = &.{
62402 .{ .src = .{ .mem, .none, .none } },66458 .{ .src = .{ .mem, .none, .none } },
62403 .{ .src = .{ .to_sse, .none, .none } },66459 .{ .src = .{ .to_sse, .none, .none } },
62404 },66460 },
62405 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66461 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62406 .each = .{ .once = &.{66462 .each = .{ .once = &.{
62407 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },66463 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
62408 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },66464 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -62410,12 +66466,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62410,12 +66466,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62410 }, .{66466 }, .{
62411 .required_features = .{ .sse4_1, null, null, null },66467 .required_features = .{ .sse4_1, null, null, null },
62412 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },66468 .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 },
62414 .patterns = &.{66470 .patterns = &.{
62415 .{ .src = .{ .mem, .none, .none } },66471 .{ .src = .{ .mem, .none, .none } },
62416 .{ .src = .{ .to_sse, .none, .none } },66472 .{ .src = .{ .to_sse, .none, .none } },
62417 },66473 },
62418 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66474 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62419 .each = .{ .once = &.{66475 .each = .{ .once = &.{
62420 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },66476 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },
62421 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },66477 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
...@@ -62423,12 +66479,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62423,12 +66479,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62423 }, .{66479 }, .{
62424 .required_features = .{ .avx2, null, null, null },66480 .required_features = .{ .avx2, null, null, null },
62425 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },66481 .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 },
62427 .patterns = &.{66483 .patterns = &.{
62428 .{ .src = .{ .mem, .none, .none } },66484 .{ .src = .{ .mem, .none, .none } },
62429 .{ .src = .{ .to_sse, .none, .none } },66485 .{ .src = .{ .to_sse, .none, .none } },
62430 },66486 },
62431 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66487 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62432 .each = .{ .once = &.{66488 .each = .{ .once = &.{
62433 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },66489 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
62434 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },66490 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
...@@ -62436,7 +66492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62436,7 +66492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62436 }, .{66492 }, .{
62437 .required_features = .{ .avx2, null, null, null },66493 .required_features = .{ .avx2, null, null, null },
62438 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },66494 .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 },
62440 .patterns = &.{66496 .patterns = &.{
62441 .{ .src = .{ .to_mem, .none, .none } },66497 .{ .src = .{ .to_mem, .none, .none } },
62442 },66498 },
...@@ -62451,7 +66507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62451,7 +66507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62451 .unused,66507 .unused,
62452 .unused,66508 .unused,
62453 },66509 },
62454 .dst_temps = .{.mem},66510 .dst_temps = .{ .mem, .unused },
62455 .clobbers = .{ .eflags = true },66511 .clobbers = .{ .eflags = true },
62456 .each = .{ .once = &.{66512 .each = .{ .once = &.{
62457 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66513 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62464,7 +66520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62464,7 +66520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62464 }, .{66520 }, .{
62465 .required_features = .{ .avx, null, null, null },66521 .required_features = .{ .avx, null, null, null },
62466 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },66522 .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 },
62468 .patterns = &.{66524 .patterns = &.{
62469 .{ .src = .{ .to_mem, .none, .none } },66525 .{ .src = .{ .to_mem, .none, .none } },
62470 },66526 },
...@@ -62479,7 +66535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62479,7 +66535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62479 .unused,66535 .unused,
62480 .unused,66536 .unused,
62481 },66537 },
62482 .dst_temps = .{.mem},66538 .dst_temps = .{ .mem, .unused },
62483 .clobbers = .{ .eflags = true },66539 .clobbers = .{ .eflags = true },
62484 .each = .{ .once = &.{66540 .each = .{ .once = &.{
62485 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62493,7 +66549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62493,7 +66549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62493 }, .{66549 }, .{
62494 .required_features = .{ .sse4_1, null, null, null },66550 .required_features = .{ .sse4_1, null, null, null },
62495 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },66551 .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 },
62497 .patterns = &.{66553 .patterns = &.{
62498 .{ .src = .{ .to_mem, .none, .none } },66554 .{ .src = .{ .to_mem, .none, .none } },
62499 },66555 },
...@@ -62508,7 +66564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62508,7 +66564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62508 .unused,66564 .unused,
62509 .unused,66565 .unused,
62510 },66566 },
62511 .dst_temps = .{.mem},66567 .dst_temps = .{ .mem, .unused },
62512 .clobbers = .{ .eflags = true },66568 .clobbers = .{ .eflags = true },
62513 .each = .{ .once = &.{66569 .each = .{ .once = &.{
62514 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62522,7 +66578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62522,7 +66578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62522 }, .{66578 }, .{
62523 .required_features = .{ .avx2, null, null, null },66579 .required_features = .{ .avx2, null, null, null },
62524 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },66580 .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 },
62526 .patterns = &.{66582 .patterns = &.{
62527 .{ .src = .{ .to_mem, .none, .none } },66583 .{ .src = .{ .to_mem, .none, .none } },
62528 },66584 },
...@@ -62537,7 +66593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62537,7 +66593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62537 .unused,66593 .unused,
62538 .unused,66594 .unused,
62539 },66595 },
62540 .dst_temps = .{.mem},66596 .dst_temps = .{ .mem, .unused },
62541 .clobbers = .{ .eflags = true },66597 .clobbers = .{ .eflags = true },
62542 .each = .{ .once = &.{66598 .each = .{ .once = &.{
62543 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66599 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62550,7 +66606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62550,7 +66606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62550 }, .{66606 }, .{
62551 .required_features = .{ .avx, null, null, null },66607 .required_features = .{ .avx, null, null, null },
62552 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },66608 .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 },
62554 .patterns = &.{66610 .patterns = &.{
62555 .{ .src = .{ .to_mem, .none, .none } },66611 .{ .src = .{ .to_mem, .none, .none } },
62556 },66612 },
...@@ -62565,7 +66621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62565,7 +66621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62565 .unused,66621 .unused,
62566 .unused,66622 .unused,
62567 },66623 },
62568 .dst_temps = .{.mem},66624 .dst_temps = .{ .mem, .unused },
62569 .clobbers = .{ .eflags = true },66625 .clobbers = .{ .eflags = true },
62570 .each = .{ .once = &.{66626 .each = .{ .once = &.{
62571 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62579,7 +66635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62579,7 +66635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62579 }, .{66635 }, .{
62580 .required_features = .{ .sse4_1, null, null, null },66636 .required_features = .{ .sse4_1, null, null, null },
62581 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },66637 .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 },
62583 .patterns = &.{66639 .patterns = &.{
62584 .{ .src = .{ .to_mem, .none, .none } },66640 .{ .src = .{ .to_mem, .none, .none } },
62585 },66641 },
...@@ -62594,7 +66650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62594,7 +66650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62594 .unused,66650 .unused,
62595 .unused,66651 .unused,
62596 },66652 },
62597 .dst_temps = .{.mem},66653 .dst_temps = .{ .mem, .unused },
62598 .clobbers = .{ .eflags = true },66654 .clobbers = .{ .eflags = true },
62599 .each = .{ .once = &.{66655 .each = .{ .once = &.{
62600 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66656 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62608,7 +66664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62608,7 +66664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62608 }, .{66664 }, .{
62609 .required_features = .{ .avx, null, null, null },66665 .required_features = .{ .avx, null, null, null },
62610 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },66666 .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 },
62612 .patterns = &.{66668 .patterns = &.{
62613 .{ .src = .{ .to_mem, .none, .none } },66669 .{ .src = .{ .to_mem, .none, .none } },
62614 },66670 },
...@@ -62624,7 +66680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62624,7 +66680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62624 .unused,66680 .unused,
62625 .unused,66681 .unused,
62626 },66682 },
62627 .dst_temps = .{.mem},66683 .dst_temps = .{ .mem, .unused },
62628 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62629 .each = .{ .once = &.{66685 .each = .{ .once = &.{
62630 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66686 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62637,7 +66693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62637,7 +66693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62637 }, .{66693 }, .{
62638 .required_features = .{ .sse2, null, null, null },66694 .required_features = .{ .sse2, null, null, null },
62639 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },66695 .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 },
62641 .patterns = &.{66697 .patterns = &.{
62642 .{ .src = .{ .to_mem, .none, .none } },66698 .{ .src = .{ .to_mem, .none, .none } },
62643 },66699 },
...@@ -62653,7 +66709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62653,7 +66709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62653 .unused,66709 .unused,
62654 .unused,66710 .unused,
62655 },66711 },
62656 .dst_temps = .{.mem},66712 .dst_temps = .{ .mem, .unused },
62657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66713 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62658 .each = .{ .once = &.{66714 .each = .{ .once = &.{
62659 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66715 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62666,7 +66722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62666,7 +66722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62666 }, .{66722 }, .{
62667 .required_features = .{ .sse, null, null, null },66723 .required_features = .{ .sse, null, null, null },
62668 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },66724 .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 },
62670 .patterns = &.{66726 .patterns = &.{
62671 .{ .src = .{ .to_mem, .none, .none } },66727 .{ .src = .{ .to_mem, .none, .none } },
62672 },66728 },
...@@ -62682,7 +66738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62682,7 +66738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62682 .unused,66738 .unused,
62683 .unused,66739 .unused,
62684 },66740 },
62685 .dst_temps = .{.mem},66741 .dst_temps = .{ .mem, .unused },
62686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62687 .each = .{ .once = &.{66743 .each = .{ .once = &.{
62688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66744 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62695,7 +66751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62695,7 +66751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62695 }, .{66751 }, .{
62696 .required_features = .{ .avx, null, null, null },66752 .required_features = .{ .avx, null, null, null },
62697 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },66753 .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 },
62699 .patterns = &.{66755 .patterns = &.{
62700 .{ .src = .{ .to_mem, .none, .none } },66756 .{ .src = .{ .to_mem, .none, .none } },
62701 },66757 },
...@@ -62711,7 +66767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62711,7 +66767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62711 .unused,66767 .unused,
62712 .unused,66768 .unused,
62713 },66769 },
62714 .dst_temps = .{.mem},66770 .dst_temps = .{ .mem, .unused },
62715 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66771 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62716 .each = .{ .once = &.{66772 .each = .{ .once = &.{
62717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66773 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62724,7 +66780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62724,7 +66780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62724 }, .{66780 }, .{
62725 .required_features = .{ .sse2, null, null, null },66781 .required_features = .{ .sse2, null, null, null },
62726 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },66782 .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 },
62728 .patterns = &.{66784 .patterns = &.{
62729 .{ .src = .{ .to_mem, .none, .none } },66785 .{ .src = .{ .to_mem, .none, .none } },
62730 },66786 },
...@@ -62740,7 +66796,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62740,7 +66796,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62740 .unused,66796 .unused,
62741 .unused,66797 .unused,
62742 },66798 },
62743 .dst_temps = .{.mem},66799 .dst_temps = .{ .mem, .unused },
62744 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66800 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62745 .each = .{ .once = &.{66801 .each = .{ .once = &.{
62746 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66802 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62753,7 +66809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62753,7 +66809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62753 }, .{66809 }, .{
62754 .required_features = .{ .sse, null, null, null },66810 .required_features = .{ .sse, null, null, null },
62755 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },66811 .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 },
62757 .patterns = &.{66813 .patterns = &.{
62758 .{ .src = .{ .to_mem, .none, .none } },66814 .{ .src = .{ .to_mem, .none, .none } },
62759 },66815 },
...@@ -62769,7 +66825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62769,7 +66825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62769 .unused,66825 .unused,
62770 .unused,66826 .unused,
62771 },66827 },
62772 .dst_temps = .{.mem},66828 .dst_temps = .{ .mem, .unused },
62773 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62774 .each = .{ .once = &.{66830 .each = .{ .once = &.{
62775 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66831 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62782,43 +66838,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62782,43 +66838,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62782 }, .{66838 }, .{
62783 .required_features = .{ .avx, null, null, null },66839 .required_features = .{ .avx, null, null, null },
62784 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },66840 .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 },
62786 .patterns = &.{66842 .patterns = &.{
62787 .{ .src = .{ .mem, .none, .none } },66843 .{ .src = .{ .mem, .none, .none } },
62788 .{ .src = .{ .to_sse, .none, .none } },66844 .{ .src = .{ .to_sse, .none, .none } },
62789 },66845 },
62790 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66846 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62791 .each = .{ .once = &.{66847 .each = .{ .once = &.{
62792 .{ ._, .v_pd, .cvtdq2, .dst0x, .src0q, ._, ._ },66848 .{ ._, .v_pd, .cvtdq2, .dst0x, .src0q, ._, ._ },
62793 } },66849 } },
62794 }, .{66850 }, .{
62795 .required_features = .{ .sse2, null, null, null },66851 .required_features = .{ .sse2, null, null, null },
62796 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },66852 .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 },
62798 .patterns = &.{66854 .patterns = &.{
62799 .{ .src = .{ .mem, .none, .none } },66855 .{ .src = .{ .mem, .none, .none } },
62800 .{ .src = .{ .to_sse, .none, .none } },66856 .{ .src = .{ .to_sse, .none, .none } },
62801 },66857 },
62802 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66858 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62803 .each = .{ .once = &.{66859 .each = .{ .once = &.{
62804 .{ ._, ._pd, .cvtdq2, .dst0x, .src0q, ._, ._ },66860 .{ ._, ._pd, .cvtdq2, .dst0x, .src0q, ._, ._ },
62805 } },66861 } },
62806 }, .{66862 }, .{
62807 .required_features = .{ .avx2, null, null, null },66863 .required_features = .{ .avx2, null, null, null },
62808 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },66864 .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 },
62810 .patterns = &.{66866 .patterns = &.{
62811 .{ .src = .{ .mem, .none, .none } },66867 .{ .src = .{ .mem, .none, .none } },
62812 .{ .src = .{ .to_sse, .none, .none } },66868 .{ .src = .{ .to_sse, .none, .none } },
62813 },66869 },
62814 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},66870 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
62815 .each = .{ .once = &.{66871 .each = .{ .once = &.{
62816 .{ ._, .v_pd, .cvtdq2, .dst0y, .src0x, ._, ._ },66872 .{ ._, .v_pd, .cvtdq2, .dst0y, .src0x, ._, ._ },
62817 } },66873 } },
62818 }, .{66874 }, .{
62819 .required_features = .{ .avx2, null, null, null },66875 .required_features = .{ .avx2, null, null, null },
62820 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },66876 .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 },
62822 .patterns = &.{66878 .patterns = &.{
62823 .{ .src = .{ .to_mem, .none, .none } },66879 .{ .src = .{ .to_mem, .none, .none } },
62824 },66880 },
...@@ -62833,7 +66889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62833,7 +66889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62833 .unused,66889 .unused,
62834 .unused,66890 .unused,
62835 },66891 },
62836 .dst_temps = .{.mem},66892 .dst_temps = .{ .mem, .unused },
62837 .clobbers = .{ .eflags = true },66893 .clobbers = .{ .eflags = true },
62838 .each = .{ .once = &.{66894 .each = .{ .once = &.{
62839 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66895 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62845,7 +66901,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62845,7 +66901,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62845 }, .{66901 }, .{
62846 .required_features = .{ .avx, null, null, null },66902 .required_features = .{ .avx, null, null, null },
62847 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },66903 .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 },
62849 .patterns = &.{66905 .patterns = &.{
62850 .{ .src = .{ .to_mem, .none, .none } },66906 .{ .src = .{ .to_mem, .none, .none } },
62851 },66907 },
...@@ -62860,7 +66916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62860,7 +66916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62860 .unused,66916 .unused,
62861 .unused,66917 .unused,
62862 },66918 },
62863 .dst_temps = .{.mem},66919 .dst_temps = .{ .mem, .unused },
62864 .clobbers = .{ .eflags = true },66920 .clobbers = .{ .eflags = true },
62865 .each = .{ .once = &.{66921 .each = .{ .once = &.{
62866 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66922 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62872,7 +66928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62872,7 +66928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62872 }, .{66928 }, .{
62873 .required_features = .{ .sse2, null, null, null },66929 .required_features = .{ .sse2, null, null, null },
62874 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },66930 .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 },
62876 .patterns = &.{66932 .patterns = &.{
62877 .{ .src = .{ .to_mem, .none, .none } },66933 .{ .src = .{ .to_mem, .none, .none } },
62878 },66934 },
...@@ -62887,7 +66943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62887,7 +66943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62887 .unused,66943 .unused,
62888 .unused,66944 .unused,
62889 },66945 },
62890 .dst_temps = .{.mem},66946 .dst_temps = .{ .mem, .unused },
62891 .clobbers = .{ .eflags = true },66947 .clobbers = .{ .eflags = true },
62892 .each = .{ .once = &.{66948 .each = .{ .once = &.{
62893 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66949 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62899,7 +66955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62899,7 +66955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62899 }, .{66955 }, .{
62900 .required_features = .{ .avx, null, null, null },66956 .required_features = .{ .avx, null, null, null },
62901 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },66957 .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 },
62903 .patterns = &.{66959 .patterns = &.{
62904 .{ .src = .{ .to_mem, .none, .none } },66960 .{ .src = .{ .to_mem, .none, .none } },
62905 },66961 },
...@@ -62915,7 +66971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62915,7 +66971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62915 .unused,66971 .unused,
62916 .unused,66972 .unused,
62917 },66973 },
62918 .dst_temps = .{.mem},66974 .dst_temps = .{ .mem, .unused },
62919 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },66975 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62920 .each = .{ .once = &.{66976 .each = .{ .once = &.{
62921 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },66977 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62928,7 +66984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62928,7 +66984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62928 }, .{66984 }, .{
62929 .required_features = .{ .sse2, null, null, null },66985 .required_features = .{ .sse2, null, null, null },
62930 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },66986 .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 },
62932 .patterns = &.{66988 .patterns = &.{
62933 .{ .src = .{ .to_mem, .none, .none } },66989 .{ .src = .{ .to_mem, .none, .none } },
62934 },66990 },
...@@ -62944,7 +67000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62944,7 +67000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62944 .unused,67000 .unused,
62945 .unused,67001 .unused,
62946 },67002 },
62947 .dst_temps = .{.mem},67003 .dst_temps = .{ .mem, .unused },
62948 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67004 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62949 .each = .{ .once = &.{67005 .each = .{ .once = &.{
62950 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67006 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62957,7 +67013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62957,7 +67013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62957 }, .{67013 }, .{
62958 .required_features = .{ .sse, null, null, null },67014 .required_features = .{ .sse, null, null, null },
62959 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },67015 .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 },
62961 .patterns = &.{67017 .patterns = &.{
62962 .{ .src = .{ .to_mem, .none, .none } },67018 .{ .src = .{ .to_mem, .none, .none } },
62963 },67019 },
...@@ -62973,7 +67029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62973,7 +67029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62973 .unused,67029 .unused,
62974 .unused,67030 .unused,
62975 },67031 },
62976 .dst_temps = .{.mem},67032 .dst_temps = .{ .mem, .unused },
62977 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
62978 .each = .{ .once = &.{67034 .each = .{ .once = &.{
62979 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67035 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -62986,7 +67042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -62986,7 +67042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
62986 }, .{67042 }, .{
62987 .required_features = .{ .avx, null, null, null },67043 .required_features = .{ .avx, null, null, null },
62988 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },67044 .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 },
62990 .patterns = &.{67046 .patterns = &.{
62991 .{ .src = .{ .to_mem, .none, .none } },67047 .{ .src = .{ .to_mem, .none, .none } },
62992 },67048 },
...@@ -63002,7 +67058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63002,7 +67058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63002 .unused,67058 .unused,
63003 .unused,67059 .unused,
63004 },67060 },
63005 .dst_temps = .{.mem},67061 .dst_temps = .{ .mem, .unused },
63006 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67062 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63007 .each = .{ .once = &.{67063 .each = .{ .once = &.{
63008 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67064 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63015,7 +67071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63015,7 +67071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63015 }, .{67071 }, .{
63016 .required_features = .{ .sse2, null, null, null },67072 .required_features = .{ .sse2, null, null, null },
63017 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },67073 .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 },
63019 .patterns = &.{67075 .patterns = &.{
63020 .{ .src = .{ .to_mem, .none, .none } },67076 .{ .src = .{ .to_mem, .none, .none } },
63021 },67077 },
...@@ -63031,7 +67087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63031,7 +67087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63031 .unused,67087 .unused,
63032 .unused,67088 .unused,
63033 },67089 },
63034 .dst_temps = .{.mem},67090 .dst_temps = .{ .mem, .unused },
63035 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67091 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63036 .each = .{ .once = &.{67092 .each = .{ .once = &.{
63037 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63044,7 +67100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63044,7 +67100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63044 }, .{67100 }, .{
63045 .required_features = .{ .sse, null, null, null },67101 .required_features = .{ .sse, null, null, null },
63046 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },67102 .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 },
63048 .patterns = &.{67104 .patterns = &.{
63049 .{ .src = .{ .to_mem, .none, .none } },67105 .{ .src = .{ .to_mem, .none, .none } },
63050 },67106 },
...@@ -63060,7 +67116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63060,7 +67116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63060 .unused,67116 .unused,
63061 .unused,67117 .unused,
63062 },67118 },
63063 .dst_temps = .{.mem},67119 .dst_temps = .{ .mem, .unused },
63064 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67120 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63065 .each = .{ .once = &.{67121 .each = .{ .once = &.{
63066 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67122 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63073,7 +67129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63073,7 +67129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63073 }, .{67129 }, .{
63074 .required_features = .{ .@"64bit", .avx, null, null },67130 .required_features = .{ .@"64bit", .avx, null, null },
63075 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },67131 .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 },
63077 .patterns = &.{67133 .patterns = &.{
63078 .{ .src = .{ .to_mem, .none, .none } },67134 .{ .src = .{ .to_mem, .none, .none } },
63079 },67135 },
...@@ -63088,7 +67144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63088,7 +67144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63088 .unused,67144 .unused,
63089 .unused,67145 .unused,
63090 },67146 },
63091 .dst_temps = .{.mem},67147 .dst_temps = .{ .mem, .unused },
63092 .clobbers = .{ .eflags = true },67148 .clobbers = .{ .eflags = true },
63093 .each = .{ .once = &.{67149 .each = .{ .once = &.{
63094 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67150 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63101,7 +67157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63101,7 +67157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63101 }, .{67157 }, .{
63102 .required_features = .{ .@"64bit", .sse2, null, null },67158 .required_features = .{ .@"64bit", .sse2, null, null },
63103 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },67159 .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 },
63105 .patterns = &.{67161 .patterns = &.{
63106 .{ .src = .{ .to_mem, .none, .none } },67162 .{ .src = .{ .to_mem, .none, .none } },
63107 },67163 },
...@@ -63116,7 +67172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63116,7 +67172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63116 .unused,67172 .unused,
63117 .unused,67173 .unused,
63118 },67174 },
63119 .dst_temps = .{.mem},67175 .dst_temps = .{ .mem, .unused },
63120 .clobbers = .{ .eflags = true },67176 .clobbers = .{ .eflags = true },
63121 .each = .{ .once = &.{67177 .each = .{ .once = &.{
63122 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67178 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63129,7 +67185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63129,7 +67185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63129 }, .{67185 }, .{
63130 .required_features = .{ .@"64bit", .avx, null, null },67186 .required_features = .{ .@"64bit", .avx, null, null },
63131 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },67187 .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 },
63133 .patterns = &.{67189 .patterns = &.{
63134 .{ .src = .{ .to_mem, .none, .none } },67190 .{ .src = .{ .to_mem, .none, .none } },
63135 },67191 },
...@@ -63145,7 +67201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63145,7 +67201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63145 .unused,67201 .unused,
63146 .unused,67202 .unused,
63147 },67203 },
63148 .dst_temps = .{.mem},67204 .dst_temps = .{ .mem, .unused },
63149 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67205 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63150 .each = .{ .once = &.{67206 .each = .{ .once = &.{
63151 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67207 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63158,7 +67214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63158,7 +67214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63158 }, .{67214 }, .{
63159 .required_features = .{ .@"64bit", .sse2, null, null },67215 .required_features = .{ .@"64bit", .sse2, null, null },
63160 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },67216 .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 },
63162 .patterns = &.{67218 .patterns = &.{
63163 .{ .src = .{ .to_mem, .none, .none } },67219 .{ .src = .{ .to_mem, .none, .none } },
63164 },67220 },
...@@ -63174,7 +67230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63174,7 +67230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63174 .unused,67230 .unused,
63175 .unused,67231 .unused,
63176 },67232 },
63177 .dst_temps = .{.mem},67233 .dst_temps = .{ .mem, .unused },
63178 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67234 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63179 .each = .{ .once = &.{67235 .each = .{ .once = &.{
63180 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67236 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63187,7 +67243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63187,7 +67243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63187 }, .{67243 }, .{
63188 .required_features = .{ .@"64bit", .sse, null, null },67244 .required_features = .{ .@"64bit", .sse, null, null },
63189 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },67245 .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 },
63191 .patterns = &.{67247 .patterns = &.{
63192 .{ .src = .{ .to_mem, .none, .none } },67248 .{ .src = .{ .to_mem, .none, .none } },
63193 },67249 },
...@@ -63203,7 +67259,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63203,7 +67259,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63203 .unused,67259 .unused,
63204 .unused,67260 .unused,
63205 },67261 },
63206 .dst_temps = .{.mem},67262 .dst_temps = .{ .mem, .unused },
63207 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67263 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63208 .each = .{ .once = &.{67264 .each = .{ .once = &.{
63209 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67265 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63216,7 +67272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63216,7 +67272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63216 }, .{67272 }, .{
63217 .required_features = .{ .@"64bit", .avx, null, null },67273 .required_features = .{ .@"64bit", .avx, null, null },
63218 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },67274 .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 },
63220 .patterns = &.{67276 .patterns = &.{
63221 .{ .src = .{ .to_mem, .none, .none } },67277 .{ .src = .{ .to_mem, .none, .none } },
63222 },67278 },
...@@ -63232,7 +67288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63232,7 +67288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63232 .unused,67288 .unused,
63233 .unused,67289 .unused,
63234 },67290 },
63235 .dst_temps = .{.mem},67291 .dst_temps = .{ .mem, .unused },
63236 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67292 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63237 .each = .{ .once = &.{67293 .each = .{ .once = &.{
63238 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67294 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63245,7 +67301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63245,7 +67301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63245 }, .{67301 }, .{
63246 .required_features = .{ .@"64bit", .sse2, null, null },67302 .required_features = .{ .@"64bit", .sse2, null, null },
63247 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },67303 .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 },
63249 .patterns = &.{67305 .patterns = &.{
63250 .{ .src = .{ .to_mem, .none, .none } },67306 .{ .src = .{ .to_mem, .none, .none } },
63251 },67307 },
...@@ -63261,7 +67317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63261,7 +67317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63261 .unused,67317 .unused,
63262 .unused,67318 .unused,
63263 },67319 },
63264 .dst_temps = .{.mem},67320 .dst_temps = .{ .mem, .unused },
63265 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67321 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63266 .each = .{ .once = &.{67322 .each = .{ .once = &.{
63267 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67323 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63274,7 +67330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63274,7 +67330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63274 }, .{67330 }, .{
63275 .required_features = .{ .@"64bit", .sse, null, null },67331 .required_features = .{ .@"64bit", .sse, null, null },
63276 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },67332 .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 },
63278 .patterns = &.{67334 .patterns = &.{
63279 .{ .src = .{ .to_mem, .none, .none } },67335 .{ .src = .{ .to_mem, .none, .none } },
63280 },67336 },
...@@ -63290,7 +67346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63290,7 +67346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63290 .unused,67346 .unused,
63291 .unused,67347 .unused,
63292 },67348 },
63293 .dst_temps = .{.mem},67349 .dst_temps = .{ .mem, .unused },
63294 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67350 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63295 .each = .{ .once = &.{67351 .each = .{ .once = &.{
63296 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },67352 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -63303,7 +67359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63303,7 +67359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63303 }, .{67359 }, .{
63304 .required_features = .{ .@"64bit", .avx, null, null },67360 .required_features = .{ .@"64bit", .avx, null, null },
63305 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },67361 .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 },
63307 .patterns = &.{67363 .patterns = &.{
63308 .{ .src = .{ .to_mem, .none, .none } },67364 .{ .src = .{ .to_mem, .none, .none } },
63309 },67365 },
...@@ -63319,7 +67375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63319,7 +67375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63319 .unused,67375 .unused,
63320 .unused,67376 .unused,
63321 },67377 },
63322 .dst_temps = .{.mem},67378 .dst_temps = .{ .mem, .unused },
63323 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67379 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63324 .each = .{ .once = &.{67380 .each = .{ .once = &.{
63325 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },67381 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -63333,7 +67389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63333,7 +67389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63333 }, .{67389 }, .{
63334 .required_features = .{ .@"64bit", .sse2, null, null },67390 .required_features = .{ .@"64bit", .sse2, null, null },
63335 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },67391 .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 },
63337 .patterns = &.{67393 .patterns = &.{
63338 .{ .src = .{ .to_mem, .none, .none } },67394 .{ .src = .{ .to_mem, .none, .none } },
63339 },67395 },
...@@ -63349,7 +67405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63349,7 +67405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63349 .unused,67405 .unused,
63350 .unused,67406 .unused,
63351 },67407 },
63352 .dst_temps = .{.mem},67408 .dst_temps = .{ .mem, .unused },
63353 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67409 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63354 .each = .{ .once = &.{67410 .each = .{ .once = &.{
63355 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },67411 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -63363,7 +67419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63363,7 +67419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63363 }, .{67419 }, .{
63364 .required_features = .{ .@"64bit", .sse, null, null },67420 .required_features = .{ .@"64bit", .sse, null, null },
63365 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },67421 .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 },
63367 .patterns = &.{67423 .patterns = &.{
63368 .{ .src = .{ .to_mem, .none, .none } },67424 .{ .src = .{ .to_mem, .none, .none } },
63369 },67425 },
...@@ -63379,7 +67435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63379,7 +67435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63379 .unused,67435 .unused,
63380 .unused,67436 .unused,
63381 },67437 },
63382 .dst_temps = .{.mem},67438 .dst_temps = .{ .mem, .unused },
63383 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67439 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63384 .each = .{ .once = &.{67440 .each = .{ .once = &.{
63385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },67441 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -63393,7 +67449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63393,7 +67449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63393 }, .{67449 }, .{
63394 .required_features = .{ .@"64bit", .avx, null, null },67450 .required_features = .{ .@"64bit", .avx, null, null },
63395 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },67451 .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 },
63397 .patterns = &.{67453 .patterns = &.{
63398 .{ .src = .{ .to_mem, .none, .none } },67454 .{ .src = .{ .to_mem, .none, .none } },
63399 },67455 },
...@@ -63409,7 +67465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63409,7 +67465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63409 .unused,67465 .unused,
63410 .unused,67466 .unused,
63411 },67467 },
63412 .dst_temps = .{.mem},67468 .dst_temps = .{ .mem, .unused },
63413 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67469 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63414 .each = .{ .once = &.{67470 .each = .{ .once = &.{
63415 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },67471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -63423,7 +67479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63423,7 +67479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63423 }, .{67479 }, .{
63424 .required_features = .{ .@"64bit", .sse2, null, null },67480 .required_features = .{ .@"64bit", .sse2, null, null },
63425 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },67481 .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 },
63427 .patterns = &.{67483 .patterns = &.{
63428 .{ .src = .{ .to_mem, .none, .none } },67484 .{ .src = .{ .to_mem, .none, .none } },
63429 },67485 },
...@@ -63439,7 +67495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63439,7 +67495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63439 .unused,67495 .unused,
63440 .unused,67496 .unused,
63441 },67497 },
63442 .dst_temps = .{.mem},67498 .dst_temps = .{ .mem, .unused },
63443 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67499 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63444 .each = .{ .once = &.{67500 .each = .{ .once = &.{
63445 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },67501 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -63453,7 +67509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63453,7 +67509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63453 }, .{67509 }, .{
63454 .required_features = .{ .@"64bit", .sse, null, null },67510 .required_features = .{ .@"64bit", .sse, null, null },
63455 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },67511 .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 },
63457 .patterns = &.{67513 .patterns = &.{
63458 .{ .src = .{ .to_mem, .none, .none } },67514 .{ .src = .{ .to_mem, .none, .none } },
63459 },67515 },
...@@ -63469,7 +67525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63469,7 +67525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63469 .unused,67525 .unused,
63470 .unused,67526 .unused,
63471 },67527 },
63472 .dst_temps = .{.mem},67528 .dst_temps = .{ .mem, .unused },
63473 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67529 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63474 .each = .{ .once = &.{67530 .each = .{ .once = &.{
63475 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },67531 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
...@@ -63483,7 +67539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63483,7 +67539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63483 }, .{67539 }, .{
63484 .required_features = .{ .@"64bit", .avx, null, null },67540 .required_features = .{ .@"64bit", .avx, null, null },
63485 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },67541 .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 },
63487 .patterns = &.{67543 .patterns = &.{
63488 .{ .src = .{ .to_mem, .none, .none } },67544 .{ .src = .{ .to_mem, .none, .none } },
63489 },67545 },
...@@ -63499,7 +67555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63499,7 +67555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63499 .unused,67555 .unused,
63500 .unused,67556 .unused,
63501 },67557 },
63502 .dst_temps = .{.mem},67558 .dst_temps = .{ .mem, .unused },
63503 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67559 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63504 .each = .{ .once = &.{67560 .each = .{ .once = &.{
63505 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },67561 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63515,7 +67571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63515,7 +67571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63515 }, .{67571 }, .{
63516 .required_features = .{ .@"64bit", .sse2, null, null },67572 .required_features = .{ .@"64bit", .sse2, null, null },
63517 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },67573 .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 },
63519 .patterns = &.{67575 .patterns = &.{
63520 .{ .src = .{ .to_mem, .none, .none } },67576 .{ .src = .{ .to_mem, .none, .none } },
63521 },67577 },
...@@ -63531,7 +67587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63531,7 +67587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63531 .unused,67587 .unused,
63532 .unused,67588 .unused,
63533 },67589 },
63534 .dst_temps = .{.mem},67590 .dst_temps = .{ .mem, .unused },
63535 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67591 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63536 .each = .{ .once = &.{67592 .each = .{ .once = &.{
63537 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },67593 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63547,7 +67603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63547,7 +67603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63547 }, .{67603 }, .{
63548 .required_features = .{ .@"64bit", .sse, null, null },67604 .required_features = .{ .@"64bit", .sse, null, null },
63549 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },67605 .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 },
63551 .patterns = &.{67607 .patterns = &.{
63552 .{ .src = .{ .to_mem, .none, .none } },67608 .{ .src = .{ .to_mem, .none, .none } },
63553 },67609 },
...@@ -63563,7 +67619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63563,7 +67619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63563 .unused,67619 .unused,
63564 .unused,67620 .unused,
63565 },67621 },
63566 .dst_temps = .{.mem},67622 .dst_temps = .{ .mem, .unused },
63567 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67623 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63568 .each = .{ .once = &.{67624 .each = .{ .once = &.{
63569 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },67625 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63579,7 +67635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63579,7 +67635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63579 }, .{67635 }, .{
63580 .required_features = .{ .@"64bit", .avx, null, null },67636 .required_features = .{ .@"64bit", .avx, null, null },
63581 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },67637 .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 },
63583 .patterns = &.{67639 .patterns = &.{
63584 .{ .src = .{ .to_mem, .none, .none } },67640 .{ .src = .{ .to_mem, .none, .none } },
63585 },67641 },
...@@ -63595,7 +67651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63595,7 +67651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63595 .unused,67651 .unused,
63596 .unused,67652 .unused,
63597 },67653 },
63598 .dst_temps = .{.mem},67654 .dst_temps = .{ .mem, .unused },
63599 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67655 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63600 .each = .{ .once = &.{67656 .each = .{ .once = &.{
63601 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },67657 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63611,7 +67667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63611,7 +67667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63611 }, .{67667 }, .{
63612 .required_features = .{ .@"64bit", .sse2, null, null },67668 .required_features = .{ .@"64bit", .sse2, null, null },
63613 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },67669 .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 },
63615 .patterns = &.{67671 .patterns = &.{
63616 .{ .src = .{ .to_mem, .none, .none } },67672 .{ .src = .{ .to_mem, .none, .none } },
63617 },67673 },
...@@ -63627,7 +67683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63627,7 +67683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63627 .unused,67683 .unused,
63628 .unused,67684 .unused,
63629 },67685 },
63630 .dst_temps = .{.mem},67686 .dst_temps = .{ .mem, .unused },
63631 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67687 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63632 .each = .{ .once = &.{67688 .each = .{ .once = &.{
63633 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },67689 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63643,7 +67699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63643,7 +67699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63643 }, .{67699 }, .{
63644 .required_features = .{ .@"64bit", .sse, null, null },67700 .required_features = .{ .@"64bit", .sse, null, null },
63645 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },67701 .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 },
63647 .patterns = &.{67703 .patterns = &.{
63648 .{ .src = .{ .to_mem, .none, .none } },67704 .{ .src = .{ .to_mem, .none, .none } },
63649 },67705 },
...@@ -63659,7 +67715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63659,7 +67715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63659 .unused,67715 .unused,
63660 .unused,67716 .unused,
63661 },67717 },
63662 .dst_temps = .{.mem},67718 .dst_temps = .{ .mem, .unused },
63663 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67719 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63664 .each = .{ .once = &.{67720 .each = .{ .once = &.{
63665 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },67721 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63675,7 +67731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63675,7 +67731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63675 }, .{67731 }, .{
63676 .required_features = .{ .x87, null, null, null },67732 .required_features = .{ .x87, null, null, null },
63677 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },67733 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
63678 .dst_constraints = .{.{ .float = .tbyte }},67734 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63679 .patterns = &.{67735 .patterns = &.{
63680 .{ .src = .{ .mem, .none, .none } },67736 .{ .src = .{ .mem, .none, .none } },
63681 .{ .src = .{ .to_gpr, .none, .none } },67737 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -63691,7 +67747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63691,7 +67747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63691 .unused,67747 .unused,
63692 .unused,67748 .unused,
63693 },67749 },
63694 .dst_temps = .{.{ .rc = .x87 }},67750 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63695 .each = .{ .once = &.{67751 .each = .{ .once = &.{
63696 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },67752 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
63697 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },67753 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
...@@ -63701,7 +67757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63701,7 +67757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63701 }, .{67757 }, .{
63702 .required_features = .{ .x87, null, null, null },67758 .required_features = .{ .x87, null, null, null },
63703 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },67759 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
63704 .dst_constraints = .{.{ .float = .tbyte }},67760 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63705 .patterns = &.{67761 .patterns = &.{
63706 .{ .src = .{ .mem, .none, .none } },67762 .{ .src = .{ .mem, .none, .none } },
63707 .{ .src = .{ .to_gpr, .none, .none } },67763 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -63717,7 +67773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63717,7 +67773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63717 .unused,67773 .unused,
63718 .unused,67774 .unused,
63719 },67775 },
63720 .dst_temps = .{.{ .rc = .x87 }},67776 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63721 .each = .{ .once = &.{67777 .each = .{ .once = &.{
63722 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },67778 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
63723 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },67779 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
...@@ -63727,7 +67783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63727,7 +67783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63727 }, .{67783 }, .{
63728 .required_features = .{ .x87, null, null, null },67784 .required_features = .{ .x87, null, null, null },
63729 .src_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any, .any },67785 .src_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any, .any },
63730 .dst_constraints = .{.{ .float = .tbyte }},67786 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63731 .patterns = &.{67787 .patterns = &.{
63732 .{ .src = .{ .to_mem, .none, .none } },67788 .{ .src = .{ .to_mem, .none, .none } },
63733 },67789 },
...@@ -63742,7 +67798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63742,7 +67798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63742 .unused,67798 .unused,
63743 .unused,67799 .unused,
63744 },67800 },
63745 .dst_temps = .{.{ .rc = .x87 }},67801 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63746 .each = .{ .once = &.{67802 .each = .{ .once = &.{
63747 .{ ._, .fi_, .ld, .src0w, ._, ._, ._ },67803 .{ ._, .fi_, .ld, .src0w, ._, ._, ._ },
63748 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },67804 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
...@@ -63750,7 +67806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63750,7 +67806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63750 }, .{67806 }, .{
63751 .required_features = .{ .x87, null, null, null },67807 .required_features = .{ .x87, null, null, null },
63752 .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .any, .any },67808 .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .any, .any },
63753 .dst_constraints = .{.{ .float = .tbyte }},67809 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63754 .patterns = &.{67810 .patterns = &.{
63755 .{ .src = .{ .mem, .none, .none } },67811 .{ .src = .{ .mem, .none, .none } },
63756 .{ .src = .{ .to_gpr, .none, .none } },67812 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -63766,7 +67822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63766,7 +67822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63766 .unused,67822 .unused,
63767 .unused,67823 .unused,
63768 },67824 },
63769 .dst_temps = .{.{ .rc = .x87 }},67825 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63770 .each = .{ .once = &.{67826 .each = .{ .once = &.{
63771 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },67827 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
63772 .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ },67828 .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ },
...@@ -63776,7 +67832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63776,7 +67832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63776 }, .{67832 }, .{
63777 .required_features = .{ .x87, null, null, null },67833 .required_features = .{ .x87, null, null, null },
63778 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },67834 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
63779 .dst_constraints = .{.{ .float = .tbyte }},67835 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63780 .patterns = &.{67836 .patterns = &.{
63781 .{ .src = .{ .to_mem, .none, .none } },67837 .{ .src = .{ .to_mem, .none, .none } },
63782 },67838 },
...@@ -63791,7 +67847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63791,7 +67847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63791 .unused,67847 .unused,
63792 .unused,67848 .unused,
63793 },67849 },
63794 .dst_temps = .{.{ .rc = .x87 }},67850 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63795 .each = .{ .once = &.{67851 .each = .{ .once = &.{
63796 .{ ._, .fi_, .ld, .src0d, ._, ._, ._ },67852 .{ ._, .fi_, .ld, .src0d, ._, ._, ._ },
63797 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },67853 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
...@@ -63799,7 +67855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63799,7 +67855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63799 }, .{67855 }, .{
63800 .required_features = .{ .@"64bit", .x87, null, null },67856 .required_features = .{ .@"64bit", .x87, null, null },
63801 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },67857 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
63802 .dst_constraints = .{.{ .float = .tbyte }},67858 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63803 .patterns = &.{67859 .patterns = &.{
63804 .{ .src = .{ .mem, .none, .none } },67860 .{ .src = .{ .mem, .none, .none } },
63805 .{ .src = .{ .to_gpr, .none, .none } },67861 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -63815,7 +67871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63815,7 +67871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63815 .unused,67871 .unused,
63816 .unused,67872 .unused,
63817 },67873 },
63818 .dst_temps = .{.{ .rc = .x87 }},67874 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63819 .each = .{ .once = &.{67875 .each = .{ .once = &.{
63820 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },67876 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
63821 .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },67877 .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
...@@ -63825,7 +67881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63825,7 +67881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63825 }, .{67881 }, .{
63826 .required_features = .{ .x87, null, null, null },67882 .required_features = .{ .x87, null, null, null },
63827 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },67883 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
63828 .dst_constraints = .{.{ .float = .tbyte }},67884 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63829 .patterns = &.{67885 .patterns = &.{
63830 .{ .src = .{ .to_mem, .none, .none } },67886 .{ .src = .{ .to_mem, .none, .none } },
63831 },67887 },
...@@ -63840,7 +67896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63840,7 +67896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63840 .unused,67896 .unused,
63841 .unused,67897 .unused,
63842 },67898 },
63843 .dst_temps = .{.{ .rc = .x87 }},67899 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63844 .each = .{ .once = &.{67900 .each = .{ .once = &.{
63845 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },67901 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },
63846 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },67902 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
...@@ -63848,7 +67904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63848,7 +67904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63848 }, .{67904 }, .{
63849 .required_features = .{ .x87, null, null, null },67905 .required_features = .{ .x87, null, null, null },
63850 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },67906 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
63851 .dst_constraints = .{.{ .float = .tbyte }},67907 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63852 .patterns = &.{67908 .patterns = &.{
63853 .{ .src = .{ .to_mem, .none, .none } },67909 .{ .src = .{ .to_mem, .none, .none } },
63854 },67910 },
...@@ -63863,7 +67919,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63863,7 +67919,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63863 .unused,67919 .unused,
63864 .unused,67920 .unused,
63865 },67921 },
63866 .dst_temps = .{.{ .rc = .x87 }},67922 .dst_temps = .{ .{ .rc = .x87 }, .unused },
63867 .clobbers = .{ .eflags = true },67923 .clobbers = .{ .eflags = true },
63868 .each = .{ .once = &.{67924 .each = .{ .once = &.{
63869 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },67925 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },
...@@ -63876,7 +67932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63876,7 +67932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63876 }, .{67932 }, .{
63877 .required_features = .{ .@"64bit", .sse, null, null },67933 .required_features = .{ .@"64bit", .sse, null, null },
63878 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },67934 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
63879 .dst_constraints = .{.{ .float = .tbyte }},67935 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63880 .patterns = &.{67936 .patterns = &.{
63881 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },67937 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
63882 },67938 },
...@@ -63892,7 +67948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63892,7 +67948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63892 .unused,67948 .unused,
63893 .unused,67949 .unused,
63894 },67950 },
63895 .dst_temps = .{.{ .reg = .st0 }},67951 .dst_temps = .{ .{ .reg = .st0 }, .unused },
63896 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67952 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63897 .each = .{ .once = &.{67953 .each = .{ .once = &.{
63898 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },67954 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -63900,7 +67956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63900,7 +67956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63900 }, .{67956 }, .{
63901 .required_features = .{ .@"64bit", .sse, null, null },67957 .required_features = .{ .@"64bit", .sse, null, null },
63902 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },67958 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
63903 .dst_constraints = .{.{ .float = .tbyte }},67959 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63904 .patterns = &.{67960 .patterns = &.{
63905 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },67961 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
63906 },67962 },
...@@ -63916,7 +67972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63916,7 +67972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63916 .unused,67972 .unused,
63917 .unused,67973 .unused,
63918 },67974 },
63919 .dst_temps = .{.{ .reg = .st0 }},67975 .dst_temps = .{ .{ .reg = .st0 }, .unused },
63920 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },67976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63921 .each = .{ .once = &.{67977 .each = .{ .once = &.{
63922 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },67978 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -63924,7 +67980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63924,7 +67980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63924 }, .{67980 }, .{
63925 .required_features = .{ .@"64bit", .sse, null, null },67981 .required_features = .{ .@"64bit", .sse, null, null },
63926 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },67982 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63927 .dst_constraints = .{.{ .float = .tbyte }},67983 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63928 .patterns = &.{67984 .patterns = &.{
63929 .{ .src = .{ .to_mem, .none, .none } },67985 .{ .src = .{ .to_mem, .none, .none } },
63930 },67986 },
...@@ -63940,7 +67996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63940,7 +67996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63940 .unused,67996 .unused,
63941 .unused,67997 .unused,
63942 },67998 },
63943 .dst_temps = .{.{ .reg = .st0 }},67999 .dst_temps = .{ .{ .reg = .st0 }, .unused },
63944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68000 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63945 .each = .{ .once = &.{68001 .each = .{ .once = &.{
63946 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },68002 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63950,7 +68006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63950,7 +68006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63950 }, .{68006 }, .{
63951 .required_features = .{ .@"64bit", .sse, null, null },68007 .required_features = .{ .@"64bit", .sse, null, null },
63952 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },68008 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63953 .dst_constraints = .{.{ .float = .tbyte }},68009 .dst_constraints = .{ .{ .float = .tbyte }, .any },
63954 .patterns = &.{68010 .patterns = &.{
63955 .{ .src = .{ .to_mem, .none, .none } },68011 .{ .src = .{ .to_mem, .none, .none } },
63956 },68012 },
...@@ -63966,7 +68022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63966,7 +68022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63966 .unused,68022 .unused,
63967 .unused,68023 .unused,
63968 },68024 },
63969 .dst_temps = .{.{ .reg = .st0 }},68025 .dst_temps = .{ .{ .reg = .st0 }, .unused },
63970 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68026 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
63971 .each = .{ .once = &.{68027 .each = .{ .once = &.{
63972 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },68028 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -63976,7 +68032,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63976,7 +68032,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63976 }, .{68032 }, .{
63977 .required_features = .{ .x87, .slow_incdec, null, null },68033 .required_features = .{ .x87, .slow_incdec, null, null },
63978 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },68034 .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 },
63980 .patterns = &.{68036 .patterns = &.{
63981 .{ .src = .{ .to_mem, .none, .none } },68037 .{ .src = .{ .to_mem, .none, .none } },
63982 },68038 },
...@@ -63991,7 +68047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -63991,7 +68047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
63991 .unused,68047 .unused,
63992 .unused,68048 .unused,
63993 },68049 },
63994 .dst_temps = .{.mem},68050 .dst_temps = .{ .mem, .unused },
63995 .clobbers = .{ .eflags = true },68051 .clobbers = .{ .eflags = true },
63996 .each = .{ .once = &.{68052 .each = .{ .once = &.{
63997 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68053 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64007,7 +68063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64007,7 +68063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64007 }, .{68063 }, .{
64008 .required_features = .{ .x87, null, null, null },68064 .required_features = .{ .x87, null, null, null },
64009 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },68065 .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 },
64011 .patterns = &.{68067 .patterns = &.{
64012 .{ .src = .{ .to_mem, .none, .none } },68068 .{ .src = .{ .to_mem, .none, .none } },
64013 },68069 },
...@@ -64022,7 +68078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64022,7 +68078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64022 .unused,68078 .unused,
64023 .unused,68079 .unused,
64024 },68080 },
64025 .dst_temps = .{.mem},68081 .dst_temps = .{ .mem, .unused },
64026 .clobbers = .{ .eflags = true },68082 .clobbers = .{ .eflags = true },
64027 .each = .{ .once = &.{68083 .each = .{ .once = &.{
64028 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68084 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64038,7 +68094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64038,7 +68094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64038 }, .{68094 }, .{
64039 .required_features = .{ .x87, .slow_incdec, null, null },68095 .required_features = .{ .x87, .slow_incdec, null, null },
64040 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },68096 .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 },
64042 .patterns = &.{68098 .patterns = &.{
64043 .{ .src = .{ .to_mem, .none, .none } },68099 .{ .src = .{ .to_mem, .none, .none } },
64044 },68100 },
...@@ -64053,7 +68109,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64053,7 +68109,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64053 .unused,68109 .unused,
64054 .unused,68110 .unused,
64055 },68111 },
64056 .dst_temps = .{.mem},68112 .dst_temps = .{ .mem, .unused },
64057 .clobbers = .{ .eflags = true },68113 .clobbers = .{ .eflags = true },
64058 .each = .{ .once = &.{68114 .each = .{ .once = &.{
64059 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68115 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64069,7 +68125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64069,7 +68125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64069 }, .{68125 }, .{
64070 .required_features = .{ .x87, null, null, null },68126 .required_features = .{ .x87, null, null, null },
64071 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },68127 .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 },
64073 .patterns = &.{68129 .patterns = &.{
64074 .{ .src = .{ .to_mem, .none, .none } },68130 .{ .src = .{ .to_mem, .none, .none } },
64075 },68131 },
...@@ -64084,7 +68140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64084,7 +68140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64084 .unused,68140 .unused,
64085 .unused,68141 .unused,
64086 },68142 },
64087 .dst_temps = .{.mem},68143 .dst_temps = .{ .mem, .unused },
64088 .clobbers = .{ .eflags = true },68144 .clobbers = .{ .eflags = true },
64089 .each = .{ .once = &.{68145 .each = .{ .once = &.{
64090 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68146 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64100,7 +68156,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64100,7 +68156,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64100 }, .{68156 }, .{
64101 .required_features = .{ .x87, .slow_incdec, null, null },68157 .required_features = .{ .x87, .slow_incdec, null, null },
64102 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },68158 .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 },
64104 .patterns = &.{68160 .patterns = &.{
64105 .{ .src = .{ .to_mem, .none, .none } },68161 .{ .src = .{ .to_mem, .none, .none } },
64106 },68162 },
...@@ -64116,7 +68172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64116,7 +68172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64116 .unused,68172 .unused,
64117 .unused,68173 .unused,
64118 },68174 },
64119 .dst_temps = .{.mem},68175 .dst_temps = .{ .mem, .unused },
64120 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68176 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64121 .each = .{ .once = &.{68177 .each = .{ .once = &.{
64122 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68178 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64132,7 +68188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64132,7 +68188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64132 }, .{68188 }, .{
64133 .required_features = .{ .x87, null, null, null },68189 .required_features = .{ .x87, null, null, null },
64134 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },68190 .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 },
64136 .patterns = &.{68192 .patterns = &.{
64137 .{ .src = .{ .to_mem, .none, .none } },68193 .{ .src = .{ .to_mem, .none, .none } },
64138 },68194 },
...@@ -64148,7 +68204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64148,7 +68204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64148 .unused,68204 .unused,
64149 .unused,68205 .unused,
64150 },68206 },
64151 .dst_temps = .{.mem},68207 .dst_temps = .{ .mem, .unused },
64152 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68208 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64153 .each = .{ .once = &.{68209 .each = .{ .once = &.{
64154 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64164,7 +68220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64164,7 +68220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64164 }, .{68220 }, .{
64165 .required_features = .{ .x87, .slow_incdec, null, null },68221 .required_features = .{ .x87, .slow_incdec, null, null },
64166 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },68222 .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 },
64168 .patterns = &.{68224 .patterns = &.{
64169 .{ .src = .{ .to_mem, .none, .none } },68225 .{ .src = .{ .to_mem, .none, .none } },
64170 },68226 },
...@@ -64180,7 +68236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64180,7 +68236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64180 .unused,68236 .unused,
64181 .unused,68237 .unused,
64182 },68238 },
64183 .dst_temps = .{.mem},68239 .dst_temps = .{ .mem, .unused },
64184 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68240 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64185 .each = .{ .once = &.{68241 .each = .{ .once = &.{
64186 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68242 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64196,7 +68252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64196,7 +68252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64196 }, .{68252 }, .{
64197 .required_features = .{ .x87, null, null, null },68253 .required_features = .{ .x87, null, null, null },
64198 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },68254 .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 },
64200 .patterns = &.{68256 .patterns = &.{
64201 .{ .src = .{ .to_mem, .none, .none } },68257 .{ .src = .{ .to_mem, .none, .none } },
64202 },68258 },
...@@ -64212,7 +68268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64212,7 +68268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64212 .unused,68268 .unused,
64213 .unused,68269 .unused,
64214 },68270 },
64215 .dst_temps = .{.mem},68271 .dst_temps = .{ .mem, .unused },
64216 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68272 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64217 .each = .{ .once = &.{68273 .each = .{ .once = &.{
64218 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68274 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64228,7 +68284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64228,7 +68284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64228 }, .{68284 }, .{
64229 .required_features = .{ .x87, null, null, null },68285 .required_features = .{ .x87, null, null, null },
64230 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },68286 .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 },
64232 .patterns = &.{68288 .patterns = &.{
64233 .{ .src = .{ .to_mem, .none, .none } },68289 .{ .src = .{ .to_mem, .none, .none } },
64234 },68290 },
...@@ -64243,7 +68299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64243,7 +68299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64243 .unused,68299 .unused,
64244 .unused,68300 .unused,
64245 },68301 },
64246 .dst_temps = .{.mem},68302 .dst_temps = .{ .mem, .unused },
64247 .clobbers = .{ .eflags = true },68303 .clobbers = .{ .eflags = true },
64248 .each = .{ .once = &.{68304 .each = .{ .once = &.{
64249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64255,7 +68311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64255,7 +68311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64255 }, .{68311 }, .{
64256 .required_features = .{ .x87, null, null, null },68312 .required_features = .{ .x87, null, null, null },
64257 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },68313 .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 },
64259 .patterns = &.{68315 .patterns = &.{
64260 .{ .src = .{ .to_mem, .none, .none } },68316 .{ .src = .{ .to_mem, .none, .none } },
64261 },68317 },
...@@ -64271,7 +68327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64271,7 +68327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64271 .unused,68327 .unused,
64272 .unused,68328 .unused,
64273 },68329 },
64274 .dst_temps = .{.mem},68330 .dst_temps = .{ .mem, .unused },
64275 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68331 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64276 .each = .{ .once = &.{68332 .each = .{ .once = &.{
64277 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68333 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64285,7 +68341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64285,7 +68341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64285 }, .{68341 }, .{
64286 .required_features = .{ .x87, null, null, null },68342 .required_features = .{ .x87, null, null, null },
64287 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },68343 .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 },
64289 .patterns = &.{68345 .patterns = &.{
64290 .{ .src = .{ .to_mem, .none, .none } },68346 .{ .src = .{ .to_mem, .none, .none } },
64291 },68347 },
...@@ -64301,7 +68357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64301,7 +68357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64301 .unused,68357 .unused,
64302 .unused,68358 .unused,
64303 },68359 },
64304 .dst_temps = .{.mem},68360 .dst_temps = .{ .mem, .unused },
64305 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68361 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64306 .each = .{ .once = &.{68362 .each = .{ .once = &.{
64307 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68363 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64315,7 +68371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64315,7 +68371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64315 }, .{68371 }, .{
64316 .required_features = .{ .x87, null, null, null },68372 .required_features = .{ .x87, null, null, null },
64317 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },68373 .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 },
64319 .patterns = &.{68375 .patterns = &.{
64320 .{ .src = .{ .to_mem, .none, .none } },68376 .{ .src = .{ .to_mem, .none, .none } },
64321 },68377 },
...@@ -64330,7 +68386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64330,7 +68386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64330 .unused,68386 .unused,
64331 .unused,68387 .unused,
64332 },68388 },
64333 .dst_temps = .{.mem},68389 .dst_temps = .{ .mem, .unused },
64334 .clobbers = .{ .eflags = true },68390 .clobbers = .{ .eflags = true },
64335 .each = .{ .once = &.{68391 .each = .{ .once = &.{
64336 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68392 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64342,7 +68398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64342,7 +68398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64342 }, .{68398 }, .{
64343 .required_features = .{ .x87, null, null, null },68399 .required_features = .{ .x87, null, null, null },
64344 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },68400 .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 },
64346 .patterns = &.{68402 .patterns = &.{
64347 .{ .src = .{ .to_mem, .none, .none } },68403 .{ .src = .{ .to_mem, .none, .none } },
64348 },68404 },
...@@ -64358,7 +68414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64358,7 +68414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64358 .unused,68414 .unused,
64359 .unused,68415 .unused,
64360 },68416 },
64361 .dst_temps = .{.mem},68417 .dst_temps = .{ .mem, .unused },
64362 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68418 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64363 .each = .{ .once = &.{68419 .each = .{ .once = &.{
64364 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68420 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64372,7 +68428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64372,7 +68428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64372 }, .{68428 }, .{
64373 .required_features = .{ .x87, null, null, null },68429 .required_features = .{ .x87, null, null, null },
64374 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },68430 .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 },
64376 .patterns = &.{68432 .patterns = &.{
64377 .{ .src = .{ .to_mem, .none, .none } },68433 .{ .src = .{ .to_mem, .none, .none } },
64378 },68434 },
...@@ -64388,7 +68444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64388,7 +68444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64388 .unused,68444 .unused,
64389 .unused,68445 .unused,
64390 },68446 },
64391 .dst_temps = .{.mem},68447 .dst_temps = .{ .mem, .unused },
64392 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68448 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64393 .each = .{ .once = &.{68449 .each = .{ .once = &.{
64394 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68450 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64402,7 +68458,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64402,7 +68458,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64402 }, .{68458 }, .{
64403 .required_features = .{ .x87, null, null, null },68459 .required_features = .{ .x87, null, null, null },
64404 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },68460 .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 },
64406 .patterns = &.{68462 .patterns = &.{
64407 .{ .src = .{ .to_mem, .none, .none } },68463 .{ .src = .{ .to_mem, .none, .none } },
64408 },68464 },
...@@ -64417,7 +68473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64417,7 +68473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64417 .unused,68473 .unused,
64418 .unused,68474 .unused,
64419 },68475 },
64420 .dst_temps = .{.mem},68476 .dst_temps = .{ .mem, .unused },
64421 .clobbers = .{ .eflags = true },68477 .clobbers = .{ .eflags = true },
64422 .each = .{ .once = &.{68478 .each = .{ .once = &.{
64423 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68479 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64429,7 +68485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64429,7 +68485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64429 }, .{68485 }, .{
64430 .required_features = .{ .@"64bit", .x87, null, null },68486 .required_features = .{ .@"64bit", .x87, null, null },
64431 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },68487 .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 },
64433 .patterns = &.{68489 .patterns = &.{
64434 .{ .src = .{ .to_mem, .none, .none } },68490 .{ .src = .{ .to_mem, .none, .none } },
64435 },68491 },
...@@ -64445,7 +68501,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64445,7 +68501,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64445 .unused,68501 .unused,
64446 .unused,68502 .unused,
64447 },68503 },
64448 .dst_temps = .{.mem},68504 .dst_temps = .{ .mem, .unused },
64449 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68505 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64450 .each = .{ .once = &.{68506 .each = .{ .once = &.{
64451 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68507 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64459,7 +68515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64459,7 +68515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64459 }, .{68515 }, .{
64460 .required_features = .{ .@"64bit", .x87, null, null },68516 .required_features = .{ .@"64bit", .x87, null, null },
64461 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },68517 .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 },
64463 .patterns = &.{68519 .patterns = &.{
64464 .{ .src = .{ .to_mem, .none, .none } },68520 .{ .src = .{ .to_mem, .none, .none } },
64465 },68521 },
...@@ -64475,7 +68531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64475,7 +68531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64475 .unused,68531 .unused,
64476 .unused,68532 .unused,
64477 },68533 },
64478 .dst_temps = .{.mem},68534 .dst_temps = .{ .mem, .unused },
64479 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68535 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64480 .each = .{ .once = &.{68536 .each = .{ .once = &.{
64481 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68537 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64489,7 +68545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64489,7 +68545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64489 }, .{68545 }, .{
64490 .required_features = .{ .@"64bit", .x87, null, null },68546 .required_features = .{ .@"64bit", .x87, null, null },
64491 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },68547 .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 },
64493 .patterns = &.{68549 .patterns = &.{
64494 .{ .src = .{ .to_mem, .none, .none } },68550 .{ .src = .{ .to_mem, .none, .none } },
64495 },68551 },
...@@ -64505,7 +68561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64505,7 +68561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64505 .unused,68561 .unused,
64506 .unused,68562 .unused,
64507 },68563 },
64508 .dst_temps = .{.mem},68564 .dst_temps = .{ .mem, .unused },
64509 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68565 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64510 .each = .{ .once = &.{68566 .each = .{ .once = &.{
64511 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68567 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64520,7 +68576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64520,7 +68576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64520 }, .{68576 }, .{
64521 .required_features = .{ .@"64bit", .x87, null, null },68577 .required_features = .{ .@"64bit", .x87, null, null },
64522 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },68578 .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 },
64524 .patterns = &.{68580 .patterns = &.{
64525 .{ .src = .{ .to_mem, .none, .none } },68581 .{ .src = .{ .to_mem, .none, .none } },
64526 },68582 },
...@@ -64536,7 +68592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64536,7 +68592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64536 .unused,68592 .unused,
64537 .unused,68593 .unused,
64538 },68594 },
64539 .dst_temps = .{.mem},68595 .dst_temps = .{ .mem, .unused },
64540 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68596 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64541 .each = .{ .once = &.{68597 .each = .{ .once = &.{
64542 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64551,7 +68607,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64551,7 +68607,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64551 }, .{68607 }, .{
64552 .required_features = .{ .@"64bit", .x87, null, null },68608 .required_features = .{ .@"64bit", .x87, null, null },
64553 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },68609 .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 },
64555 .patterns = &.{68611 .patterns = &.{
64556 .{ .src = .{ .to_mem, .none, .none } },68612 .{ .src = .{ .to_mem, .none, .none } },
64557 },68613 },
...@@ -64567,7 +68623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64567,7 +68623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64567 .unused,68623 .unused,
64568 .unused,68624 .unused,
64569 },68625 },
64570 .dst_temps = .{.mem},68626 .dst_temps = .{ .mem, .unused },
64571 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68627 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64572 .each = .{ .once = &.{68628 .each = .{ .once = &.{
64573 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },68629 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -64584,7 +68640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64584,7 +68640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64584 }, .{68640 }, .{
64585 .required_features = .{ .@"64bit", .x87, null, null },68641 .required_features = .{ .@"64bit", .x87, null, null },
64586 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },68642 .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 },
64588 .patterns = &.{68644 .patterns = &.{
64589 .{ .src = .{ .to_mem, .none, .none } },68645 .{ .src = .{ .to_mem, .none, .none } },
64590 },68646 },
...@@ -64600,7 +68656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64600,7 +68656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64600 .unused,68656 .unused,
64601 .unused,68657 .unused,
64602 },68658 },
64603 .dst_temps = .{.mem},68659 .dst_temps = .{ .mem, .unused },
64604 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68660 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64605 .each = .{ .once = &.{68661 .each = .{ .once = &.{
64606 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },68662 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -64617,7 +68673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64617,7 +68673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64617 }, .{68673 }, .{
64618 .required_features = .{ .sse, null, null, null },68674 .required_features = .{ .sse, null, null, null },
64619 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },68675 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
64620 .dst_constraints = .{.{ .float = .xword }},68676 .dst_constraints = .{ .{ .float = .xword }, .any },
64621 .patterns = &.{68677 .patterns = &.{
64622 .{ .src = .{ .mem, .none, .none } },68678 .{ .src = .{ .mem, .none, .none } },
64623 .{ .src = .{ .to_gpr, .none, .none } },68679 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -64634,7 +68690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64634,7 +68690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64634 .unused,68690 .unused,
64635 .unused,68691 .unused,
64636 },68692 },
64637 .dst_temps = .{.{ .reg = .xmm0 }},68693 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64638 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68694 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64639 .each = .{ .once = &.{68695 .each = .{ .once = &.{
64640 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },68696 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
...@@ -64643,7 +68699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64643,7 +68699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64643 }, .{68699 }, .{
64644 .required_features = .{ .sse, null, null, null },68700 .required_features = .{ .sse, null, null, null },
64645 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },68701 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
64646 .dst_constraints = .{.{ .float = .xword }},68702 .dst_constraints = .{ .{ .float = .xword }, .any },
64647 .patterns = &.{68703 .patterns = &.{
64648 .{ .src = .{ .mem, .none, .none } },68704 .{ .src = .{ .mem, .none, .none } },
64649 .{ .src = .{ .to_gpr, .none, .none } },68705 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -64660,7 +68716,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64660,7 +68716,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64660 .unused,68716 .unused,
64661 .unused,68717 .unused,
64662 },68718 },
64663 .dst_temps = .{.{ .reg = .xmm0 }},68719 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64664 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68720 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64665 .each = .{ .once = &.{68721 .each = .{ .once = &.{
64666 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },68722 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
...@@ -64669,7 +68725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64669,7 +68725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64669 }, .{68725 }, .{
64670 .required_features = .{ .sse, null, null, null },68726 .required_features = .{ .sse, null, null, null },
64671 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },68727 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
64672 .dst_constraints = .{.{ .float = .xword }},68728 .dst_constraints = .{ .{ .float = .xword }, .any },
64673 .patterns = &.{68729 .patterns = &.{
64674 .{ .src = .{ .mem, .none, .none } },68730 .{ .src = .{ .mem, .none, .none } },
64675 .{ .src = .{ .to_gpr, .none, .none } },68731 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -64686,7 +68742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64686,7 +68742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64686 .unused,68742 .unused,
64687 .unused,68743 .unused,
64688 },68744 },
64689 .dst_temps = .{.{ .reg = .xmm0 }},68745 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64690 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68746 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64691 .each = .{ .once = &.{68747 .each = .{ .once = &.{
64692 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },68748 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
...@@ -64695,7 +68751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64695,7 +68751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64695 }, .{68751 }, .{
64696 .required_features = .{ .sse, null, null, null },68752 .required_features = .{ .sse, null, null, null },
64697 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },68753 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
64698 .dst_constraints = .{.{ .float = .xword }},68754 .dst_constraints = .{ .{ .float = .xword }, .any },
64699 .patterns = &.{68755 .patterns = &.{
64700 .{ .src = .{ .mem, .none, .none } },68756 .{ .src = .{ .mem, .none, .none } },
64701 .{ .src = .{ .to_gpr, .none, .none } },68757 .{ .src = .{ .to_gpr, .none, .none } },
...@@ -64712,7 +68768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64712,7 +68768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64712 .unused,68768 .unused,
64713 .unused,68769 .unused,
64714 },68770 },
64715 .dst_temps = .{.{ .reg = .xmm0 }},68771 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64716 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68772 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64717 .each = .{ .once = &.{68773 .each = .{ .once = &.{
64718 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },68774 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
...@@ -64721,7 +68777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64721,7 +68777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64721 }, .{68777 }, .{
64722 .required_features = .{ .sse, null, null, null },68778 .required_features = .{ .sse, null, null, null },
64723 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },68779 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
64724 .dst_constraints = .{.{ .float = .xword }},68780 .dst_constraints = .{ .{ .float = .xword }, .any },
64725 .patterns = &.{68781 .patterns = &.{
64726 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },68782 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
64727 },68783 },
...@@ -64737,7 +68793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64737,7 +68793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64737 .unused,68793 .unused,
64738 .unused,68794 .unused,
64739 },68795 },
64740 .dst_temps = .{.{ .reg = .xmm0 }},68796 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64741 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68797 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64742 .each = .{ .once = &.{68798 .each = .{ .once = &.{
64743 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },68799 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -64745,7 +68801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64745,7 +68801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64745 }, .{68801 }, .{
64746 .required_features = .{ .sse, null, null, null },68802 .required_features = .{ .sse, null, null, null },
64747 .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any },68803 .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any },
64748 .dst_constraints = .{.{ .float = .xword }},68804 .dst_constraints = .{ .{ .float = .xword }, .any },
64749 .patterns = &.{68805 .patterns = &.{
64750 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },68806 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
64751 },68807 },
...@@ -64761,7 +68817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64761,7 +68817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64761 .unused,68817 .unused,
64762 .unused,68818 .unused,
64763 },68819 },
64764 .dst_temps = .{.{ .reg = .xmm0 }},68820 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64765 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68821 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64766 .each = .{ .once = &.{68822 .each = .{ .once = &.{
64767 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },68823 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -64769,7 +68825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64769,7 +68825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64769 }, .{68825 }, .{
64770 .required_features = .{ .@"64bit", .sse, null, null },68826 .required_features = .{ .@"64bit", .sse, null, null },
64771 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },68827 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },
64772 .dst_constraints = .{.{ .float = .xword }},68828 .dst_constraints = .{ .{ .float = .xword }, .any },
64773 .patterns = &.{68829 .patterns = &.{
64774 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },68830 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
64775 },68831 },
...@@ -64785,7 +68841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64785,7 +68841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64785 .unused,68841 .unused,
64786 .unused,68842 .unused,
64787 },68843 },
64788 .dst_temps = .{.{ .reg = .xmm0 }},68844 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64789 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68845 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64790 .each = .{ .once = &.{68846 .each = .{ .once = &.{
64791 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },68847 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -64793,7 +68849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64793,7 +68849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64793 }, .{68849 }, .{
64794 .required_features = .{ .@"64bit", .sse, null, null },68850 .required_features = .{ .@"64bit", .sse, null, null },
64795 .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any },68851 .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any },
64796 .dst_constraints = .{.{ .float = .xword }},68852 .dst_constraints = .{ .{ .float = .xword }, .any },
64797 .patterns = &.{68853 .patterns = &.{
64798 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },68854 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
64799 },68855 },
...@@ -64809,7 +68865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64809,7 +68865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64809 .unused,68865 .unused,
64810 .unused,68866 .unused,
64811 },68867 },
64812 .dst_temps = .{.{ .reg = .xmm0 }},68868 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64813 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68869 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64814 .each = .{ .once = &.{68870 .each = .{ .once = &.{
64815 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },68871 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -64817,7 +68873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64817,7 +68873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64817 }, .{68873 }, .{
64818 .required_features = .{ .@"64bit", .sse, null, null },68874 .required_features = .{ .@"64bit", .sse, null, null },
64819 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },68875 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
64820 .dst_constraints = .{.{ .float = .xword }},68876 .dst_constraints = .{ .{ .float = .xword }, .any },
64821 .patterns = &.{68877 .patterns = &.{
64822 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },68878 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
64823 },68879 },
...@@ -64833,7 +68889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64833,7 +68889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64833 .unused,68889 .unused,
64834 .unused,68890 .unused,
64835 },68891 },
64836 .dst_temps = .{.{ .reg = .xmm0 }},68892 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64837 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68893 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64838 .each = .{ .once = &.{68894 .each = .{ .once = &.{
64839 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },68895 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -64841,7 +68897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64841,7 +68897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64841 }, .{68897 }, .{
64842 .required_features = .{ .@"64bit", .sse, null, null },68898 .required_features = .{ .@"64bit", .sse, null, null },
64843 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },68899 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
64844 .dst_constraints = .{.{ .float = .xword }},68900 .dst_constraints = .{ .{ .float = .xword }, .any },
64845 .patterns = &.{68901 .patterns = &.{
64846 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },68902 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
64847 },68903 },
...@@ -64857,7 +68913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64857,7 +68913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64857 .unused,68913 .unused,
64858 .unused,68914 .unused,
64859 },68915 },
64860 .dst_temps = .{.{ .reg = .xmm0 }},68916 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64861 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64862 .each = .{ .once = &.{68918 .each = .{ .once = &.{
64863 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },68919 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -64865,7 +68921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64865,7 +68921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64865 }, .{68921 }, .{
64866 .required_features = .{ .@"64bit", .sse, null, null },68922 .required_features = .{ .@"64bit", .sse, null, null },
64867 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },68923 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64868 .dst_constraints = .{.{ .float = .xword }},68924 .dst_constraints = .{ .{ .float = .xword }, .any },
64869 .patterns = &.{68925 .patterns = &.{
64870 .{ .src = .{ .to_mem, .none, .none } },68926 .{ .src = .{ .to_mem, .none, .none } },
64871 },68927 },
...@@ -64881,7 +68937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64881,7 +68937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64881 .unused,68937 .unused,
64882 .unused,68938 .unused,
64883 },68939 },
64884 .dst_temps = .{.{ .reg = .xmm0 }},68940 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64885 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68941 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64886 .each = .{ .once = &.{68942 .each = .{ .once = &.{
64887 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },68943 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -64891,7 +68947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64891,7 +68947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64891 }, .{68947 }, .{
64892 .required_features = .{ .@"64bit", .sse, null, null },68948 .required_features = .{ .@"64bit", .sse, null, null },
64893 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },68949 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64894 .dst_constraints = .{.{ .float = .xword }},68950 .dst_constraints = .{ .{ .float = .xword }, .any },
64895 .patterns = &.{68951 .patterns = &.{
64896 .{ .src = .{ .to_mem, .none, .none } },68952 .{ .src = .{ .to_mem, .none, .none } },
64897 },68953 },
...@@ -64907,7 +68963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64907,7 +68963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64907 .unused,68963 .unused,
64908 .unused,68964 .unused,
64909 },68965 },
64910 .dst_temps = .{.{ .reg = .xmm0 }},68966 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
64911 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68967 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64912 .each = .{ .once = &.{68968 .each = .{ .once = &.{
64913 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },68969 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -64917,7 +68973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64917,7 +68973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64917 }, .{68973 }, .{
64918 .required_features = .{ .avx, .slow_incdec, null, null },68974 .required_features = .{ .avx, .slow_incdec, null, null },
64919 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },68975 .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 },
64921 .patterns = &.{68977 .patterns = &.{
64922 .{ .src = .{ .to_mem, .none, .none } },68978 .{ .src = .{ .to_mem, .none, .none } },
64923 },68979 },
...@@ -64933,7 +68989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64933,7 +68989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64933 .unused,68989 .unused,
64934 .unused,68990 .unused,
64935 },68991 },
64936 .dst_temps = .{.mem},68992 .dst_temps = .{ .mem, .unused },
64937 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },68993 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64938 .each = .{ .once = &.{68994 .each = .{ .once = &.{
64939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },68995 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64948,7 +69004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64948,7 +69004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64948 }, .{69004 }, .{
64949 .required_features = .{ .avx, null, null, null },69005 .required_features = .{ .avx, null, null, null },
64950 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },69006 .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 },
64952 .patterns = &.{69008 .patterns = &.{
64953 .{ .src = .{ .to_mem, .none, .none } },69009 .{ .src = .{ .to_mem, .none, .none } },
64954 },69010 },
...@@ -64964,7 +69020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64964,7 +69020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64964 .unused,69020 .unused,
64965 .unused,69021 .unused,
64966 },69022 },
64967 .dst_temps = .{.mem},69023 .dst_temps = .{ .mem, .unused },
64968 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69024 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
64969 .each = .{ .once = &.{69025 .each = .{ .once = &.{
64970 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69026 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -64979,7 +69035,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64979,7 +69035,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64979 }, .{69035 }, .{
64980 .required_features = .{ .sse2, .slow_incdec, null, null },69036 .required_features = .{ .sse2, .slow_incdec, null, null },
64981 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },69037 .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 },
64983 .patterns = &.{69039 .patterns = &.{
64984 .{ .src = .{ .to_mem, .none, .none } },69040 .{ .src = .{ .to_mem, .none, .none } },
64985 },69041 },
...@@ -64995,7 +69051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -64995,7 +69051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
64995 .unused,69051 .unused,
64996 .unused,69052 .unused,
64997 },69053 },
64998 .dst_temps = .{.mem},69054 .dst_temps = .{ .mem, .unused },
64999 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69055 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65000 .each = .{ .once = &.{69056 .each = .{ .once = &.{
65001 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69057 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65010,7 +69066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65010,7 +69066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65010 }, .{69066 }, .{
65011 .required_features = .{ .sse2, null, null, null },69067 .required_features = .{ .sse2, null, null, null },
65012 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },69068 .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 },
65014 .patterns = &.{69070 .patterns = &.{
65015 .{ .src = .{ .to_mem, .none, .none } },69071 .{ .src = .{ .to_mem, .none, .none } },
65016 },69072 },
...@@ -65026,7 +69082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65026,7 +69082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65026 .unused,69082 .unused,
65027 .unused,69083 .unused,
65028 },69084 },
65029 .dst_temps = .{.mem},69085 .dst_temps = .{ .mem, .unused },
65030 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65031 .each = .{ .once = &.{69087 .each = .{ .once = &.{
65032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65041,7 +69097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65041,7 +69097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65041 }, .{69097 }, .{
65042 .required_features = .{ .sse, .slow_incdec, null, null },69098 .required_features = .{ .sse, .slow_incdec, null, null },
65043 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },69099 .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 },
65045 .patterns = &.{69101 .patterns = &.{
65046 .{ .src = .{ .to_mem, .none, .none } },69102 .{ .src = .{ .to_mem, .none, .none } },
65047 },69103 },
...@@ -65057,7 +69113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65057,7 +69113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65057 .unused,69113 .unused,
65058 .unused,69114 .unused,
65059 },69115 },
65060 .dst_temps = .{.mem},69116 .dst_temps = .{ .mem, .unused },
65061 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69117 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65062 .each = .{ .once = &.{69118 .each = .{ .once = &.{
65063 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69119 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65072,7 +69128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65072,7 +69128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65072 }, .{69128 }, .{
65073 .required_features = .{ .sse, null, null, null },69129 .required_features = .{ .sse, null, null, null },
65074 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },69130 .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 },
65076 .patterns = &.{69132 .patterns = &.{
65077 .{ .src = .{ .to_mem, .none, .none } },69133 .{ .src = .{ .to_mem, .none, .none } },
65078 },69134 },
...@@ -65088,7 +69144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65088,7 +69144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65088 .unused,69144 .unused,
65089 .unused,69145 .unused,
65090 },69146 },
65091 .dst_temps = .{.mem},69147 .dst_temps = .{ .mem, .unused },
65092 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69148 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65093 .each = .{ .once = &.{69149 .each = .{ .once = &.{
65094 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69150 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65103,7 +69159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65103,7 +69159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65103 }, .{69159 }, .{
65104 .required_features = .{ .avx, .slow_incdec, null, null },69160 .required_features = .{ .avx, .slow_incdec, null, null },
65105 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },69161 .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 },
65107 .patterns = &.{69163 .patterns = &.{
65108 .{ .src = .{ .to_mem, .none, .none } },69164 .{ .src = .{ .to_mem, .none, .none } },
65109 },69165 },
...@@ -65119,7 +69175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65119,7 +69175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65119 .unused,69175 .unused,
65120 .unused,69176 .unused,
65121 },69177 },
65122 .dst_temps = .{.mem},69178 .dst_temps = .{ .mem, .unused },
65123 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69179 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65124 .each = .{ .once = &.{69180 .each = .{ .once = &.{
65125 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69181 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65134,7 +69190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65134,7 +69190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65134 }, .{69190 }, .{
65135 .required_features = .{ .avx, null, null, null },69191 .required_features = .{ .avx, null, null, null },
65136 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },69192 .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 },
65138 .patterns = &.{69194 .patterns = &.{
65139 .{ .src = .{ .to_mem, .none, .none } },69195 .{ .src = .{ .to_mem, .none, .none } },
65140 },69196 },
...@@ -65150,7 +69206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65150,7 +69206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65150 .unused,69206 .unused,
65151 .unused,69207 .unused,
65152 },69208 },
65153 .dst_temps = .{.mem},69209 .dst_temps = .{ .mem, .unused },
65154 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69210 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65155 .each = .{ .once = &.{69211 .each = .{ .once = &.{
65156 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69212 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65165,7 +69221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65165,7 +69221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65165 }, .{69221 }, .{
65166 .required_features = .{ .sse2, .slow_incdec, null, null },69222 .required_features = .{ .sse2, .slow_incdec, null, null },
65167 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },69223 .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 },
65169 .patterns = &.{69225 .patterns = &.{
65170 .{ .src = .{ .to_mem, .none, .none } },69226 .{ .src = .{ .to_mem, .none, .none } },
65171 },69227 },
...@@ -65181,7 +69237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65181,7 +69237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65181 .unused,69237 .unused,
65182 .unused,69238 .unused,
65183 },69239 },
65184 .dst_temps = .{.mem},69240 .dst_temps = .{ .mem, .unused },
65185 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69241 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65186 .each = .{ .once = &.{69242 .each = .{ .once = &.{
65187 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69243 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65196,7 +69252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65196,7 +69252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65196 }, .{69252 }, .{
65197 .required_features = .{ .sse2, null, null, null },69253 .required_features = .{ .sse2, null, null, null },
65198 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },69254 .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 },
65200 .patterns = &.{69256 .patterns = &.{
65201 .{ .src = .{ .to_mem, .none, .none } },69257 .{ .src = .{ .to_mem, .none, .none } },
65202 },69258 },
...@@ -65212,7 +69268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65212,7 +69268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65212 .unused,69268 .unused,
65213 .unused,69269 .unused,
65214 },69270 },
65215 .dst_temps = .{.mem},69271 .dst_temps = .{ .mem, .unused },
65216 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69272 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65217 .each = .{ .once = &.{69273 .each = .{ .once = &.{
65218 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69274 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65227,7 +69283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65227,7 +69283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65227 }, .{69283 }, .{
65228 .required_features = .{ .sse, .slow_incdec, null, null },69284 .required_features = .{ .sse, .slow_incdec, null, null },
65229 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },69285 .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 },
65231 .patterns = &.{69287 .patterns = &.{
65232 .{ .src = .{ .to_mem, .none, .none } },69288 .{ .src = .{ .to_mem, .none, .none } },
65233 },69289 },
...@@ -65243,7 +69299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65243,7 +69299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65243 .unused,69299 .unused,
65244 .unused,69300 .unused,
65245 },69301 },
65246 .dst_temps = .{.mem},69302 .dst_temps = .{ .mem, .unused },
65247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69303 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65248 .each = .{ .once = &.{69304 .each = .{ .once = &.{
65249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65258,7 +69314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65258,7 +69314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65258 }, .{69314 }, .{
65259 .required_features = .{ .sse, null, null, null },69315 .required_features = .{ .sse, null, null, null },
65260 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },69316 .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 },
65262 .patterns = &.{69318 .patterns = &.{
65263 .{ .src = .{ .to_mem, .none, .none } },69319 .{ .src = .{ .to_mem, .none, .none } },
65264 },69320 },
...@@ -65274,7 +69330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65274,7 +69330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65274 .unused,69330 .unused,
65275 .unused,69331 .unused,
65276 },69332 },
65277 .dst_temps = .{.mem},69333 .dst_temps = .{ .mem, .unused },
65278 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69334 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65279 .each = .{ .once = &.{69335 .each = .{ .once = &.{
65280 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69336 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65289,7 +69345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65289,7 +69345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65289 }, .{69345 }, .{
65290 .required_features = .{ .avx, null, null, null },69346 .required_features = .{ .avx, null, null, null },
65291 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },69347 .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 },
65293 .patterns = &.{69349 .patterns = &.{
65294 .{ .src = .{ .to_mem, .none, .none } },69350 .{ .src = .{ .to_mem, .none, .none } },
65295 },69351 },
...@@ -65305,7 +69361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65305,7 +69361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65305 .unused,69361 .unused,
65306 .unused,69362 .unused,
65307 },69363 },
65308 .dst_temps = .{.mem},69364 .dst_temps = .{ .mem, .unused },
65309 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69365 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65310 .each = .{ .once = &.{69366 .each = .{ .once = &.{
65311 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69367 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65318,7 +69374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65318,7 +69374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65318 }, .{69374 }, .{
65319 .required_features = .{ .sse2, null, null, null },69375 .required_features = .{ .sse2, null, null, null },
65320 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },69376 .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 },
65322 .patterns = &.{69378 .patterns = &.{
65323 .{ .src = .{ .to_mem, .none, .none } },69379 .{ .src = .{ .to_mem, .none, .none } },
65324 },69380 },
...@@ -65334,7 +69390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65334,7 +69390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65334 .unused,69390 .unused,
65335 .unused,69391 .unused,
65336 },69392 },
65337 .dst_temps = .{.mem},69393 .dst_temps = .{ .mem, .unused },
65338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69394 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65339 .each = .{ .once = &.{69395 .each = .{ .once = &.{
65340 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69396 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65347,7 +69403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65347,7 +69403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65347 }, .{69403 }, .{
65348 .required_features = .{ .sse, null, null, null },69404 .required_features = .{ .sse, null, null, null },
65349 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },69405 .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 },
65351 .patterns = &.{69407 .patterns = &.{
65352 .{ .src = .{ .to_mem, .none, .none } },69408 .{ .src = .{ .to_mem, .none, .none } },
65353 },69409 },
...@@ -65363,7 +69419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65363,7 +69419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65363 .unused,69419 .unused,
65364 .unused,69420 .unused,
65365 },69421 },
65366 .dst_temps = .{.mem},69422 .dst_temps = .{ .mem, .unused },
65367 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69423 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65368 .each = .{ .once = &.{69424 .each = .{ .once = &.{
65369 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69425 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65376,7 +69432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65376,7 +69432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65376 }, .{69432 }, .{
65377 .required_features = .{ .avx, null, null, null },69433 .required_features = .{ .avx, null, null, null },
65378 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },69434 .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 },
65380 .patterns = &.{69436 .patterns = &.{
65381 .{ .src = .{ .to_mem, .none, .none } },69437 .{ .src = .{ .to_mem, .none, .none } },
65382 },69438 },
...@@ -65392,7 +69448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65392,7 +69448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65392 .unused,69448 .unused,
65393 .unused,69449 .unused,
65394 },69450 },
65395 .dst_temps = .{.mem},69451 .dst_temps = .{ .mem, .unused },
65396 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69452 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65397 .each = .{ .once = &.{69453 .each = .{ .once = &.{
65398 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69454 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65405,7 +69461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65405,7 +69461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65405 }, .{69461 }, .{
65406 .required_features = .{ .sse2, null, null, null },69462 .required_features = .{ .sse2, null, null, null },
65407 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },69463 .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 },
65409 .patterns = &.{69465 .patterns = &.{
65410 .{ .src = .{ .to_mem, .none, .none } },69466 .{ .src = .{ .to_mem, .none, .none } },
65411 },69467 },
...@@ -65421,7 +69477,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65421,7 +69477,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65421 .unused,69477 .unused,
65422 .unused,69478 .unused,
65423 },69479 },
65424 .dst_temps = .{.mem},69480 .dst_temps = .{ .mem, .unused },
65425 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69481 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65426 .each = .{ .once = &.{69482 .each = .{ .once = &.{
65427 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69483 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65434,7 +69490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65434,7 +69490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65434 }, .{69490 }, .{
65435 .required_features = .{ .sse, null, null, null },69491 .required_features = .{ .sse, null, null, null },
65436 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },69492 .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 },
65438 .patterns = &.{69494 .patterns = &.{
65439 .{ .src = .{ .to_mem, .none, .none } },69495 .{ .src = .{ .to_mem, .none, .none } },
65440 },69496 },
...@@ -65450,7 +69506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65450,7 +69506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65450 .unused,69506 .unused,
65451 .unused,69507 .unused,
65452 },69508 },
65453 .dst_temps = .{.mem},69509 .dst_temps = .{ .mem, .unused },
65454 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69510 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65455 .each = .{ .once = &.{69511 .each = .{ .once = &.{
65456 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69512 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65463,7 +69519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65463,7 +69519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65463 }, .{69519 }, .{
65464 .required_features = .{ .avx, null, null, null },69520 .required_features = .{ .avx, null, null, null },
65465 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },69521 .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 },
65467 .patterns = &.{69523 .patterns = &.{
65468 .{ .src = .{ .to_mem, .none, .none } },69524 .{ .src = .{ .to_mem, .none, .none } },
65469 },69525 },
...@@ -65479,7 +69535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65479,7 +69535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65479 .unused,69535 .unused,
65480 .unused,69536 .unused,
65481 },69537 },
65482 .dst_temps = .{.mem},69538 .dst_temps = .{ .mem, .unused },
65483 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69539 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65484 .each = .{ .once = &.{69540 .each = .{ .once = &.{
65485 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65492,7 +69548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65492,7 +69548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65492 }, .{69548 }, .{
65493 .required_features = .{ .sse2, null, null, null },69549 .required_features = .{ .sse2, null, null, null },
65494 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },69550 .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 },
65496 .patterns = &.{69552 .patterns = &.{
65497 .{ .src = .{ .to_mem, .none, .none } },69553 .{ .src = .{ .to_mem, .none, .none } },
65498 },69554 },
...@@ -65508,7 +69564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65508,7 +69564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65508 .unused,69564 .unused,
65509 .unused,69565 .unused,
65510 },69566 },
65511 .dst_temps = .{.mem},69567 .dst_temps = .{ .mem, .unused },
65512 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69568 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65513 .each = .{ .once = &.{69569 .each = .{ .once = &.{
65514 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65521,7 +69577,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65521,7 +69577,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65521 }, .{69577 }, .{
65522 .required_features = .{ .sse, null, null, null },69578 .required_features = .{ .sse, null, null, null },
65523 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },69579 .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 },
65525 .patterns = &.{69581 .patterns = &.{
65526 .{ .src = .{ .to_mem, .none, .none } },69582 .{ .src = .{ .to_mem, .none, .none } },
65527 },69583 },
...@@ -65537,7 +69593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65537,7 +69593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65537 .unused,69593 .unused,
65538 .unused,69594 .unused,
65539 },69595 },
65540 .dst_temps = .{.mem},69596 .dst_temps = .{ .mem, .unused },
65541 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69597 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65542 .each = .{ .once = &.{69598 .each = .{ .once = &.{
65543 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69599 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65550,7 +69606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65550,7 +69606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65550 }, .{69606 }, .{
65551 .required_features = .{ .avx, null, null, null },69607 .required_features = .{ .avx, null, null, null },
65552 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },69608 .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 },
65554 .patterns = &.{69610 .patterns = &.{
65555 .{ .src = .{ .to_mem, .none, .none } },69611 .{ .src = .{ .to_mem, .none, .none } },
65556 },69612 },
...@@ -65566,7 +69622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65566,7 +69622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65566 .unused,69622 .unused,
65567 .unused,69623 .unused,
65568 },69624 },
65569 .dst_temps = .{.mem},69625 .dst_temps = .{ .mem, .unused },
65570 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69626 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65571 .each = .{ .once = &.{69627 .each = .{ .once = &.{
65572 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69628 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65579,7 +69635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65579,7 +69635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65579 }, .{69635 }, .{
65580 .required_features = .{ .sse2, null, null, null },69636 .required_features = .{ .sse2, null, null, null },
65581 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },69637 .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 },
65583 .patterns = &.{69639 .patterns = &.{
65584 .{ .src = .{ .to_mem, .none, .none } },69640 .{ .src = .{ .to_mem, .none, .none } },
65585 },69641 },
...@@ -65595,7 +69651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65595,7 +69651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65595 .unused,69651 .unused,
65596 .unused,69652 .unused,
65597 },69653 },
65598 .dst_temps = .{.mem},69654 .dst_temps = .{ .mem, .unused },
65599 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69655 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65600 .each = .{ .once = &.{69656 .each = .{ .once = &.{
65601 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69657 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65608,7 +69664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65608,7 +69664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65608 }, .{69664 }, .{
65609 .required_features = .{ .sse, null, null, null },69665 .required_features = .{ .sse, null, null, null },
65610 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },69666 .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 },
65612 .patterns = &.{69668 .patterns = &.{
65613 .{ .src = .{ .to_mem, .none, .none } },69669 .{ .src = .{ .to_mem, .none, .none } },
65614 },69670 },
...@@ -65624,7 +69680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65624,7 +69680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65624 .unused,69680 .unused,
65625 .unused,69681 .unused,
65626 },69682 },
65627 .dst_temps = .{.mem},69683 .dst_temps = .{ .mem, .unused },
65628 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65629 .each = .{ .once = &.{69685 .each = .{ .once = &.{
65630 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69686 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65637,7 +69693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65637,7 +69693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65637 }, .{69693 }, .{
65638 .required_features = .{ .@"64bit", .avx, null, null },69694 .required_features = .{ .@"64bit", .avx, null, null },
65639 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },69695 .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 },
65641 .patterns = &.{69697 .patterns = &.{
65642 .{ .src = .{ .to_mem, .none, .none } },69698 .{ .src = .{ .to_mem, .none, .none } },
65643 },69699 },
...@@ -65653,7 +69709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65653,7 +69709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65653 .unused,69709 .unused,
65654 .unused,69710 .unused,
65655 },69711 },
65656 .dst_temps = .{.mem},69712 .dst_temps = .{ .mem, .unused },
65657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69713 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65658 .each = .{ .once = &.{69714 .each = .{ .once = &.{
65659 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69715 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65666,7 +69722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65666,7 +69722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65666 }, .{69722 }, .{
65667 .required_features = .{ .@"64bit", .sse2, null, null },69723 .required_features = .{ .@"64bit", .sse2, null, null },
65668 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },69724 .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 },
65670 .patterns = &.{69726 .patterns = &.{
65671 .{ .src = .{ .to_mem, .none, .none } },69727 .{ .src = .{ .to_mem, .none, .none } },
65672 },69728 },
...@@ -65682,7 +69738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65682,7 +69738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65682 .unused,69738 .unused,
65683 .unused,69739 .unused,
65684 },69740 },
65685 .dst_temps = .{.mem},69741 .dst_temps = .{ .mem, .unused },
65686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65687 .each = .{ .once = &.{69743 .each = .{ .once = &.{
65688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69744 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65695,7 +69751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65695,7 +69751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65695 }, .{69751 }, .{
65696 .required_features = .{ .@"64bit", .sse, null, null },69752 .required_features = .{ .@"64bit", .sse, null, null },
65697 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },69753 .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 },
65699 .patterns = &.{69755 .patterns = &.{
65700 .{ .src = .{ .to_mem, .none, .none } },69756 .{ .src = .{ .to_mem, .none, .none } },
65701 },69757 },
...@@ -65711,7 +69767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65711,7 +69767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65711 .unused,69767 .unused,
65712 .unused,69768 .unused,
65713 },69769 },
65714 .dst_temps = .{.mem},69770 .dst_temps = .{ .mem, .unused },
65715 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69771 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65716 .each = .{ .once = &.{69772 .each = .{ .once = &.{
65717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69773 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65724,7 +69780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65724,7 +69780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65724 }, .{69780 }, .{
65725 .required_features = .{ .@"64bit", .avx, null, null },69781 .required_features = .{ .@"64bit", .avx, null, null },
65726 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },69782 .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 },
65728 .patterns = &.{69784 .patterns = &.{
65729 .{ .src = .{ .to_mem, .none, .none } },69785 .{ .src = .{ .to_mem, .none, .none } },
65730 },69786 },
...@@ -65740,7 +69796,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65740,7 +69796,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65740 .unused,69796 .unused,
65741 .unused,69797 .unused,
65742 },69798 },
65743 .dst_temps = .{.mem},69799 .dst_temps = .{ .mem, .unused },
65744 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69800 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65745 .each = .{ .once = &.{69801 .each = .{ .once = &.{
65746 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69802 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65753,7 +69809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65753,7 +69809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65753 }, .{69809 }, .{
65754 .required_features = .{ .@"64bit", .sse2, null, null },69810 .required_features = .{ .@"64bit", .sse2, null, null },
65755 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },69811 .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 },
65757 .patterns = &.{69813 .patterns = &.{
65758 .{ .src = .{ .to_mem, .none, .none } },69814 .{ .src = .{ .to_mem, .none, .none } },
65759 },69815 },
...@@ -65769,7 +69825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65769,7 +69825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65769 .unused,69825 .unused,
65770 .unused,69826 .unused,
65771 },69827 },
65772 .dst_temps = .{.mem},69828 .dst_temps = .{ .mem, .unused },
65773 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65774 .each = .{ .once = &.{69830 .each = .{ .once = &.{
65775 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69831 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65782,7 +69838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65782,7 +69838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65782 }, .{69838 }, .{
65783 .required_features = .{ .@"64bit", .sse, null, null },69839 .required_features = .{ .@"64bit", .sse, null, null },
65784 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },69840 .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 },
65786 .patterns = &.{69842 .patterns = &.{
65787 .{ .src = .{ .to_mem, .none, .none } },69843 .{ .src = .{ .to_mem, .none, .none } },
65788 },69844 },
...@@ -65798,7 +69854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65798,7 +69854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65798 .unused,69854 .unused,
65799 .unused,69855 .unused,
65800 },69856 },
65801 .dst_temps = .{.mem},69857 .dst_temps = .{ .mem, .unused },
65802 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65803 .each = .{ .once = &.{69859 .each = .{ .once = &.{
65804 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65811,7 +69867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65811,7 +69867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65811 }, .{69867 }, .{
65812 .required_features = .{ .@"64bit", .avx, null, null },69868 .required_features = .{ .@"64bit", .avx, null, null },
65813 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },69869 .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 },
65815 .patterns = &.{69871 .patterns = &.{
65816 .{ .src = .{ .to_mem, .none, .none } },69872 .{ .src = .{ .to_mem, .none, .none } },
65817 },69873 },
...@@ -65827,7 +69883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65827,7 +69883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65827 .unused,69883 .unused,
65828 .unused,69884 .unused,
65829 },69885 },
65830 .dst_temps = .{.mem},69886 .dst_temps = .{ .mem, .unused },
65831 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69887 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65832 .each = .{ .once = &.{69888 .each = .{ .once = &.{
65833 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69889 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65841,7 +69897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65841,7 +69897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65841 }, .{69897 }, .{
65842 .required_features = .{ .@"64bit", .sse2, null, null },69898 .required_features = .{ .@"64bit", .sse2, null, null },
65843 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },69899 .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 },
65845 .patterns = &.{69901 .patterns = &.{
65846 .{ .src = .{ .to_mem, .none, .none } },69902 .{ .src = .{ .to_mem, .none, .none } },
65847 },69903 },
...@@ -65857,7 +69913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65857,7 +69913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65857 .unused,69913 .unused,
65858 .unused,69914 .unused,
65859 },69915 },
65860 .dst_temps = .{.mem},69916 .dst_temps = .{ .mem, .unused },
65861 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65862 .each = .{ .once = &.{69918 .each = .{ .once = &.{
65863 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69919 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65871,7 +69927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65871,7 +69927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65871 }, .{69927 }, .{
65872 .required_features = .{ .@"64bit", .sse, null, null },69928 .required_features = .{ .@"64bit", .sse, null, null },
65873 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },69929 .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 },
65875 .patterns = &.{69931 .patterns = &.{
65876 .{ .src = .{ .to_mem, .none, .none } },69932 .{ .src = .{ .to_mem, .none, .none } },
65877 },69933 },
...@@ -65887,7 +69943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65887,7 +69943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65887 .unused,69943 .unused,
65888 .unused,69944 .unused,
65889 },69945 },
65890 .dst_temps = .{.mem},69946 .dst_temps = .{ .mem, .unused },
65891 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69947 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65892 .each = .{ .once = &.{69948 .each = .{ .once = &.{
65893 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69949 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65901,7 +69957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65901,7 +69957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65901 }, .{69957 }, .{
65902 .required_features = .{ .@"64bit", .avx, null, null },69958 .required_features = .{ .@"64bit", .avx, null, null },
65903 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },69959 .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 },
65905 .patterns = &.{69961 .patterns = &.{
65906 .{ .src = .{ .to_mem, .none, .none } },69962 .{ .src = .{ .to_mem, .none, .none } },
65907 },69963 },
...@@ -65917,7 +69973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65917,7 +69973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65917 .unused,69973 .unused,
65918 .unused,69974 .unused,
65919 },69975 },
65920 .dst_temps = .{.mem},69976 .dst_temps = .{ .mem, .unused },
65921 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },69977 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65922 .each = .{ .once = &.{69978 .each = .{ .once = &.{
65923 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },69979 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65931,7 +69987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65931,7 +69987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65931 }, .{69987 }, .{
65932 .required_features = .{ .@"64bit", .sse2, null, null },69988 .required_features = .{ .@"64bit", .sse2, null, null },
65933 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },69989 .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 },
65935 .patterns = &.{69991 .patterns = &.{
65936 .{ .src = .{ .to_mem, .none, .none } },69992 .{ .src = .{ .to_mem, .none, .none } },
65937 },69993 },
...@@ -65947,7 +70003,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65947,7 +70003,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65947 .unused,70003 .unused,
65948 .unused,70004 .unused,
65949 },70005 },
65950 .dst_temps = .{.mem},70006 .dst_temps = .{ .mem, .unused },
65951 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70007 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65952 .each = .{ .once = &.{70008 .each = .{ .once = &.{
65953 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70009 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65961,7 +70017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65961,7 +70017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65961 }, .{70017 }, .{
65962 .required_features = .{ .@"64bit", .sse, null, null },70018 .required_features = .{ .@"64bit", .sse, null, null },
65963 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },70019 .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 },
65965 .patterns = &.{70021 .patterns = &.{
65966 .{ .src = .{ .to_mem, .none, .none } },70022 .{ .src = .{ .to_mem, .none, .none } },
65967 },70023 },
...@@ -65977,7 +70033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65977,7 +70033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65977 .unused,70033 .unused,
65978 .unused,70034 .unused,
65979 },70035 },
65980 .dst_temps = .{.mem},70036 .dst_temps = .{ .mem, .unused },
65981 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70037 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
65982 .each = .{ .once = &.{70038 .each = .{ .once = &.{
65983 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70039 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -65991,7 +70047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -65991,7 +70047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
65991 }, .{70047 }, .{
65992 .required_features = .{ .@"64bit", .avx, null, null },70048 .required_features = .{ .@"64bit", .avx, null, null },
65993 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },70049 .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 },
65995 .patterns = &.{70051 .patterns = &.{
65996 .{ .src = .{ .to_mem, .none, .none } },70052 .{ .src = .{ .to_mem, .none, .none } },
65997 },70053 },
...@@ -66007,7 +70063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66007,7 +70063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66007 .unused,70063 .unused,
66008 .unused,70064 .unused,
66009 },70065 },
66010 .dst_temps = .{.mem},70066 .dst_temps = .{ .mem, .unused },
66011 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70067 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66012 .each = .{ .once = &.{70068 .each = .{ .once = &.{
66013 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },70069 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -66023,7 +70079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66023,7 +70079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66023 }, .{70079 }, .{
66024 .required_features = .{ .@"64bit", .sse2, null, null },70080 .required_features = .{ .@"64bit", .sse2, null, null },
66025 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },70081 .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 },
66027 .patterns = &.{70083 .patterns = &.{
66028 .{ .src = .{ .to_mem, .none, .none } },70084 .{ .src = .{ .to_mem, .none, .none } },
66029 },70085 },
...@@ -66039,7 +70095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66039,7 +70095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66039 .unused,70095 .unused,
66040 .unused,70096 .unused,
66041 },70097 },
66042 .dst_temps = .{.mem},70098 .dst_temps = .{ .mem, .unused },
66043 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70099 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66044 .each = .{ .once = &.{70100 .each = .{ .once = &.{
66045 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },70101 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -66055,7 +70111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66055,7 +70111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66055 }, .{70111 }, .{
66056 .required_features = .{ .@"64bit", .sse, null, null },70112 .required_features = .{ .@"64bit", .sse, null, null },
66057 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },70113 .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 },
66059 .patterns = &.{70115 .patterns = &.{
66060 .{ .src = .{ .to_mem, .none, .none } },70116 .{ .src = .{ .to_mem, .none, .none } },
66061 },70117 },
...@@ -66071,7 +70127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66071,7 +70127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66071 .unused,70127 .unused,
66072 .unused,70128 .unused,
66073 },70129 },
66074 .dst_temps = .{.mem},70130 .dst_temps = .{ .mem, .unused },
66075 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70131 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66076 .each = .{ .once = &.{70132 .each = .{ .once = &.{
66077 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },70133 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -66087,7 +70143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66087,7 +70143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66087 }, .{70143 }, .{
66088 .required_features = .{ .@"64bit", .avx, null, null },70144 .required_features = .{ .@"64bit", .avx, null, null },
66089 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },70145 .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 },
66091 .patterns = &.{70147 .patterns = &.{
66092 .{ .src = .{ .to_mem, .none, .none } },70148 .{ .src = .{ .to_mem, .none, .none } },
66093 },70149 },
...@@ -66103,7 +70159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66103,7 +70159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66103 .unused,70159 .unused,
66104 .unused,70160 .unused,
66105 },70161 },
66106 .dst_temps = .{.mem},70162 .dst_temps = .{ .mem, .unused },
66107 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70163 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66108 .each = .{ .once = &.{70164 .each = .{ .once = &.{
66109 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },70165 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -66119,7 +70175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66119,7 +70175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66119 }, .{70175 }, .{
66120 .required_features = .{ .@"64bit", .sse2, null, null },70176 .required_features = .{ .@"64bit", .sse2, null, null },
66121 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },70177 .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 },
66123 .patterns = &.{70179 .patterns = &.{
66124 .{ .src = .{ .to_mem, .none, .none } },70180 .{ .src = .{ .to_mem, .none, .none } },
66125 },70181 },
...@@ -66135,7 +70191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66135,7 +70191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66135 .unused,70191 .unused,
66136 .unused,70192 .unused,
66137 },70193 },
66138 .dst_temps = .{.mem},70194 .dst_temps = .{ .mem, .unused },
66139 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70195 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66140 .each = .{ .once = &.{70196 .each = .{ .once = &.{
66141 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },70197 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -66151,7 +70207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66151,7 +70207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66151 }, .{70207 }, .{
66152 .required_features = .{ .@"64bit", .sse, null, null },70208 .required_features = .{ .@"64bit", .sse, null, null },
66153 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },70209 .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 },
66155 .patterns = &.{70211 .patterns = &.{
66156 .{ .src = .{ .to_mem, .none, .none } },70212 .{ .src = .{ .to_mem, .none, .none } },
66157 },70213 },
...@@ -66167,7 +70223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66167,7 +70223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66167 .unused,70223 .unused,
66168 .unused,70224 .unused,
66169 },70225 },
66170 .dst_temps = .{.mem},70226 .dst_temps = .{ .mem, .unused },
66171 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70227 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66172 .each = .{ .once = &.{70228 .each = .{ .once = &.{
66173 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },70229 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
...@@ -66191,7 +70247,373 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66191,7 +70247,373 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66191 };70247 };
66192 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);70248 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
66193 },70249 },
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 },
66195 .union_init => if (use_old) try cg.airUnionInit(inst) else {70617 .union_init => if (use_old) try cg.airUnionInit(inst) else {
66196 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;70618 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;
66197 const extra = cg.air.extraData(Air.UnionInit, ty_pl.payload).data;70619 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 {...@@ -66240,7 +70662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66240 .unused,70662 .unused,
66241 .unused,70663 .unused,
66242 },70664 },
66243 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},70665 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
66244 .each = .{ .once = &.{70666 .each = .{ .once = &.{
66245 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },70667 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
66246 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },70668 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -66270,7 +70692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66270,7 +70692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66270 .unused,70692 .unused,
66271 .unused,70693 .unused,
66272 },70694 },
66273 .dst_temps = .{.{ .ref = .src0 }},70695 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66274 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70696 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66275 .each = .{ .once = &.{70697 .each = .{ .once = &.{
66276 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },70698 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -66303,7 +70725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66303,7 +70725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66303 .unused,70725 .unused,
66304 .unused,70726 .unused,
66305 },70727 },
66306 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},70728 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
66307 .each = .{ .once = &.{70729 .each = .{ .once = &.{
66308 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },70730 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
66309 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },70731 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
...@@ -66339,7 +70761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66339,7 +70761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66339 .unused,70761 .unused,
66340 .unused,70762 .unused,
66341 },70763 },
66342 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},70764 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
66343 .each = .{ .once = &.{70765 .each = .{ .once = &.{
66344 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },70766 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
66345 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },70767 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
...@@ -66368,7 +70790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66368,7 +70790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66368 .unused,70790 .unused,
66369 .unused,70791 .unused,
66370 },70792 },
66371 .dst_temps = .{.mem},70793 .dst_temps = .{ .mem, .unused },
66372 .each = .{ .once = &.{70794 .each = .{ .once = &.{
66373 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70795 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
66374 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },70796 .{ .@"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 {...@@ -66401,7 +70823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66401 .unused,70823 .unused,
66402 .unused,70824 .unused,
66403 },70825 },
66404 .dst_temps = .{.mem},70826 .dst_temps = .{ .mem, .unused },
66405 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70827 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66406 .each = .{ .once = &.{70828 .each = .{ .once = &.{
66407 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70829 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -66436,7 +70858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66436,7 +70858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66436 .unused,70858 .unused,
66437 .unused,70859 .unused,
66438 },70860 },
66439 .dst_temps = .{.mem},70861 .dst_temps = .{ .mem, .unused },
66440 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70862 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66441 .each = .{ .once = &.{70863 .each = .{ .once = &.{
66442 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70864 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -66473,7 +70895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66473,7 +70895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66473 .unused,70895 .unused,
66474 .unused,70896 .unused,
66475 },70897 },
66476 .dst_temps = .{.mem},70898 .dst_temps = .{ .mem, .unused },
66477 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70899 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66478 .each = .{ .once = &.{70900 .each = .{ .once = &.{
66479 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70901 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -66511,7 +70933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66511,7 +70933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66511 .unused,70933 .unused,
66512 .unused,70934 .unused,
66513 },70935 },
66514 .dst_temps = .{.mem},70936 .dst_temps = .{ .mem, .unused },
66515 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },70937 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66516 .each = .{ .once = &.{70938 .each = .{ .once = &.{
66517 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },70939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -66544,7 +70966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66544,7 +70966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66544 .{ .src = .{ .mut_sse, .sse, .sse } },70966 .{ .src = .{ .mut_sse, .sse, .sse } },
66545 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },70967 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66546 },70968 },
66547 .dst_temps = .{.{ .ref = .src0 }},70969 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66548 .each = .{ .once = &.{70970 .each = .{ .once = &.{
66549 .{ ._, .v_ss, .fmadd132, .dst0x, .src2x, .src1d, ._ },70971 .{ ._, .v_ss, .fmadd132, .dst0x, .src2x, .src1d, ._ },
66550 } },70972 } },
...@@ -66561,7 +70983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66561,7 +70983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66561 .{ .src = .{ .mut_sse, .sse, .sse } },70983 .{ .src = .{ .mut_sse, .sse, .sse } },
66562 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },70984 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66563 },70985 },
66564 .dst_temps = .{.{ .ref = .src0 }},70986 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66565 .each = .{ .once = &.{70987 .each = .{ .once = &.{
66566 .{ ._, .v_ss, .fmadd213, .dst0x, .src1x, .src2d, ._ },70988 .{ ._, .v_ss, .fmadd213, .dst0x, .src1x, .src2d, ._ },
66567 } },70989 } },
...@@ -66577,7 +70999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66577,7 +70999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66577 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },70999 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
66578 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },71000 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
66579 },71001 },
66580 .dst_temps = .{.{ .ref = .src2 }},71002 .dst_temps = .{ .{ .ref = .src2 }, .unused },
66581 .each = .{ .once = &.{71003 .each = .{ .once = &.{
66582 .{ ._, .v_ss, .fmadd231, .dst0x, .src0x, .src1d, ._ },71004 .{ ._, .v_ss, .fmadd231, .dst0x, .src0x, .src1d, ._ },
66583 } },71005 } },
...@@ -66603,7 +71025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66603,7 +71025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66603 .unused,71025 .unused,
66604 .unused,71026 .unused,
66605 },71027 },
66606 .dst_temps = .{.{ .ref = .src0 }},71028 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66607 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71029 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66608 .each = .{ .once = &.{71030 .each = .{ .once = &.{
66609 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },71031 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -66621,7 +71043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66621,7 +71043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66621 .{ .src = .{ .mut_sse, .sse, .sse } },71043 .{ .src = .{ .mut_sse, .sse, .sse } },
66622 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71044 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66623 },71045 },
66624 .dst_temps = .{.{ .ref = .src0 }},71046 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66625 .each = .{ .once = &.{71047 .each = .{ .once = &.{
66626 .{ ._, .v_ps, .fmadd132, .dst0x, .src2x, .src1x, ._ },71048 .{ ._, .v_ps, .fmadd132, .dst0x, .src2x, .src1x, ._ },
66627 } },71049 } },
...@@ -66638,7 +71060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66638,7 +71060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66638 .{ .src = .{ .mut_sse, .sse, .sse } },71060 .{ .src = .{ .mut_sse, .sse, .sse } },
66639 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71061 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66640 },71062 },
66641 .dst_temps = .{.{ .ref = .src0 }},71063 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66642 .each = .{ .once = &.{71064 .each = .{ .once = &.{
66643 .{ ._, .v_ps, .fmadd213, .dst0x, .src1x, .src2x, ._ },71065 .{ ._, .v_ps, .fmadd213, .dst0x, .src1x, .src2x, ._ },
66644 } },71066 } },
...@@ -66654,7 +71076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66654,7 +71076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66654 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },71076 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
66655 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },71077 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
66656 },71078 },
66657 .dst_temps = .{.{ .ref = .src2 }},71079 .dst_temps = .{ .{ .ref = .src2 }, .unused },
66658 .each = .{ .once = &.{71080 .each = .{ .once = &.{
66659 .{ ._, .v_ps, .fmadd231, .dst0x, .src0x, .src1x, ._ },71081 .{ ._, .v_ps, .fmadd231, .dst0x, .src0x, .src1x, ._ },
66660 } },71082 } },
...@@ -66671,7 +71093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66671,7 +71093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66671 .{ .src = .{ .mut_sse, .sse, .sse } },71093 .{ .src = .{ .mut_sse, .sse, .sse } },
66672 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71094 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66673 },71095 },
66674 .dst_temps = .{.{ .ref = .src0 }},71096 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66675 .each = .{ .once = &.{71097 .each = .{ .once = &.{
66676 .{ ._, .v_ps, .fmadd132, .dst0y, .src2y, .src1y, ._ },71098 .{ ._, .v_ps, .fmadd132, .dst0y, .src2y, .src1y, ._ },
66677 } },71099 } },
...@@ -66688,7 +71110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66688,7 +71110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66688 .{ .src = .{ .mut_sse, .sse, .sse } },71110 .{ .src = .{ .mut_sse, .sse, .sse } },
66689 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71111 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66690 },71112 },
66691 .dst_temps = .{.{ .ref = .src0 }},71113 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66692 .each = .{ .once = &.{71114 .each = .{ .once = &.{
66693 .{ ._, .v_ps, .fmadd213, .dst0y, .src1y, .src2y, ._ },71115 .{ ._, .v_ps, .fmadd213, .dst0y, .src1y, .src2y, ._ },
66694 } },71116 } },
...@@ -66704,7 +71126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66704,7 +71126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66704 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },71126 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
66705 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },71127 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
66706 },71128 },
66707 .dst_temps = .{.{ .ref = .src2 }},71129 .dst_temps = .{ .{ .ref = .src2 }, .unused },
66708 .each = .{ .once = &.{71130 .each = .{ .once = &.{
66709 .{ ._, .v_ps, .fmadd231, .dst0y, .src0y, .src1y, ._ },71131 .{ ._, .v_ps, .fmadd231, .dst0y, .src0y, .src1y, ._ },
66710 } },71132 } },
...@@ -66729,7 +71151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66729,7 +71151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66729 .unused,71151 .unused,
66730 .unused,71152 .unused,
66731 },71153 },
66732 .dst_temps = .{.mem},71154 .dst_temps = .{ .mem, .unused },
66733 .each = .{ .once = &.{71155 .each = .{ .once = &.{
66734 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71156 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
66735 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },71157 .{ .@"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 {...@@ -66761,7 +71183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66761 .unused,71183 .unused,
66762 .unused,71184 .unused,
66763 },71185 },
66764 .dst_temps = .{.mem},71186 .dst_temps = .{ .mem, .unused },
66765 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71187 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66766 .each = .{ .once = &.{71188 .each = .{ .once = &.{
66767 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71189 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -66795,7 +71217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66795,7 +71217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66795 .unused,71217 .unused,
66796 .unused,71218 .unused,
66797 },71219 },
66798 .dst_temps = .{.mem},71220 .dst_temps = .{ .mem, .unused },
66799 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71221 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66800 .each = .{ .once = &.{71222 .each = .{ .once = &.{
66801 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71223 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -66820,7 +71242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66820,7 +71242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66820 .{ .src = .{ .mut_sse, .sse, .sse } },71242 .{ .src = .{ .mut_sse, .sse, .sse } },
66821 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71243 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66822 },71244 },
66823 .dst_temps = .{.{ .ref = .src0 }},71245 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66824 .each = .{ .once = &.{71246 .each = .{ .once = &.{
66825 .{ ._, .v_sd, .fmadd132, .dst0x, .src2x, .src1q, ._ },71247 .{ ._, .v_sd, .fmadd132, .dst0x, .src2x, .src1q, ._ },
66826 } },71248 } },
...@@ -66837,7 +71259,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66837,7 +71259,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66837 .{ .src = .{ .mut_sse, .sse, .sse } },71259 .{ .src = .{ .mut_sse, .sse, .sse } },
66838 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71260 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66839 },71261 },
66840 .dst_temps = .{.{ .ref = .src0 }},71262 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66841 .each = .{ .once = &.{71263 .each = .{ .once = &.{
66842 .{ ._, .v_sd, .fmadd213, .dst0x, .src1x, .src2q, ._ },71264 .{ ._, .v_sd, .fmadd213, .dst0x, .src1x, .src2q, ._ },
66843 } },71265 } },
...@@ -66853,7 +71275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66853,7 +71275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66853 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },71275 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
66854 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },71276 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
66855 },71277 },
66856 .dst_temps = .{.{ .ref = .src2 }},71278 .dst_temps = .{ .{ .ref = .src2 }, .unused },
66857 .each = .{ .once = &.{71279 .each = .{ .once = &.{
66858 .{ ._, .v_sd, .fmadd231, .dst0x, .src0x, .src1q, ._ },71280 .{ ._, .v_sd, .fmadd231, .dst0x, .src0x, .src1q, ._ },
66859 } },71281 } },
...@@ -66879,7 +71301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66879,7 +71301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66879 .unused,71301 .unused,
66880 .unused,71302 .unused,
66881 },71303 },
66882 .dst_temps = .{.{ .ref = .src0 }},71304 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66883 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71305 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
66884 .each = .{ .once = &.{71306 .each = .{ .once = &.{
66885 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },71307 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -66897,7 +71319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66897,7 +71319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66897 .{ .src = .{ .mut_sse, .sse, .sse } },71319 .{ .src = .{ .mut_sse, .sse, .sse } },
66898 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71320 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66899 },71321 },
66900 .dst_temps = .{.{ .ref = .src0 }},71322 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66901 .each = .{ .once = &.{71323 .each = .{ .once = &.{
66902 .{ ._, .v_pd, .fmadd132, .dst0x, .src2x, .src1x, ._ },71324 .{ ._, .v_pd, .fmadd132, .dst0x, .src2x, .src1x, ._ },
66903 } },71325 } },
...@@ -66914,7 +71336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66914,7 +71336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66914 .{ .src = .{ .mut_sse, .sse, .sse } },71336 .{ .src = .{ .mut_sse, .sse, .sse } },
66915 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71337 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66916 },71338 },
66917 .dst_temps = .{.{ .ref = .src0 }},71339 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66918 .each = .{ .once = &.{71340 .each = .{ .once = &.{
66919 .{ ._, .v_pd, .fmadd213, .dst0x, .src1x, .src2x, ._ },71341 .{ ._, .v_pd, .fmadd213, .dst0x, .src1x, .src2x, ._ },
66920 } },71342 } },
...@@ -66930,7 +71352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66930,7 +71352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66930 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },71352 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
66931 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },71353 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
66932 },71354 },
66933 .dst_temps = .{.{ .ref = .src2 }},71355 .dst_temps = .{ .{ .ref = .src2 }, .unused },
66934 .each = .{ .once = &.{71356 .each = .{ .once = &.{
66935 .{ ._, .v_pd, .fmadd231, .dst0x, .src0x, .src1x, ._ },71357 .{ ._, .v_pd, .fmadd231, .dst0x, .src0x, .src1x, ._ },
66936 } },71358 } },
...@@ -66947,7 +71369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66947,7 +71369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66947 .{ .src = .{ .mut_sse, .sse, .sse } },71369 .{ .src = .{ .mut_sse, .sse, .sse } },
66948 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71370 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66949 },71371 },
66950 .dst_temps = .{.{ .ref = .src0 }},71372 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66951 .each = .{ .once = &.{71373 .each = .{ .once = &.{
66952 .{ ._, .v_pd, .fmadd132, .dst0y, .src2y, .src1y, ._ },71374 .{ ._, .v_pd, .fmadd132, .dst0y, .src2y, .src1y, ._ },
66953 } },71375 } },
...@@ -66964,7 +71386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66964,7 +71386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66964 .{ .src = .{ .mut_sse, .sse, .sse } },71386 .{ .src = .{ .mut_sse, .sse, .sse } },
66965 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },71387 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
66966 },71388 },
66967 .dst_temps = .{.{ .ref = .src0 }},71389 .dst_temps = .{ .{ .ref = .src0 }, .unused },
66968 .each = .{ .once = &.{71390 .each = .{ .once = &.{
66969 .{ ._, .v_pd, .fmadd213, .dst0y, .src1y, .src2y, ._ },71391 .{ ._, .v_pd, .fmadd213, .dst0y, .src1y, .src2y, ._ },
66970 } },71392 } },
...@@ -66980,7 +71402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -66980,7 +71402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
66980 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },71402 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
66981 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },71403 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
66982 },71404 },
66983 .dst_temps = .{.{ .ref = .src2 }},71405 .dst_temps = .{ .{ .ref = .src2 }, .unused },
66984 .each = .{ .once = &.{71406 .each = .{ .once = &.{
66985 .{ ._, .v_pd, .fmadd231, .dst0y, .src0y, .src1y, ._ },71407 .{ ._, .v_pd, .fmadd231, .dst0y, .src0y, .src1y, ._ },
66986 } },71408 } },
...@@ -67005,7 +71427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67005,7 +71427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67005 .unused,71427 .unused,
67006 .unused,71428 .unused,
67007 },71429 },
67008 .dst_temps = .{.mem},71430 .dst_temps = .{ .mem, .unused },
67009 .each = .{ .once = &.{71431 .each = .{ .once = &.{
67010 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71432 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
67011 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },71433 .{ .@"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 {...@@ -67037,7 +71459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67037 .unused,71459 .unused,
67038 .unused,71460 .unused,
67039 },71461 },
67040 .dst_temps = .{.mem},71462 .dst_temps = .{ .mem, .unused },
67041 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67042 .each = .{ .once = &.{71464 .each = .{ .once = &.{
67043 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71465 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67071,7 +71493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67071,7 +71493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67071 .unused,71493 .unused,
67072 .unused,71494 .unused,
67073 },71495 },
67074 .dst_temps = .{.mem},71496 .dst_temps = .{ .mem, .unused },
67075 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67076 .each = .{ .once = &.{71498 .each = .{ .once = &.{
67077 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67105,7 +71527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67105,7 +71527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67105 .unused,71527 .unused,
67106 .unused,71528 .unused,
67107 },71529 },
67108 .dst_temps = .{.mem},71530 .dst_temps = .{ .mem, .unused },
67109 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71531 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67110 .each = .{ .once = &.{71532 .each = .{ .once = &.{
67111 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71533 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67142,7 +71564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67142,7 +71564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67142 .unused,71564 .unused,
67143 .unused,71565 .unused,
67144 },71566 },
67145 .dst_temps = .{.{ .reg = .st0 }},71567 .dst_temps = .{ .{ .reg = .st0 }, .unused },
67146 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71568 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67147 .each = .{ .once = &.{71569 .each = .{ .once = &.{
67148 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },71570 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
...@@ -67175,7 +71597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67175,7 +71597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67175 .unused,71597 .unused,
67176 .unused,71598 .unused,
67177 },71599 },
67178 .dst_temps = .{.mem},71600 .dst_temps = .{ .mem, .unused },
67179 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71601 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67180 .each = .{ .once = &.{71602 .each = .{ .once = &.{
67181 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71603 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67213,7 +71635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67213,7 +71635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67213 .unused,71635 .unused,
67214 .unused,71636 .unused,
67215 },71637 },
67216 .dst_temps = .{.{ .ref = .src0 }},71638 .dst_temps = .{ .{ .ref = .src0 }, .unused },
67217 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71639 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67218 .each = .{ .once = &.{71640 .each = .{ .once = &.{
67219 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },71641 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
...@@ -67240,7 +71662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67240,7 +71662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67240 .unused,71662 .unused,
67241 .unused,71663 .unused,
67242 },71664 },
67243 .dst_temps = .{.mem},71665 .dst_temps = .{ .mem, .unused },
67244 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71666 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67245 .each = .{ .once = &.{71667 .each = .{ .once = &.{
67246 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71668 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67274,7 +71696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67274,7 +71696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67274 .unused,71696 .unused,
67275 .unused,71697 .unused,
67276 },71698 },
67277 .dst_temps = .{.mem},71699 .dst_temps = .{ .mem, .unused },
67278 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71700 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67279 .each = .{ .once = &.{71701 .each = .{ .once = &.{
67280 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71702 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67308,7 +71730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67308,7 +71730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67308 .unused,71730 .unused,
67309 .unused,71731 .unused,
67310 },71732 },
67311 .dst_temps = .{.mem},71733 .dst_temps = .{ .mem, .unused },
67312 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },71734 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
67313 .each = .{ .once = &.{71735 .each = .{ .once = &.{
67314 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },71736 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
...@@ -67343,12 +71765,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67343,12 +71765,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67343 ), cg);71765 ), cg);
67344 try ops[0].finish(inst, &.{extra.field_ptr}, &ops, cg);71766 try ops[0].finish(inst, &.{extra.field_ptr}, &ops, cg);
67345 },71767 },
6734671768 .wasm_memory_size, .wasm_memory_grow => unreachable,
67347 .is_named_enum_value => return cg.fail("TODO implement is_named_enum_value", .{}),71769 .cmp_lt_errors_len => |air_tag| if (use_old) try cg.airCmpLtErrorsLen(inst) else {
6734871770 const un_op = air_datas[@intFromEnum(inst)].un_op;
67349 .wasm_memory_size => unreachable,71771 var ops = try cg.tempsFromOperands(inst, .{un_op});
67350 .wasm_memory_grow => unreachable,71772 var res: [1]Temp = undefined;
6735171773 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 },
67352 .err_return_trace => {71848 .err_return_trace => {
67353 const ert: Temp = .{ .index = err_ret_trace_index };71849 const ert: Temp = .{ .index = err_ret_trace_index };
67354 try ert.finish(inst, &.{}, &.{}, cg);71850 try ert.finish(inst, &.{}, &.{}, cg);
...@@ -67372,13 +71868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67372,13 +71868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67372 .err_ret_trace => unreachable,71868 .err_ret_trace => unreachable,
67373 }71869 }
67374 },71870 },
67375
67376 .addrspace_cast => {71871 .addrspace_cast => {
67377 const ty_op = air_datas[@intFromEnum(inst)].ty_op;71872 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
67378 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});71873 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
67379 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);71874 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
67380 },71875 },
67381
67382 .save_err_return_trace_index => {71876 .save_err_return_trace_index => {
67383 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;71877 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;
67384 const agg_ty = ty_pl.ty.toType();71878 const agg_ty = ty_pl.ty.toType();
...@@ -67388,17 +71882,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -67388,17 +71882,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
67388 try ert.die(cg);71882 try ert.die(cg);
67389 try res.finish(inst, &.{}, &.{}, cg);71883 try res.finish(inst, &.{}, &.{}, cg);
67390 },71884 },
67391
67392 .vector_store_elem => return cg.fail("TODO implement vector_store_elem", .{}),71885 .vector_store_elem => return cg.fail("TODO implement vector_store_elem", .{}),
67393
67394 .c_va_arg => try cg.airVaArg(inst),71886 .c_va_arg => try cg.airVaArg(inst),
67395 .c_va_copy => try cg.airVaCopy(inst),71887 .c_va_copy => try cg.airVaCopy(inst),
67396 .c_va_end => try cg.airVaEnd(inst),71888 .c_va_end => try cg.airVaEnd(inst),
67397 .c_va_start => try cg.airVaStart(inst),71889 .c_va_start => try cg.airVaStart(inst),
6739871890 .work_item_id, .work_group_size, .work_group_id => unreachable,
67399 .work_item_id => unreachable,
67400 .work_group_size => unreachable,
67401 .work_group_id => unreachable,
67402 }71891 }
67403 try cg.resetTemps();71892 try cg.resetTemps();
67404 cg.checkInvariantsAfterAirInst();71893 cg.checkInvariantsAfterAirInst();
...@@ -67410,8 +71899,8 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {...@@ -67410,8 +71899,8 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {
67410 const pt = self.pt;71899 const pt = self.pt;
67411 const zcu = pt.zcu;71900 const zcu = pt.zcu;
67412 const ip = &zcu.intern_pool;71901 const ip = &zcu.intern_pool;
67413 switch (Type.fromInterned(lazy_sym.ty).zigTypeTag(zcu)) {71902 switch (ip.indexToKey(lazy_sym.ty)) {
67414 .@"enum" => {71903 .enum_type => {
67415 const enum_ty: Type = .fromInterned(lazy_sym.ty);71904 const enum_ty: Type = .fromInterned(lazy_sym.ty);
67416 wip_mir_log.debug("{}.@tagName:", .{enum_ty.fmt(pt)});71905 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 {...@@ -67419,40 +71908,38 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {
67419 const param_locks = self.register_manager.lockRegsAssumeUnused(2, param_regs[0..2].*);71908 const param_locks = self.register_manager.lockRegsAssumeUnused(2, param_regs[0..2].*);
67420 defer for (param_locks) |lock| self.register_manager.unlockReg(lock);71909 defer for (param_locks) |lock| self.register_manager.unlockReg(lock);
6742171910
67422 const ret_reg = param_regs[0];71911 const ret_mcv: MCValue = .{ .register_pair = param_regs[0..2].* };
67423 const enum_mcv = MCValue{ .register = param_regs[1] };71912 const enum_mcv: MCValue = .{ .register = param_regs[0] };
6742471913
67425 const data_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp);71914 const data_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp);
67426 const data_lock = self.register_manager.lockRegAssumeUnused(data_reg);71915 const data_lock = self.register_manager.lockRegAssumeUnused(data_reg);
67427 defer self.register_manager.unlockReg(data_lock);71916 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
67430 var data_off: i32 = 0;71919 var data_off: i32 = 0;
67431 const tag_names = enum_ty.enumFields(zcu);71920 const tag_names = ip.loadEnumType(lazy_sym.ty).names;
67432 for (0..enum_ty.enumFieldCount(zcu)) |tag_index| {71921 for (0..tag_names.len) |tag_index| {
67433 var arg_temp = try self.tempInit(enum_ty, enum_mcv);71922 var enum_temp = try self.tempInit(enum_ty, enum_mcv);
6743471923
67435 const tag_name_len = tag_names.get(ip)[tag_index].length(ip);71924 const tag_name_len = tag_names.get(ip)[tag_index].length(ip);
67436 const tag_val = try pt.enumValueFieldIndex(enum_ty, @intCast(tag_index));71925 var tag_temp = try self.tempFromValue(try pt.enumValueFieldIndex(enum_ty, @intCast(tag_index)));
67437 var tag_temp = try self.tempFromValue(tag_val);71926 const cc_temp = enum_temp.cmpInts(.neq, &tag_temp, self) catch |err| switch (err) {
67438 const cc_temp = arg_temp.cmpInts(.neq, &tag_temp, self) catch |err| switch (err) {
67439 error.SelectFailed => unreachable,71927 error.SelectFailed => unreachable,
67440 else => |e| return e,71928 else => |e| return e,
67441 };71929 };
67442 try arg_temp.die(self);71930 try enum_temp.die(self);
67443 try tag_temp.die(self);71931 try tag_temp.die(self);
67444 const skip_reloc = try self.asmJccReloc(cc_temp.tracking(self).short.eflags, undefined);71932 const skip_reloc = try self.asmJccReloc(cc_temp.tracking(self).short.eflags, undefined);
67445 try cc_temp.die(self);71933 try cc_temp.die(self);
67446 try self.resetTemps();71934 try self.resetTemps();
6744771935
67448 try self.genSetMem(71936 try self.genSetReg(
67449 .{ .reg = ret_reg },71937 ret_mcv.register_pair[0],
67450 0,
67451 .usize,71938 .usize,
67452 .{ .register_offset = .{ .reg = data_reg, .off = data_off } },71939 .{ .register_offset = .{ .reg = data_reg, .off = data_off } },
67453 .{},71940 .{},
67454 );71941 );
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 }, .{});
67456 try self.asmOpOnly(.{ ._, .ret });71943 try self.asmOpOnly(.{ ._, .ret });
6745771944
67458 self.performReloc(skip_reloc);71945 self.performReloc(skip_reloc);
...@@ -67460,7 +71947,49 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {...@@ -67460,7 +71947,49 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {
67460 data_off += @intCast(tag_name_len + 1);71947 data_off += @intCast(tag_name_len + 1);
67461 }71948 }
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 });
67464 },71993 },
67465 else => return self.fail(71994 else => return self.fail(
67466 "TODO implement {s} for {}",71995 "TODO implement {s} for {}",
...@@ -70348,7 +74877,7 @@ fn airUnwrapErrUnionErr(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -70348,7 +74877,7 @@ fn airUnwrapErrUnionErr(self: *CodeGen, inst: Air.Inst.Index) !void {
70348 }74877 }
7034974878
70350 if (!payload_ty.hasRuntimeBitsIgnoreComptime(zcu)) {74879 if (!payload_ty.hasRuntimeBitsIgnoreComptime(zcu)) {
70351 break :result operand;74880 break :result try self.copyToRegisterWithInstTracking(inst, err_union_ty, operand);
70352 }74881 }
7035374882
70354 const err_off = codegen.errUnionErrorOffset(payload_ty, zcu);74883 const err_off = codegen.errUnionErrorOffset(payload_ty, zcu);
...@@ -70483,7 +75012,7 @@ fn airErrUnionPayloadPtrSet(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -70483,7 +75012,7 @@ fn airErrUnionPayloadPtrSet(self: *CodeGen, inst: Air.Inst.Index) !void {
70483 registerAlias(dst_reg, dst_abi_size),75012 registerAlias(dst_reg, dst_abi_size),
70484 .{75013 .{
70485 .base = .{ .reg = src_reg },75014 .base = .{ .reg = src_reg },
70486 .mod = .{ .rm = .{ .size = .qword, .disp = pl_off } },75015 .mod = .{ .rm = .{ .disp = pl_off } },
70487 },75016 },
70488 );75017 );
70489 break :result .{ .register = dst_reg };75018 break :result .{ .register = dst_reg };
...@@ -70746,7 +75275,7 @@ fn airPtrSliceLenPtr(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -70746,7 +75275,7 @@ fn airPtrSliceLenPtr(self: *CodeGen, inst: Air.Inst.Index) !void {
70746 registerAlias(dst_reg, dst_abi_size),75275 registerAlias(dst_reg, dst_abi_size),
70747 .{75276 .{
70748 .base = .{ .reg = src_reg },75277 .base = .{ .reg = src_reg },
70749 .mod = .{ .rm = .{ .size = .qword, .disp = 8 } },75278 .mod = .{ .rm = .{ .disp = 8 } },
70750 },75279 },
70751 );75280 );
7075275281
...@@ -71000,7 +75529,7 @@ fn airArrayElemVal(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -71000,7 +75529,7 @@ fn airArrayElemVal(self: *CodeGen, inst: Air.Inst.Index) !void {
71000 try self.asmRegisterMemory(75529 try self.asmRegisterMemory(
71001 .{ ._, .lea },75530 .{ ._, .lea },
71002 addr_reg,75531 addr_reg,
71003 .{ .base = .{ .frame = frame_index }, .mod = .{ .rm = .{ .size = .qword } } },75532 .{ .base = .{ .frame = frame_index } },
71004 );75533 );
71005 },75534 },
71006 .load_frame => |frame_addr| try self.asmRegisterMemory(75535 .load_frame => |frame_addr| try self.asmRegisterMemory(
...@@ -71008,7 +75537,7 @@ fn airArrayElemVal(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -71008,7 +75537,7 @@ fn airArrayElemVal(self: *CodeGen, inst: Air.Inst.Index) !void {
71008 addr_reg,75537 addr_reg,
71009 .{75538 .{
71010 .base = .{ .frame = frame_addr.index },75539 .base = .{ .frame = frame_addr.index },
71011 .mod = .{ .rm = .{ .size = .qword, .disp = frame_addr.off } },75540 .mod = .{ .rm = .{ .disp = frame_addr.off } },
71012 },75541 },
71013 ),75542 ),
71014 .memory,75543 .memory,
...@@ -72017,7 +76546,6 @@ fn airBitReverse(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -72017,7 +76546,6 @@ fn airBitReverse(self: *CodeGen, inst: Air.Inst.Index) !void {
72017 .{76546 .{
72018 .base = .{ .reg = dst.to64() },76547 .base = .{ .reg = dst.to64() },
72019 .mod = .{ .rm = .{76548 .mod = .{ .rm = .{
72020 .size = .qword,
72021 .index = tmp.to64(),76549 .index = tmp.to64(),
72022 .scale = .@"4",76550 .scale = .@"4",
72023 } },76551 } },
...@@ -72044,7 +76572,6 @@ fn airBitReverse(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -72044,7 +76572,6 @@ fn airBitReverse(self: *CodeGen, inst: Air.Inst.Index) !void {
72044 .{76572 .{
72045 .base = .{ .reg = tmp.to64() },76573 .base = .{ .reg = tmp.to64() },
72046 .mod = .{ .rm = .{76574 .mod = .{ .rm = .{
72047 .size = .qword,
72048 .index = dst.to64(),76575 .index = dst.to64(),
72049 .scale = .@"2",76576 .scale = .@"2",
72050 } },76577 } },
...@@ -78848,7 +83375,7 @@ fn lowerSwitchBr(...@@ -78848,7 +83375,7 @@ fn lowerSwitchBr(
7884883375
78849 var cases_it = switch_br.iterateCases();83376 var cases_it = switch_br.iterateCases();
78850 while (cases_it.next()) |case| {83377 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);
78852 defer allocator.free(relocs);83379 defer allocator.free(relocs);
7885383380
78854 try self.spillEflagsIfOccupied();83381 try self.spillEflagsIfOccupied();
...@@ -80350,17 +84877,32 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C...@@ -80350,17 +84877,32 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C
80350 else => unreachable,84877 else => unreachable,
80351 },84878 },
80352 dst_tag => |src_regs| {84879 dst_tag => |src_regs| {
84880 var remaining: std.StaticBitSet(dst_regs.len) = .initFull();
80353 var hazard_regs = src_regs;84881 var hazard_regs = src_regs;
80354 for (dst_regs, &hazard_regs, 1..) |dst_reg, src_reg, hazard_index| {84882 while (!remaining.eql(.initEmpty())) {
80355 const dst_id = dst_reg.id();84883 var remaining_it = remaining.iterator(.{});
80356 if (dst_id == src_reg.id()) continue;84884 next: while (remaining_it.next()) |index| {
80357 var mir_tag: Mir.Inst.FixedTag = .{ ._, .mov };84885 const dst_reg = dst_regs[index];
80358 for (hazard_regs[hazard_index..]) |*hazard_reg| {84886 const dst_id = dst_reg.id();
80359 if (dst_id != hazard_reg.id()) continue;84887 const src_reg = hazard_regs[index];
80360 mir_tag = .{ ._g, .xch };84888 const src_id = src_reg.id();
80361 hazard_reg.* = src_reg;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());
80362 }84905 }
80363 try self.asmRegisterRegister(mir_tag, dst_reg.to64(), src_reg.to64());
80364 }84906 }
80365 return;84907 return;
80366 },84908 },
...@@ -80876,7 +85418,6 @@ fn genSetReg(...@@ -80876,7 +85418,6 @@ fn genSetReg(
80876 dst_reg.to64(),85418 dst_reg.to64(),
80877 .{85419 .{
80878 .base = .{ .reloc = sym_off.sym_index },85420 .base = .{ .reloc = sym_off.sym_index },
80879 .mod = .{ .rm = .{ .size = .qword } },
80880 },85421 },
80881 );85422 );
80882 if (sym_off.off != 0) try self.asmRegisterMemory(85423 if (sym_off.off != 0) try self.asmRegisterMemory(
...@@ -80884,10 +85425,7 @@ fn genSetReg(...@@ -80884,10 +85425,7 @@ fn genSetReg(
80884 dst_reg.to64(),85425 dst_reg.to64(),
80885 .{85426 .{
80886 .base = .{ .reg = dst_reg.to64() },85427 .base = .{ .reg = dst_reg.to64() },
80887 .mod = .{ .rm = .{85428 .mod = .{ .rm = .{ .disp = sym_off.off } },
80888 .size = .qword,
80889 .disp = sym_off.off,
80890 } },
80891 },85429 },
80892 );85430 );
80893 },85431 },
...@@ -81101,18 +85639,12 @@ fn genSetMem(...@@ -81101,18 +85639,12 @@ fn genSetMem(
81101 const src_reg = registerAlias(reg_off.reg, abi_size);85639 const src_reg = registerAlias(reg_off.reg, abi_size);
81102 try self.asmRegisterMemory(.{ ._, .lea }, src_reg, .{85640 try self.asmRegisterMemory(.{ ._, .lea }, src_reg, .{
81103 .base = .{ .reg = src_reg },85641 .base = .{ .reg = src_reg },
81104 .mod = .{ .rm = .{85642 .mod = .{ .rm = .{ .disp = reg_off.off } },
81105 .size = .qword,
81106 .disp = reg_off.off,
81107 } },
81108 });85643 });
81109 try self.genSetMem(base, disp, ty, .{ .register = reg_off.reg }, opts);85644 try self.genSetMem(base, disp, ty, .{ .register = reg_off.reg }, opts);
81110 return self.asmRegisterMemory(.{ ._, .lea }, src_reg, .{85645 return self.asmRegisterMemory(.{ ._, .lea }, src_reg, .{
81111 .base = .{ .reg = src_reg },85646 .base = .{ .reg = src_reg },
81112 .mod = .{ .rm = .{85647 .mod = .{ .rm = .{ .disp = -reg_off.off } },
81113 .size = .qword,
81114 .disp = -reg_off.off,
81115 } },
81116 });85648 });
81117 },85649 },
81118 else => |e| return e,85650 else => |e| return e,
...@@ -81636,12 +86168,14 @@ fn airIntFromFloat(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -81636,12 +86168,14 @@ fn airIntFromFloat(self: *CodeGen, inst: Air.Inst.Index) !void {
8163686168
81637fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {86169fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
81638 const pt = self.pt;86170 const pt = self.pt;
86171 const zcu = pt.zcu;
81639 const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;86172 const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
81640 const extra = self.air.extraData(Air.Cmpxchg, ty_pl.payload).data;86173 const extra = self.air.extraData(Air.Cmpxchg, ty_pl.payload).data;
8164186174
86175 const dst_ty = self.typeOfIndex(inst);
81642 const ptr_ty = self.typeOf(extra.ptr);86176 const ptr_ty = self.typeOf(extra.ptr);
81643 const val_ty = self.typeOf(extra.expected_value);86177 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
81646 try self.spillRegisters(&.{ .rax, .rdx, .rbx, .rcx });86180 try self.spillRegisters(&.{ .rax, .rdx, .rbx, .rcx });
81647 const regs_lock = self.register_manager.lockRegsAssumeUnused(4, .{ .rax, .rdx, .rbx, .rcx });86181 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 {...@@ -81699,6 +86233,14 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
81699 defer if (ptr_lock) |lock| self.register_manager.unlockReg(lock);86233 defer if (ptr_lock) |lock| self.register_manager.unlockReg(lock);
8170086234
81701 try self.spillEflagsIfOccupied();86235 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
81702 if (val_abi_size <= 8) try self.asmMemoryRegister(86244 if (val_abi_size <= 8) try self.asmMemoryRegister(
81703 .{ .@"lock _", .cmpxchg },86245 .{ .@"lock _", .cmpxchg },
81704 ptr_mem,86246 ptr_mem,
...@@ -81708,7 +86250,14 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -81708,7 +86250,14 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
81708 const result: MCValue = result: {86250 const result: MCValue = result: {
81709 if (self.liveness.isUnused(inst)) break :result .unreach;86251 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
81711 if (val_abi_size <= 8) {86259 if (val_abi_size <= 8) {
86260 if (null_reg) |_| break :result .{ .register = .rax };
81712 self.eflags_inst = inst;86261 self.eflags_inst = inst;
81713 break :result .{ .register_overflow = .{ .reg = .rax, .eflags = .ne } };86262 break :result .{ .register_overflow = .{ .reg = .rax, .eflags = .ne } };
81714 }86263 }
...@@ -81716,7 +86265,7 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -81716,7 +86265,7 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
81716 const dst_mcv = try self.allocRegOrMem(inst, false);86265 const dst_mcv = try self.allocRegOrMem(inst, false);
81717 try self.genCopy(.usize, dst_mcv, .{ .register = .rax }, .{});86266 try self.genCopy(.usize, dst_mcv, .{ .register = .rax }, .{});
81718 try self.genCopy(.usize, dst_mcv.address().offset(8).deref(), .{ .register = .rdx }, .{});86267 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 }, .{});
81720 break :result dst_mcv;86269 break :result dst_mcv;
81721 };86270 };
81722 return self.finishAir(inst, result, .{ extra.ptr, extra.expected_value, extra.new_value });86271 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 {...@@ -82351,7 +86900,7 @@ fn airMemcpy(self: *CodeGen, inst: Air.Inst.Index) !void {
82351 return self.finishAir(inst, .unreach, .{ bin_op.lhs, bin_op.rhs, .none });86900 return self.finishAir(inst, .unreach, .{ bin_op.lhs, bin_op.rhs, .none });
82352}86901}
8235386902
82354fn airTagName(self: *CodeGen, inst: Air.Inst.Index) !void {86903fn airTagName(self: *CodeGen, inst: Air.Inst.Index, only_safety: bool) !void {
82355 const pt = self.pt;86904 const pt = self.pt;
82356 const zcu = pt.zcu;86905 const zcu = pt.zcu;
82357 const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op;86906 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 {...@@ -82373,25 +86922,26 @@ fn airTagName(self: *CodeGen, inst: Air.Inst.Index) !void {
82373 stack_frame_align.* = stack_frame_align.max(needed_call_frame.abi_align);86922 stack_frame_align.* = stack_frame_align.max(needed_call_frame.abi_align);
82374 }86923 }
8237586924
86925 var param_gpr = abi.getCAbiIntParamRegs(.auto);
82376 const err_ret_trace_reg = if (zcu.comp.config.any_error_tracing) err_ret_trace_reg: {86926 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];
82378 break :err_ret_trace_reg param_gpr[param_gpr.len - 1];86928 break :err_ret_trace_reg param_gpr[param_gpr.len - 1];
82379 } else .none;86929 } else .none;
8238086930
82381 try self.spillEflagsIfOccupied();86931 try self.spillEflagsIfOccupied();
82382 try self.spillCallerPreservedRegs(.auto, err_ret_trace_reg);86932 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
82389 const operand = try self.resolveInst(un_op);86934 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
82392 const enum_lazy_sym: link.File.LazySymbol = .{ .kind = .code, .ty = enum_ty.toIntern() };86937 const enum_lazy_sym: link.File.LazySymbol = .{ .kind = .code, .ty = enum_ty.toIntern() };
82393 try self.genLazySymbolRef(.call, abi.getCAbiLinkerScratchReg(.auto), enum_lazy_sym);86938 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 };
82395 return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none });86945 return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none });
82396}86946}
8239786947
...@@ -82452,10 +87002,7 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -82452,10 +87002,7 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {
82452 start_reg.to64(),87002 start_reg.to64(),
82453 .{87003 .{
82454 .base = .{ .reg = addr_reg.to64() },87004 .base = .{ .reg = addr_reg.to64() },
82455 .mod = .{ .rm = .{87005 .mod = .{ .rm = .{ .index = start_reg.to64() } },
82456 .size = .dword,
82457 .index = start_reg.to64(),
82458 } },
82459 },87006 },
82460 );87007 );
82461 try self.asmRegisterMemory(87008 try self.asmRegisterMemory(
...@@ -82463,10 +87010,7 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -82463,10 +87010,7 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {
82463 end_reg.to32(),87010 end_reg.to32(),
82464 .{87011 .{
82465 .base = .{ .reg = end_reg.to64() },87012 .base = .{ .reg = end_reg.to64() },
82466 .mod = .{ .rm = .{87013 .mod = .{ .rm = .{ .disp = -1 } },
82467 .size = .byte,
82468 .disp = -1,
82469 } },
82470 },87014 },
82471 );87015 );
8247287016
...@@ -82497,6 +87041,50 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -82497,6 +87041,50 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {
82497 return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none });87041 return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none });
82498}87042}
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
82500fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void {87088fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void {
82501 const pt = self.pt;87089 const pt = self.pt;
82502 const zcu = pt.zcu;87090 const zcu = pt.zcu;
...@@ -84598,17 +89186,11 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -84598,17 +89186,11 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
84598 try self.genSetReg(addr_reg, ptr_anyopaque_ty, reg_save_area, .{});89186 try self.genSetReg(addr_reg, ptr_anyopaque_ty, reg_save_area, .{});
84599 if (!unused) try self.asmRegisterMemory(.{ ._, .lea }, addr_reg, .{89187 if (!unused) try self.asmRegisterMemory(.{ ._, .lea }, addr_reg, .{
84600 .base = .{ .reg = addr_reg },89188 .base = .{ .reg = addr_reg },
84601 .mod = .{ .rm = .{89189 .mod = .{ .rm = .{ .index = offset_reg.to64() } },
84602 .size = .qword,
84603 .index = offset_reg.to64(),
84604 } },
84605 });89190 });
84606 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg, .{89191 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg, .{
84607 .base = .{ .reg = offset_reg.to64() },89192 .base = .{ .reg = offset_reg.to64() },
84608 .mod = .{ .rm = .{89193 .mod = .{ .rm = .{ .disp = 8 } },
84609 .size = .qword,
84610 .disp = 8,
84611 } },
84612 });89194 });
84613 try self.genCopy(.c_uint, gp_offset, .{ .register = offset_reg }, .{});89195 try self.genCopy(.c_uint, gp_offset, .{ .register = offset_reg }, .{});
84614 const done_reloc = try self.asmJmpReloc(undefined);89196 const done_reloc = try self.asmJmpReloc(undefined);
...@@ -84617,10 +89199,7 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -84617,10 +89199,7 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
84617 try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});89199 try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});
84618 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{89200 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{
84619 .base = .{ .reg = addr_reg },89201 .base = .{ .reg = addr_reg },
84620 .mod = .{ .rm = .{89202 .mod = .{ .rm = .{ .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)) } },
84621 .size = .qword,
84622 .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)),
84623 } },
84624 });89203 });
84625 try self.genCopy(89204 try self.genCopy(
84626 ptr_anyopaque_ty,89205 ptr_anyopaque_ty,
...@@ -84646,17 +89225,11 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -84646,17 +89225,11 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
84646 try self.genSetReg(addr_reg, ptr_anyopaque_ty, reg_save_area, .{});89225 try self.genSetReg(addr_reg, ptr_anyopaque_ty, reg_save_area, .{});
84647 if (!unused) try self.asmRegisterMemory(.{ ._, .lea }, addr_reg, .{89226 if (!unused) try self.asmRegisterMemory(.{ ._, .lea }, addr_reg, .{
84648 .base = .{ .reg = addr_reg },89227 .base = .{ .reg = addr_reg },
84649 .mod = .{ .rm = .{89228 .mod = .{ .rm = .{ .index = offset_reg.to64() } },
84650 .size = .qword,
84651 .index = offset_reg.to64(),
84652 } },
84653 });89229 });
84654 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg, .{89230 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg, .{
84655 .base = .{ .reg = offset_reg.to64() },89231 .base = .{ .reg = offset_reg.to64() },
84656 .mod = .{ .rm = .{89232 .mod = .{ .rm = .{ .disp = 16 } },
84657 .size = .qword,
84658 .disp = 16,
84659 } },
84660 });89233 });
84661 try self.genCopy(.c_uint, fp_offset, .{ .register = offset_reg }, .{});89234 try self.genCopy(.c_uint, fp_offset, .{ .register = offset_reg }, .{});
84662 const done_reloc = try self.asmJmpReloc(undefined);89235 const done_reloc = try self.asmJmpReloc(undefined);
...@@ -84665,10 +89238,7 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -84665,10 +89238,7 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
84665 try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});89238 try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});
84666 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{89239 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{
84667 .base = .{ .reg = addr_reg },89240 .base = .{ .reg = addr_reg },
84668 .mod = .{ .rm = .{89241 .mod = .{ .rm = .{ .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)) } },
84669 .size = .qword,
84670 .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)),
84671 } },
84672 });89242 });
84673 try self.genCopy(89243 try self.genCopy(
84674 ptr_anyopaque_ty,89244 ptr_anyopaque_ty,
...@@ -85728,10 +90298,7 @@ const Temp = struct {...@@ -85728,10 +90298,7 @@ const Temp = struct {
85728 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });90298 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
85729 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{90299 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{
85730 .base = .{ .reg = reg.to64() },90300 .base = .{ .reg = reg.to64() },
85731 .mod = .{ .rm = .{90301 .mod = .{ .rm = .{ .disp = off } },
85732 .size = .qword,
85733 .disp = off,
85734 } },
85735 });90302 });
85736 },90303 },
85737 .register_offset => |reg_off| {90304 .register_offset => |reg_off| {
...@@ -85740,10 +90307,7 @@ const Temp = struct {...@@ -85740,10 +90307,7 @@ const Temp = struct {
85740 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });90307 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
85741 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{90308 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{
85742 .base = .{ .reg = reg_off.reg.to64() },90309 .base = .{ .reg = reg_off.reg.to64() },
85743 .mod = .{ .rm = .{90310 .mod = .{ .rm = .{ .disp = reg_off.off + off } },
85744 .size = .qword,
85745 .disp = reg_off.off + off,
85746 } },
85747 });90311 });
85748 },90312 },
85749 .lea_symbol => |sym_off| new_temp_index.tracking(cg).* = .init(.{ .lea_symbol = .{90313 .lea_symbol => |sym_off| new_temp_index.tracking(cg).* = .init(.{ .lea_symbol = .{
...@@ -85850,10 +90414,7 @@ const Temp = struct {...@@ -85850,10 +90414,7 @@ const Temp = struct {
85850 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });90414 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
85851 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{90415 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{
85852 .base = .{ .reg = reg_off.reg.to64() },90416 .base = .{ .reg = reg_off.reg.to64() },
85853 .mod = .{ .rm = .{90417 .mod = .{ .rm = .{ .disp = reg_off.off + @as(u31, limb_index) * 8 } },
85854 .size = .qword,
85855 .disp = reg_off.off + @as(u31, limb_index) * 8,
85856 } },
85857 });90418 });
85858 },90419 },
85859 .load_symbol => |sym_off| {90420 .load_symbol => |sym_off| {
...@@ -85969,7 +90530,7 @@ const Temp = struct {...@@ -85969,7 +90530,7 @@ const Temp = struct {
85969 try cg.register_manager.getReg(new_reg, new_temp_index.toIndex());90530 try cg.register_manager.getReg(new_reg, new_temp_index.toIndex());
85970 cg.temp_type[@intFromEnum(new_temp_index)] = ty;90531 cg.temp_type[@intFromEnum(new_temp_index)] = ty;
85971 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });90532 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
85972 while (try temp.toBase(cg)) {}90533 while (try temp.toBase(false, cg)) {}
85973 try temp.readTo(ty, .{ .register = new_reg }, .{}, cg);90534 try temp.readTo(ty, .{ .register = new_reg }, .{}, cg);
85974 try temp.die(cg);90535 try temp.die(cg);
85975 temp.* = .{ .index = new_temp_index.toIndex() };90536 temp.* = .{ .index = new_temp_index.toIndex() };
...@@ -85992,7 +90553,7 @@ const Temp = struct {...@@ -85992,7 +90553,7 @@ const Temp = struct {
85992 for (new_regs) |new_reg| try cg.register_manager.getReg(new_reg, new_temp_index.toIndex());90553 for (new_regs) |new_reg| try cg.register_manager.getReg(new_reg, new_temp_index.toIndex());
85993 cg.temp_type[@intFromEnum(new_temp_index)] = ty;90554 cg.temp_type[@intFromEnum(new_temp_index)] = ty;
85994 new_temp_index.tracking(cg).* = .init(.{ .register_pair = new_regs });90555 new_temp_index.tracking(cg).* = .init(.{ .register_pair = new_regs });
85995 while (try temp.toBase(cg)) {}90556 while (try temp.toBase(false, cg)) {}
85996 for (new_regs, 0..) |new_reg, reg_index| try temp.readTo(90557 for (new_regs, 0..) |new_reg, reg_index| try temp.readTo(
85997 .usize,90558 .usize,
85998 .{ .register = new_reg },90559 .{ .register = new_reg },
...@@ -86093,9 +90654,9 @@ const Temp = struct {...@@ -86093,9 +90654,9 @@ const Temp = struct {
86093 }90654 }
86094 }90655 }
8609590656
86096 fn toMemory(temp: *Temp, cg: *CodeGen) InnerError!bool {90657 fn toMemory(temp: *Temp, mut: bool, cg: *CodeGen) InnerError!bool {
86097 const temp_tracking = temp.tracking(cg);90658 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;
86099 const new_temp_index = cg.next_temp_index;90660 const new_temp_index = cg.next_temp_index;
86100 const ty = temp.typeOf(cg);90661 const ty = temp.typeOf(cg);
86101 cg.temp_type[@intFromEnum(new_temp_index)] = ty;90662 cg.temp_type[@intFromEnum(new_temp_index)] = ty;
...@@ -86109,10 +90670,10 @@ const Temp = struct {...@@ -86109,10 +90670,10 @@ const Temp = struct {
86109 }90670 }
8611090671
86111 // hack around linker relocation bugs90672 // 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 {
86113 const temp_tracking = temp.tracking(cg);90674 const temp_tracking = temp.tracking(cg);
86114 if (temp_tracking.short.isBase()) return false;90675 if ((!mut or temp.isMut(cg)) and temp_tracking.short.isBase()) return false;
86115 if (try temp.toMemory(cg)) return true;90676 if (try temp.toMemory(mut, cg)) return true;
86116 const new_temp_index = cg.next_temp_index;90677 const new_temp_index = cg.next_temp_index;
86117 cg.temp_type[@intFromEnum(new_temp_index)] = temp.typeOf(cg);90678 cg.temp_type[@intFromEnum(new_temp_index)] = temp.typeOf(cg);
86118 const new_reg =90679 const new_reg =
...@@ -86267,7 +90828,7 @@ const Temp = struct {...@@ -86267,7 +90828,7 @@ const Temp = struct {
8626790828
86268 fn read(src: *Temp, val_ty: Type, opts: AccessOptions, cg: *CodeGen) InnerError!Temp {90829 fn read(src: *Temp, val_ty: Type, opts: AccessOptions, cg: *CodeGen) InnerError!Temp {
86269 var val = try cg.tempAlloc(val_ty);90830 var val = try cg.tempAlloc(val_ty);
86270 while (try src.toBase(cg)) {}90831 while (try src.toBase(false, cg)) {}
86271 try src.readTo(val_ty, val.tracking(cg).short, opts, cg);90832 try src.readTo(val_ty, val.tracking(cg).short, opts, cg);
86272 return val;90833 return val;
86273 }90834 }
...@@ -86308,8 +90869,8 @@ const Temp = struct {...@@ -86308,8 +90869,8 @@ const Temp = struct {
8630890869
86309 fn write(dst: *Temp, val: *Temp, opts: AccessOptions, cg: *CodeGen) InnerError!void {90870 fn write(dst: *Temp, val: *Temp, opts: AccessOptions, cg: *CodeGen) InnerError!void {
86310 const val_ty = val.typeOf(cg);90871 const val_ty = val.typeOf(cg);
86311 while (try dst.toBase(cg)) {}90872 while (try dst.toBase(false, cg)) {}
86312 val_to_gpr: while (true) : (while (try dst.toBase(cg) or90873 val_to_gpr: while (true) : (while (try dst.toBase(false, cg) or
86313 try val.toRegClass(false, .general_purpose, cg))90874 try val.toRegClass(false, .general_purpose, cg))
86314 {}) {90875 {}) {
86315 const val_mcv = val.tracking(cg).short;90876 const val_mcv = val.tracking(cg).short;
...@@ -86540,7 +91101,7 @@ const Temp = struct {...@@ -86540,7 +91101,7 @@ const Temp = struct {
86540 .{ .src = .{ .imm8, .to_gpr, .none }, .commute = .{ 0, 1 } },91101 .{ .src = .{ .imm8, .to_gpr, .none }, .commute = .{ 0, 1 } },
86541 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91102 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86542 },91103 },
86543 .dst_temps = .{.{ .cc = .g }},91104 .dst_temps = .{ .{ .cc = .g }, .unused },
86544 .clobbers = .{ .eflags = true },91105 .clobbers = .{ .eflags = true },
86545 .each = .{ .once = &.{91106 .each = .{ .once = &.{
86546 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },91107 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -86553,7 +91114,7 @@ const Temp = struct {...@@ -86553,7 +91114,7 @@ const Temp = struct {
86553 .{ .src = .{ .to_gpr, .mem, .none } },91114 .{ .src = .{ .to_gpr, .mem, .none } },
86554 .{ .src = .{ .to_gpr, .to_gpr, .none } },91115 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86555 },91116 },
86556 .dst_temps = .{.{ .cc = .l }},91117 .dst_temps = .{ .{ .cc = .l }, .unused },
86557 .clobbers = .{ .eflags = true },91118 .clobbers = .{ .eflags = true },
86558 .each = .{ .once = &.{91119 .each = .{ .once = &.{
86559 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },91120 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -86565,7 +91126,7 @@ const Temp = struct {...@@ -86565,7 +91126,7 @@ const Temp = struct {
86565 .{ .src = .{ .imm8, .to_gpr, .none }, .commute = .{ 0, 1 } },91126 .{ .src = .{ .imm8, .to_gpr, .none }, .commute = .{ 0, 1 } },
86566 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91127 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86567 },91128 },
86568 .dst_temps = .{.{ .cc = .a }},91129 .dst_temps = .{ .{ .cc = .a }, .unused },
86569 .clobbers = .{ .eflags = true },91130 .clobbers = .{ .eflags = true },
86570 .each = .{ .once = &.{91131 .each = .{ .once = &.{
86571 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },91132 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -86578,7 +91139,7 @@ const Temp = struct {...@@ -86578,7 +91139,7 @@ const Temp = struct {
86578 .{ .src = .{ .to_gpr, .mem, .none } },91139 .{ .src = .{ .to_gpr, .mem, .none } },
86579 .{ .src = .{ .to_gpr, .to_gpr, .none } },91140 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86580 },91141 },
86581 .dst_temps = .{.{ .cc = .b }},91142 .dst_temps = .{ .{ .cc = .b }, .unused },
86582 .clobbers = .{ .eflags = true },91143 .clobbers = .{ .eflags = true },
86583 .each = .{ .once = &.{91144 .each = .{ .once = &.{
86584 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },91145 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -86590,7 +91151,7 @@ const Temp = struct {...@@ -86590,7 +91151,7 @@ const Temp = struct {
86590 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },91151 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },
86591 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91152 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86592 },91153 },
86593 .dst_temps = .{.{ .cc = .g }},91154 .dst_temps = .{ .{ .cc = .g }, .unused },
86594 .clobbers = .{ .eflags = true },91155 .clobbers = .{ .eflags = true },
86595 .each = .{ .once = &.{91156 .each = .{ .once = &.{
86596 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },91157 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -86603,7 +91164,7 @@ const Temp = struct {...@@ -86603,7 +91164,7 @@ const Temp = struct {
86603 .{ .src = .{ .to_gpr, .mem, .none } },91164 .{ .src = .{ .to_gpr, .mem, .none } },
86604 .{ .src = .{ .to_gpr, .to_gpr, .none } },91165 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86605 },91166 },
86606 .dst_temps = .{.{ .cc = .l }},91167 .dst_temps = .{ .{ .cc = .l }, .unused },
86607 .clobbers = .{ .eflags = true },91168 .clobbers = .{ .eflags = true },
86608 .each = .{ .once = &.{91169 .each = .{ .once = &.{
86609 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },91170 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -86615,7 +91176,7 @@ const Temp = struct {...@@ -86615,7 +91176,7 @@ const Temp = struct {
86615 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },91176 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },
86616 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91177 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86617 },91178 },
86618 .dst_temps = .{.{ .cc = .a }},91179 .dst_temps = .{ .{ .cc = .a }, .unused },
86619 .clobbers = .{ .eflags = true },91180 .clobbers = .{ .eflags = true },
86620 .each = .{ .once = &.{91181 .each = .{ .once = &.{
86621 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },91182 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -86628,7 +91189,7 @@ const Temp = struct {...@@ -86628,7 +91189,7 @@ const Temp = struct {
86628 .{ .src = .{ .to_gpr, .mem, .none } },91189 .{ .src = .{ .to_gpr, .mem, .none } },
86629 .{ .src = .{ .to_gpr, .to_gpr, .none } },91190 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86630 },91191 },
86631 .dst_temps = .{.{ .cc = .b }},91192 .dst_temps = .{ .{ .cc = .b }, .unused },
86632 .clobbers = .{ .eflags = true },91193 .clobbers = .{ .eflags = true },
86633 .each = .{ .once = &.{91194 .each = .{ .once = &.{
86634 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },91195 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -86640,7 +91201,7 @@ const Temp = struct {...@@ -86640,7 +91201,7 @@ const Temp = struct {
86640 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },91201 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
86641 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91202 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86642 },91203 },
86643 .dst_temps = .{.{ .cc = .g }},91204 .dst_temps = .{ .{ .cc = .g }, .unused },
86644 .clobbers = .{ .eflags = true },91205 .clobbers = .{ .eflags = true },
86645 .each = .{ .once = &.{91206 .each = .{ .once = &.{
86646 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },91207 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -86653,7 +91214,7 @@ const Temp = struct {...@@ -86653,7 +91214,7 @@ const Temp = struct {
86653 .{ .src = .{ .to_gpr, .mem, .none } },91214 .{ .src = .{ .to_gpr, .mem, .none } },
86654 .{ .src = .{ .to_gpr, .to_gpr, .none } },91215 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86655 },91216 },
86656 .dst_temps = .{.{ .cc = .l }},91217 .dst_temps = .{ .{ .cc = .l }, .unused },
86657 .clobbers = .{ .eflags = true },91218 .clobbers = .{ .eflags = true },
86658 .each = .{ .once = &.{91219 .each = .{ .once = &.{
86659 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },91220 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -86665,7 +91226,7 @@ const Temp = struct {...@@ -86665,7 +91226,7 @@ const Temp = struct {
86665 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },91226 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
86666 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91227 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86667 },91228 },
86668 .dst_temps = .{.{ .cc = .a }},91229 .dst_temps = .{ .{ .cc = .a }, .unused },
86669 .clobbers = .{ .eflags = true },91230 .clobbers = .{ .eflags = true },
86670 .each = .{ .once = &.{91231 .each = .{ .once = &.{
86671 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },91232 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -86678,7 +91239,7 @@ const Temp = struct {...@@ -86678,7 +91239,7 @@ const Temp = struct {
86678 .{ .src = .{ .to_gpr, .mem, .none } },91239 .{ .src = .{ .to_gpr, .mem, .none } },
86679 .{ .src = .{ .to_gpr, .to_gpr, .none } },91240 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86680 },91241 },
86681 .dst_temps = .{.{ .cc = .b }},91242 .dst_temps = .{ .{ .cc = .b }, .unused },
86682 .clobbers = .{ .eflags = true },91243 .clobbers = .{ .eflags = true },
86683 .each = .{ .once = &.{91244 .each = .{ .once = &.{
86684 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },91245 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -86691,7 +91252,7 @@ const Temp = struct {...@@ -86691,7 +91252,7 @@ const Temp = struct {
86691 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },91252 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
86692 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91253 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86693 },91254 },
86694 .dst_temps = .{.{ .cc = .g }},91255 .dst_temps = .{ .{ .cc = .g }, .unused },
86695 .clobbers = .{ .eflags = true },91256 .clobbers = .{ .eflags = true },
86696 .each = .{ .once = &.{91257 .each = .{ .once = &.{
86697 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },91258 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -86705,7 +91266,7 @@ const Temp = struct {...@@ -86705,7 +91266,7 @@ const Temp = struct {
86705 .{ .src = .{ .to_gpr, .mem, .none } },91266 .{ .src = .{ .to_gpr, .mem, .none } },
86706 .{ .src = .{ .to_gpr, .to_gpr, .none } },91267 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86707 },91268 },
86708 .dst_temps = .{.{ .cc = .l }},91269 .dst_temps = .{ .{ .cc = .l }, .unused },
86709 .clobbers = .{ .eflags = true },91270 .clobbers = .{ .eflags = true },
86710 .each = .{ .once = &.{91271 .each = .{ .once = &.{
86711 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },91272 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -86718,7 +91279,7 @@ const Temp = struct {...@@ -86718,7 +91279,7 @@ const Temp = struct {
86718 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },91279 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
86719 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91280 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86720 },91281 },
86721 .dst_temps = .{.{ .cc = .a }},91282 .dst_temps = .{ .{ .cc = .a }, .unused },
86722 .clobbers = .{ .eflags = true },91283 .clobbers = .{ .eflags = true },
86723 .each = .{ .once = &.{91284 .each = .{ .once = &.{
86724 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },91285 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -86732,7 +91293,7 @@ const Temp = struct {...@@ -86732,7 +91293,7 @@ const Temp = struct {
86732 .{ .src = .{ .to_gpr, .mem, .none } },91293 .{ .src = .{ .to_gpr, .mem, .none } },
86733 .{ .src = .{ .to_gpr, .to_gpr, .none } },91294 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86734 },91295 },
86735 .dst_temps = .{.{ .cc = .b }},91296 .dst_temps = .{ .{ .cc = .b }, .unused },
86736 .clobbers = .{ .eflags = true },91297 .clobbers = .{ .eflags = true },
86737 .each = .{ .once = &.{91298 .each = .{ .once = &.{
86738 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },91299 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -86758,7 +91319,7 @@ const Temp = struct {...@@ -86758,7 +91319,7 @@ const Temp = struct {
86758 .unused,91319 .unused,
86759 .unused,91320 .unused,
86760 },91321 },
86761 .dst_temps = .{.{ .cc = .l }},91322 .dst_temps = .{ .{ .cc = .l }, .unused },
86762 .clobbers = .{ .eflags = true },91323 .clobbers = .{ .eflags = true },
86763 .each = .{ .once = &.{91324 .each = .{ .once = &.{
86764 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },91325 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
...@@ -86791,7 +91352,7 @@ const Temp = struct {...@@ -86791,7 +91352,7 @@ const Temp = struct {
86791 .unused,91352 .unused,
86792 .unused,91353 .unused,
86793 },91354 },
86794 .dst_temps = .{.{ .cc = .b }},91355 .dst_temps = .{ .{ .cc = .b }, .unused },
86795 .clobbers = .{ .eflags = true },91356 .clobbers = .{ .eflags = true },
86796 .each = .{ .once = &.{91357 .each = .{ .once = &.{
86797 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },91358 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
...@@ -86821,7 +91382,7 @@ const Temp = struct {...@@ -86821,7 +91382,7 @@ const Temp = struct {
86821 .unused,91382 .unused,
86822 .unused,91383 .unused,
86823 },91384 },
86824 .dst_temps = .{.{ .cc = .l }},91385 .dst_temps = .{ .{ .cc = .l }, .unused },
86825 .clobbers = .{ .eflags = true },91386 .clobbers = .{ .eflags = true },
86826 .each = .{ .once = &.{91387 .each = .{ .once = &.{
86827 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_4), ._, ._ },91388 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_4), ._, ._ },
...@@ -86853,7 +91414,7 @@ const Temp = struct {...@@ -86853,7 +91414,7 @@ const Temp = struct {
86853 .unused,91414 .unused,
86854 .unused,91415 .unused,
86855 },91416 },
86856 .dst_temps = .{.{ .cc = .b }},91417 .dst_temps = .{ .{ .cc = .b }, .unused },
86857 .clobbers = .{ .eflags = true },91418 .clobbers = .{ .eflags = true },
86858 .each = .{ .once = &.{91419 .each = .{ .once = &.{
86859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_4), ._, ._ },91420 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_4), ._, ._ },
...@@ -86878,7 +91439,7 @@ const Temp = struct {...@@ -86878,7 +91439,7 @@ const Temp = struct {
86878 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91439 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86879 .{ .src = .{ .to_gpr, .to_gpr, .none } },91440 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86880 },91441 },
86881 .dst_temps = .{.{ .cc = .e }},91442 .dst_temps = .{ .{ .cc = .e }, .unused },
86882 .clobbers = .{ .eflags = true },91443 .clobbers = .{ .eflags = true },
86883 .each = .{ .once = &.{91444 .each = .{ .once = &.{
86884 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },91445 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
...@@ -86894,7 +91455,7 @@ const Temp = struct {...@@ -86894,7 +91455,7 @@ const Temp = struct {
86894 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91455 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86895 .{ .src = .{ .to_gpr, .to_gpr, .none } },91456 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86896 },91457 },
86897 .dst_temps = .{.{ .cc = .e }},91458 .dst_temps = .{ .{ .cc = .e }, .unused },
86898 .clobbers = .{ .eflags = true },91459 .clobbers = .{ .eflags = true },
86899 .each = .{ .once = &.{91460 .each = .{ .once = &.{
86900 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },91461 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
...@@ -86910,7 +91471,7 @@ const Temp = struct {...@@ -86910,7 +91471,7 @@ const Temp = struct {
86910 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91471 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86911 .{ .src = .{ .to_gpr, .to_gpr, .none } },91472 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86912 },91473 },
86913 .dst_temps = .{.{ .cc = .e }},91474 .dst_temps = .{ .{ .cc = .e }, .unused },
86914 .clobbers = .{ .eflags = true },91475 .clobbers = .{ .eflags = true },
86915 .each = .{ .once = &.{91476 .each = .{ .once = &.{
86916 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },91477 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
...@@ -86927,7 +91488,7 @@ const Temp = struct {...@@ -86927,7 +91488,7 @@ const Temp = struct {
86927 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },91488 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
86928 .{ .src = .{ .to_gpr, .to_gpr, .none } },91489 .{ .src = .{ .to_gpr, .to_gpr, .none } },
86929 },91490 },
86930 .dst_temps = .{.{ .cc = .e }},91491 .dst_temps = .{ .{ .cc = .e }, .unused },
86931 .clobbers = .{ .eflags = true },91492 .clobbers = .{ .eflags = true },
86932 .each = .{ .once = &.{91493 .each = .{ .once = &.{
86933 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },91494 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
...@@ -86951,7 +91512,7 @@ const Temp = struct {...@@ -86951,7 +91512,7 @@ const Temp = struct {
86951 .unused,91512 .unused,
86952 .unused,91513 .unused,
86953 },91514 },
86954 .dst_temps = .{.{ .cc = .z }},91515 .dst_temps = .{ .{ .cc = .z }, .unused },
86955 .clobbers = .{ .eflags = true },91516 .clobbers = .{ .eflags = true },
86956 .each = .{ .once = &.{91517 .each = .{ .once = &.{
86957 .{ ._, .p_, .xor, .tmp1q, .tmp1q, ._, ._ },91518 .{ ._, .p_, .xor, .tmp1q, .tmp1q, ._, ._ },
...@@ -86979,7 +91540,7 @@ const Temp = struct {...@@ -86979,7 +91540,7 @@ const Temp = struct {
86979 .unused,91540 .unused,
86980 .unused,91541 .unused,
86981 },91542 },
86982 .dst_temps = .{.{ .cc = .z }},91543 .dst_temps = .{ .{ .cc = .z }, .unused },
86983 .clobbers = .{ .eflags = true },91544 .clobbers = .{ .eflags = true },
86984 .each = .{ .once = &.{91545 .each = .{ .once = &.{
86985 .{ ._, .vp_, .xor, .tmp0x, .src0x, .src1x, ._ },91546 .{ ._, .vp_, .xor, .tmp0x, .src0x, .src1x, ._ },
...@@ -86993,7 +91554,7 @@ const Temp = struct {...@@ -86993,7 +91554,7 @@ const Temp = struct {
86993 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },91554 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },
86994 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },91555 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },
86995 },91556 },
86996 .dst_temps = .{.{ .cc = .z }},91557 .dst_temps = .{ .{ .cc = .z }, .unused },
86997 .clobbers = .{ .eflags = true },91558 .clobbers = .{ .eflags = true },
86998 .each = .{ .once = &.{91559 .each = .{ .once = &.{
86999 .{ ._, .p_, .xor, .src0x, .src1x, ._, ._ },91560 .{ ._, .p_, .xor, .src0x, .src1x, ._, ._ },
...@@ -87018,7 +91579,7 @@ const Temp = struct {...@@ -87018,7 +91579,7 @@ const Temp = struct {
87018 .unused,91579 .unused,
87019 .unused,91580 .unused,
87020 },91581 },
87021 .dst_temps = .{.{ .cc = .z }},91582 .dst_temps = .{ .{ .cc = .z }, .unused },
87022 .clobbers = .{ .eflags = true },91583 .clobbers = .{ .eflags = true },
87023 .each = .{ .once = &.{91584 .each = .{ .once = &.{
87024 .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ },91585 .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
...@@ -87046,7 +91607,7 @@ const Temp = struct {...@@ -87046,7 +91607,7 @@ const Temp = struct {
87046 .unused,91607 .unused,
87047 .unused,91608 .unused,
87048 },91609 },
87049 .dst_temps = .{.{ .cc = .z }},91610 .dst_temps = .{ .{ .cc = .z }, .unused },
87050 .clobbers = .{ .eflags = true },91611 .clobbers = .{ .eflags = true },
87051 .each = .{ .once = &.{91612 .each = .{ .once = &.{
87052 .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ },91613 .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
...@@ -87074,7 +91635,7 @@ const Temp = struct {...@@ -87074,7 +91635,7 @@ const Temp = struct {
87074 .unused,91635 .unused,
87075 .unused,91636 .unused,
87076 },91637 },
87077 .dst_temps = .{.{ .cc = .z }},91638 .dst_temps = .{ .{ .cc = .z }, .unused },
87078 .clobbers = .{ .eflags = true },91639 .clobbers = .{ .eflags = true },
87079 .each = .{ .once = &.{91640 .each = .{ .once = &.{
87080 .{ ._, .vp_, .xor, .tmp0y, .src0y, .src1y, ._ },91641 .{ ._, .vp_, .xor, .tmp0y, .src0y, .src1y, ._ },
...@@ -87099,7 +91660,7 @@ const Temp = struct {...@@ -87099,7 +91660,7 @@ const Temp = struct {
87099 .unused,91660 .unused,
87100 .unused,91661 .unused,
87101 },91662 },
87102 .dst_temps = .{.{ .cc = .z }},91663 .dst_temps = .{ .{ .cc = .z }, .unused },
87103 .clobbers = .{ .eflags = true },91664 .clobbers = .{ .eflags = true },
87104 .each = .{ .once = &.{91665 .each = .{ .once = &.{
87105 .{ ._, .v_pd, .xor, .tmp0y, .src0y, .src1y, ._ },91666 .{ ._, .v_pd, .xor, .tmp0y, .src0y, .src1y, ._ },
...@@ -87126,7 +91687,7 @@ const Temp = struct {...@@ -87126,7 +91687,7 @@ const Temp = struct {
87126 .unused,91687 .unused,
87127 .unused,91688 .unused,
87128 },91689 },
87129 .dst_temps = .{.{ .cc = .z }},91690 .dst_temps = .{ .{ .cc = .z }, .unused },
87130 .clobbers = .{ .eflags = true },91691 .clobbers = .{ .eflags = true },
87131 .each = .{ .once = &.{91692 .each = .{ .once = &.{
87132 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },91693 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -87161,7 +91722,7 @@ const Temp = struct {...@@ -87161,7 +91722,7 @@ const Temp = struct {
87161 .unused,91722 .unused,
87162 .unused,91723 .unused,
87163 },91724 },
87164 .dst_temps = .{.{ .cc = .z }},91725 .dst_temps = .{ .{ .cc = .z }, .unused },
87165 .clobbers = .{ .eflags = true },91726 .clobbers = .{ .eflags = true },
87166 .each = .{ .once = &.{91727 .each = .{ .once = &.{
87167 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },91728 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
...@@ -87196,7 +91757,7 @@ const Temp = struct {...@@ -87196,7 +91757,7 @@ const Temp = struct {
87196 .unused,91757 .unused,
87197 .unused,91758 .unused,
87198 },91759 },
87199 .dst_temps = .{.{ .cc = .z }},91760 .dst_temps = .{ .{ .cc = .z }, .unused },
87200 .clobbers = .{ .eflags = true },91761 .clobbers = .{ .eflags = true },
87201 .each = .{ .once = &.{91762 .each = .{ .once = &.{
87202 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91763 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87228,7 +91789,7 @@ const Temp = struct {...@@ -87228,7 +91789,7 @@ const Temp = struct {
87228 .unused,91789 .unused,
87229 .unused,91790 .unused,
87230 },91791 },
87231 .dst_temps = .{.{ .cc = .z }},91792 .dst_temps = .{ .{ .cc = .z }, .unused },
87232 .clobbers = .{ .eflags = true },91793 .clobbers = .{ .eflags = true },
87233 .each = .{ .once = &.{91794 .each = .{ .once = &.{
87234 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91795 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87260,7 +91821,7 @@ const Temp = struct {...@@ -87260,7 +91821,7 @@ const Temp = struct {
87260 .unused,91821 .unused,
87261 .unused,91822 .unused,
87262 },91823 },
87263 .dst_temps = .{.{ .cc = .z }},91824 .dst_temps = .{ .{ .cc = .z }, .unused },
87264 .clobbers = .{ .eflags = true },91825 .clobbers = .{ .eflags = true },
87265 .each = .{ .once = &.{91826 .each = .{ .once = &.{
87266 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91827 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87292,7 +91853,7 @@ const Temp = struct {...@@ -87292,7 +91853,7 @@ const Temp = struct {
87292 .unused,91853 .unused,
87293 .unused,91854 .unused,
87294 },91855 },
87295 .dst_temps = .{.{ .cc = .z }},91856 .dst_temps = .{ .{ .cc = .z }, .unused },
87296 .clobbers = .{ .eflags = true },91857 .clobbers = .{ .eflags = true },
87297 .each = .{ .once = &.{91858 .each = .{ .once = &.{
87298 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87324,7 +91885,7 @@ const Temp = struct {...@@ -87324,7 +91885,7 @@ const Temp = struct {
87324 .unused,91885 .unused,
87325 .unused,91886 .unused,
87326 },91887 },
87327 .dst_temps = .{.{ .cc = .z }},91888 .dst_temps = .{ .{ .cc = .z }, .unused },
87328 .clobbers = .{ .eflags = true },91889 .clobbers = .{ .eflags = true },
87329 .each = .{ .once = &.{91890 .each = .{ .once = &.{
87330 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87357,7 +91918,7 @@ const Temp = struct {...@@ -87357,7 +91918,7 @@ const Temp = struct {
87357 .unused,91918 .unused,
87358 .unused,91919 .unused,
87359 },91920 },
87360 .dst_temps = .{.{ .cc = .z }},91921 .dst_temps = .{ .{ .cc = .z }, .unused },
87361 .clobbers = .{ .eflags = true },91922 .clobbers = .{ .eflags = true },
87362 .each = .{ .once = &.{91923 .each = .{ .once = &.{
87363 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87390,7 +91951,7 @@ const Temp = struct {...@@ -87390,7 +91951,7 @@ const Temp = struct {
87390 .unused,91951 .unused,
87391 .unused,91952 .unused,
87392 },91953 },
87393 .dst_temps = .{.{ .cc = .z }},91954 .dst_temps = .{ .{ .cc = .z }, .unused },
87394 .clobbers = .{ .eflags = true },91955 .clobbers = .{ .eflags = true },
87395 .each = .{ .once = &.{91956 .each = .{ .once = &.{
87396 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91957 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87423,7 +91984,7 @@ const Temp = struct {...@@ -87423,7 +91984,7 @@ const Temp = struct {
87423 .unused,91984 .unused,
87424 .unused,91985 .unused,
87425 },91986 },
87426 .dst_temps = .{.{ .cc = .z }},91987 .dst_temps = .{ .{ .cc = .z }, .unused },
87427 .clobbers = .{ .eflags = true },91988 .clobbers = .{ .eflags = true },
87428 .each = .{ .once = &.{91989 .each = .{ .once = &.{
87429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },91990 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87453,7 +92014,7 @@ const Temp = struct {...@@ -87453,7 +92014,7 @@ const Temp = struct {
87453 .unused,92014 .unused,
87454 .unused,92015 .unused,
87455 },92016 },
87456 .dst_temps = .{.{ .cc = .z }},92017 .dst_temps = .{ .{ .cc = .z }, .unused },
87457 .clobbers = .{ .eflags = true },92018 .clobbers = .{ .eflags = true },
87458 .each = .{ .once = &.{92019 .each = .{ .once = &.{
87459 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },92020 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
...@@ -87477,6 +92038,748 @@ const Temp = struct {...@@ -87477,6 +92038,748 @@ const Temp = struct {
87477 return res[0];92038 return res[0];
87478 }92039 }
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
87480 fn finish(92783 fn finish(
87481 temp: Temp,92784 temp: Temp,
87482 inst: Air.Inst.Index,92785 inst: Air.Inst.Index,
...@@ -87630,7 +92933,7 @@ fn tempAllocReg(cg: *CodeGen, ty: Type, rs: RegisterManager.RegisterBitSet) Inne...@@ -87630,7 +92933,7 @@ fn tempAllocReg(cg: *CodeGen, ty: Type, rs: RegisterManager.RegisterBitSet) Inne
87630fn tempAllocRegPair(cg: *CodeGen, ty: Type, rs: RegisterManager.RegisterBitSet) InnerError!Temp {92933fn tempAllocRegPair(cg: *CodeGen, ty: Type, rs: RegisterManager.RegisterBitSet) InnerError!Temp {
87631 const temp_index = cg.next_temp_index;92934 const temp_index = cg.next_temp_index;
87632 temp_index.tracking(cg).* = .init(92935 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) },
87634 );92937 );
87635 cg.temp_type[@intFromEnum(temp_index)] = ty;92938 cg.temp_type[@intFromEnum(temp_index)] = ty;
87636 cg.next_temp_index = @enumFromInt(@intFromEnum(temp_index) + 1);92939 cg.next_temp_index = @enumFromInt(@intFromEnum(temp_index) + 1);
...@@ -87764,7 +93067,7 @@ const Select = struct {...@@ -87764,7 +93067,7 @@ const Select = struct {
87764 const mir_tag: Mir.Inst.FixedTag = .{ inst[1], inst[2] };93067 const mir_tag: Mir.Inst.FixedTag = .{ inst[1], inst[2] };
87765 pseudo: {93068 pseudo: {
87766 switch (inst[0]) {93069 switch (inst[0]) {
87767 .@"0:", .@"1:", .@"2:" => |label| s.emitLabel(label),93070 .@"0:", .@"1:", .@"2:", .@"3:" => |label| s.emitLabel(label),
87768 ._ => {},93071 ._ => {},
87769 .pseudo => break :pseudo,93072 .pseudo => break :pseudo,
87770 }93073 }
...@@ -87919,11 +93222,13 @@ const Select = struct {...@@ -87919,11 +93222,13 @@ const Select = struct {
87919 dst_temps: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]TempSpec.Kind = @splat(.unused),93222 dst_temps: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]TempSpec.Kind = @splat(.unused),
87920 clobbers: packed struct {93223 clobbers: packed struct {
87921 eflags: bool = false,93224 eflags: bool = false,
87922 caller_preserved: enum(u2) { none, ccc, zigcc } = .none,93225 caller_preserved: CallConv = .none,
87923 } = .{},93226 } = .{},
87924 each: union(enum) {93227 each: union(enum) {
87925 once: []const Instruction,93228 once: []const Instruction,
87926 },93229 },
93230
93231 const CallConv = enum(u2) { none, ccc, zigcc };
87927 };93232 };
8792893233
87929 const Constraint = union(enum) {93234 const Constraint = union(enum) {
...@@ -88170,6 +93475,10 @@ const Select = struct {...@@ -88170,6 +93475,10 @@ const Select = struct {
88170 simm32,93475 simm32,
88171 to_reg: Register,93476 to_reg: Register,
88172 to_reg_pair: [2]Register,93477 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,
88173 mem,93482 mem,
88174 to_mem,93483 to_mem,
88175 mut_mem,93484 mut_mem,
...@@ -88205,7 +93514,7 @@ const Select = struct {...@@ -88205,7 +93514,7 @@ const Select = struct {
8820593514
88206 fn matches(src: Src, temp: Temp, cg: *CodeGen) bool {93515 fn matches(src: Src, temp: Temp, cg: *CodeGen) bool {
88207 return switch (src) {93516 return switch (src) {
88208 .none => unreachable,93517 .none => temp.tracking(cg).short == .none,
88209 .imm8 => switch (temp.tracking(cg).short) {93518 .imm8 => switch (temp.tracking(cg).short) {
88210 .immediate => |imm| std.math.cast(u8, imm) != null,93519 .immediate => |imm| std.math.cast(u8, imm) != null,
88211 else => false,93520 else => false,
...@@ -88225,7 +93534,7 @@ const Select = struct {...@@ -88225,7 +93534,7 @@ const Select = struct {
88225 .mem => temp.tracking(cg).short.isMemory(),93534 .mem => temp.tracking(cg).short.isMemory(),
88226 .to_mem, .to_mut_mem => true,93535 .to_mem, .to_mut_mem => true,
88227 .mut_mem => temp.isMut(cg) and temp.tracking(cg).short.isMemory(),93536 .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,
88229 .gpr => temp.typeOf(cg).abiSize(cg.pt.zcu) <= 8 and switch (temp.tracking(cg).short) {93538 .gpr => temp.typeOf(cg).abiSize(cg.pt.zcu) <= 8 and switch (temp.tracking(cg).short) {
88230 .register => |reg| reg.class() == .general_purpose,93539 .register => |reg| reg.class() == .general_purpose,
88231 .register_offset => |reg_off| reg_off.reg.class() == .general_purpose and reg_off.off == 0,93540 .register_offset => |reg_off| reg_off.reg.class() == .general_purpose and reg_off.off == 0,
...@@ -88308,11 +93617,15 @@ const Select = struct {...@@ -88308,11 +93617,15 @@ const Select = struct {
8830893617
88309 fn convert(src: Src, temp: *Temp, cg: *CodeGen) InnerError!bool {93618 fn convert(src: Src, temp: *Temp, cg: *CodeGen) InnerError!bool {
88310 return switch (src) {93619 return switch (src) {
88311 .none => unreachable,93620 .none, .imm8, .imm16, .imm32, .simm32 => false,
88312 .imm8, .imm16, .imm32, .simm32 => false,93621 .mem, .to_mem => try temp.toBase(false, cg),
88313 .mem, .to_mem, .mut_mem, .to_mut_mem => try temp.toBase(cg),93622 .mut_mem, .to_mut_mem => try temp.toBase(true, cg),
88314 .to_reg => |reg| try temp.toReg(reg, cg),93623 .to_reg => |reg| try temp.toReg(reg, cg),
88315 .to_reg_pair => |regs| try temp.toRegPair(regs, cg),93624 .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),
88316 .gpr, .to_gpr => try temp.toRegClass(false, .general_purpose, cg),93629 .gpr, .to_gpr => try temp.toRegClass(false, .general_purpose, cg),
88317 .mut_gpr, .to_mut_gpr => try temp.toRegClass(true, .general_purpose, cg),93630 .mut_gpr, .to_mut_gpr => try temp.toRegClass(true, .general_purpose, cg),
88318 .x87, .to_x87 => try temp.toRegClass(false, .x87, cg),93631 .x87, .to_x87 => try temp.toRegClass(false, .x87, cg),
...@@ -88339,57 +93652,102 @@ const Select = struct {...@@ -88339,57 +93652,102 @@ const Select = struct {
88339 ref: Select.Operand.Ref,93652 ref: Select.Operand.Ref,
88340 reg: Register,93653 reg: Register,
88341 reg_pair: [2]Register,93654 reg_pair: [2]Register,
93655 param_gpr: CallConvRegSpec,
93656 param_gpr_pair: CallConvRegSpec,
93657 ret_gpr: CallConvRegSpec,
93658 ret_gpr_pair: CallConvRegSpec,
88342 rc: Register.Class,93659 rc: Register.Class,
93660 rc_pair: Register.Class,
88343 mut_rc: struct { ref: Select.Operand.Ref, rc: Register.Class },93661 mut_rc: struct { ref: Select.Operand.Ref, rc: Register.Class },
88344 ref_mask: struct { ref: Select.Operand.Ref, info: MaskInfo },93662 ref_mask: struct { ref: Select.Operand.Ref, info: MaskInfo },
88345 rc_mask: struct { rc: Register.Class, info: MaskInfo },93663 rc_mask: struct { rc: Register.Class, info: MaskInfo },
88346 mut_rc_mask: struct { ref: Select.Operand.Ref, rc: Register.Class, info: MaskInfo },93664 mut_rc_mask: struct { ref: Select.Operand.Ref, rc: Register.Class, info: MaskInfo },
88347 mem,93665 mem,
88348 smin_mem: ConstInfo,93666 mem_of_type: Select.Operand.Ref,
88349 smax_mem: ConstInfo,93667 smin_mem: ConstSpec,
88350 umin_mem: ConstInfo,93668 smax_mem: ConstSpec,
88351 umax_mem: ConstInfo,93669 umin_mem: ConstSpec,
88352 @"0x1p63_mem": ConstInfo,93670 umax_mem: ConstSpec,
93671 @"0x1p63_mem": ConstSpec,
88353 f64_0x1p52_0x1p84_mem,93672 f64_0x1p52_0x1p84_mem,
88354 u32_0x1p52_hi_0x1p84_hi_0_0_mem,93673 u32_0x1p52_hi_0x1p84_hi_0_0_mem,
88355 f32_0_0x1p64_mem,93674 f32_0_0x1p64_mem,
88356 pshufb_cm_mem: struct { from: Memory.Size, to: Memory.Size },93675 pshufb_cm_mem: struct { from: Memory.Size, to: Memory.Size },
88357 frame: FrameIndex,93676 frame: FrameIndex,
93677 lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none },
88358 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },93678 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },
8835993679
88360 const ConstInfo = struct {93680 const ConstSpec = struct {
88361 ref: ?Select.Operand.Ref = null,93681 ref: Select.Operand.Ref = .none,
88362 to_signedness: ?std.builtin.Signedness = null,93682 to_signedness: ?std.builtin.Signedness = null,
88363 vectorize_to: ?Memory.Size = null,93683 vectorize_to: ?Memory.Size = null,
88364 };93684 };
8836593685
88366 fn finish(kind: Kind, temp: Temp, s: *const Select) void {93686 const CallConvRegSpec = struct {
88367 switch (kind) {93687 cc: Case.CallConv,
88368 else => {},93688 index: u2,
88369 inline .rc_mask, .mut_rc_mask, .ref_mask => |mask| temp.asMask(mask.info, s.cg),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 };
88370 }93696 }
88371 }93697 };
8837293698
88373 fn pass(kind: Kind) u2 {93699 fn lock(kind: Kind, cg: *CodeGen) ![2]?RegisterLock {
88374 return switch (kind) {93700 var reg_locks: [2]?RegisterLock = @splat(null);
88375 .unused => 0,93701 const regs: [2]Register = switch (kind) {
88376 .reg => 1,93702 else => return reg_locks,
88377 else => 2,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].*,
88378 };93709 };
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 }
88379 }93724 }
88380 };93725 };
8838193726
88382 fn create(spec: TempSpec, s: *Select) InnerError!struct { Temp, bool } {93727 fn create(spec: TempSpec, s: *const Select) InnerError!struct { Temp, bool } {
88383 const cg = s.cg;93728 const cg = s.cg;
88384 const pt = cg.pt;93729 const pt = cg.pt;
88385 return switch (spec.kind) {93730 return switch (spec.kind) {
88386 .unused => unreachable,93731 .unused => .{ undefined, false },
88387 .any => .{ try cg.tempAlloc(spec.type), true },93732 .any => .{ try cg.tempAlloc(spec.type), true },
88388 .cc => |cc| .{ try cg.tempInit(spec.type, .{ .eflags = cc }), true },93733 .cc => |cc| .{ try cg.tempInit(spec.type, .{ .eflags = cc }), true },
88389 .ref => |ref| .{ ref.tempOf(s), false },93734 .ref => |ref| .{ ref.tempOf(s), false },
88390 .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true },93735 .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true },
88391 .reg_pair => |regs| .{ try cg.tempInit(spec.type, .{ .register_pair = regs }), true },93736 .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 },
88392 .rc => |rc| .{ try cg.tempAllocReg(spec.type, regSetForRegClass(rc)), true },93749 .rc => |rc| .{ try cg.tempAllocReg(spec.type, regSetForRegClass(rc)), true },
93750 .rc_pair => |rc| .{ try cg.tempAllocRegPair(spec.type, regSetForRegClass(rc)), true },
88393 .mut_rc => |ref_rc| {93751 .mut_rc => |ref_rc| {
88394 const temp = ref_rc.ref.tempOf(s);93752 const temp = ref_rc.ref.tempOf(s);
88395 if (temp.isMut(cg)) switch (temp.tracking(cg).short) {93753 if (temp.isMut(cg)) switch (temp.tracking(cg).short) {
...@@ -88411,15 +93769,16 @@ const Select = struct {...@@ -88411,15 +93769,16 @@ const Select = struct {
88411 return .{ try cg.tempAllocReg(spec.type, regSetForRegClass(ref_rc_mask.rc)), true };93769 return .{ try cg.tempAllocReg(spec.type, regSetForRegClass(ref_rc_mask.rc)), true };
88412 },93770 },
88413 .mem => .{ try cg.tempAllocMem(spec.type), true },93771 .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| {
88415 const zcu = pt.zcu;93774 const zcu = pt.zcu;
88416 const ip = &zcu.intern_pool;93775 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);
88418 const vector_len, const scalar_ty: Type = switch (ip.indexToKey(ty.toIntern())) {93777 const vector_len, const scalar_ty: Type = switch (ip.indexToKey(ty.toIntern())) {
88419 else => .{ null, ty },93778 else => .{ null, ty },
88420 .vector_type => |vector_type| .{ vector_type.len, .fromInterned(vector_type.child) },93779 .vector_type => |vector_type| .{ vector_type.len, .fromInterned(vector_type.child) },
88421 };93780 };
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) {
88423 .none => null,93782 .none => null,
88424 else => @intCast(@divExact(@divExact(vectorize_to.bitSize(cg.target), 8), scalar_ty.abiSize(pt.zcu))),93783 else => @intCast(@divExact(@divExact(vectorize_to.bitSize(cg.target), 8), scalar_ty.abiSize(pt.zcu))),
88425 } else vector_len;93784 } else vector_len;
...@@ -88437,7 +93796,7 @@ const Select = struct {...@@ -88437,7 +93796,7 @@ const Select = struct {
88437 .signedness = .signed,93796 .signedness = .signed,
88438 .bits = cg.floatBits(scalar_ty).?,93797 .bits = cg.floatBits(scalar_ty).?,
88439 };93798 };
88440 const scalar_signedness = const_info.to_signedness orelse scalar_info.signedness;93799 const scalar_signedness = const_spec.to_signedness orelse scalar_info.signedness;
88441 const scalar_int_ty = try pt.intType(scalar_signedness, scalar_info.bits);93800 const scalar_int_ty = try pt.intType(scalar_signedness, scalar_info.bits);
8844293801
88443 if (scalar_info.bits <= 64) {93802 if (scalar_info.bits <= 64) {
...@@ -88525,10 +93884,10 @@ const Select = struct {...@@ -88525,10 +93884,10 @@ const Select = struct {
88525 (try pt.floatValue(.f32, @as(f32, 0x1p64))).toIntern(),93884 (try pt.floatValue(.f32, @as(f32, 0x1p64))).toIntern(),
88526 } },93885 } },
88527 } }))), true },93886 } }))), true },
88528 .pshufb_cm_mem => |info| {93887 .pshufb_cm_mem => |const_spec| {
88529 var bytes: [16]u8 = @splat(1 << 7);93888 var bytes: [16]u8 = @splat(1 << 7);
88530 const from_bytes: u32 = @intCast(@divExact(info.from.bitSize(cg.target), 8));93889 const from_bytes: u32 = @intCast(@divExact(const_spec.from.bitSize(cg.target), 8));
88531 const to_bytes: u32 = @intCast(@divExact(info.to.bitSize(cg.target), 8));93890 const to_bytes: u32 = @intCast(@divExact(const_spec.to.bitSize(cg.target), 8));
88532 var from_index: u32 = 0;93891 var from_index: u32 = 0;
88533 var to_index: u32 = 0;93892 var to_index: u32 = 0;
88534 while (from_index < bytes.len) {93893 while (from_index < bytes.len) {
...@@ -88543,11 +93902,33 @@ const Select = struct {...@@ -88543,11 +93902,33 @@ const Select = struct {
88543 } }))), true };93902 } }))), true };
88544 },93903 },
88545 .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true },93904 .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 = .{
88547 .sym_index = if (cg.bin_file.cast(.elf)) |elf_file|93926 .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)
88549 else if (cg.bin_file.cast(.macho)) |macho_file|93928 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)
88551 else93932 else
88552 return cg.fail("external symbols unimplemented for {s}", .{@tagName(cg.bin_file.tag)}),93933 return cg.fail("external symbols unimplemented for {s}", .{@tagName(cg.bin_file.tag)}),
88553 } }), true },93934 } }), true },
...@@ -88564,7 +93945,7 @@ const Select = struct {...@@ -88564,7 +93945,7 @@ const Select = struct {
88564 Select.Operand,93945 Select.Operand,
88565 Select.Operand,93946 Select.Operand,
88566 };93947 };
88567 const Label = enum { @"0:", @"1:", @"2:", @"_", pseudo };93948 const Label = enum { @"0:", @"1:", @"2:", @"3:", @"_", pseudo };
88568 const Operand = struct {93949 const Operand = struct {
88569 flags: packed struct(u16) {93950 flags: packed struct(u16) {
88570 tag: Tag,93951 tag: Tag,
...@@ -88595,8 +93976,10 @@ const Select = struct {...@@ -88595,8 +93976,10 @@ const Select = struct {
88595 ptr_size,93976 ptr_size,
88596 ptr_bit_size,93977 ptr_bit_size,
88597 size,93978 size,
93979 src0_size,
88598 delta_size,93980 delta_size,
88599 delta_elem_size,93981 delta_elem_size,
93982 size_add_elem_size,
88600 size_sub_elem_size,93983 size_sub_elem_size,
88601 unaligned_size,93984 unaligned_size,
88602 bit_size,93985 bit_size,
...@@ -88606,13 +93989,14 @@ const Select = struct {...@@ -88606,13 +93989,14 @@ const Select = struct {
88606 elem_size,93989 elem_size,
88607 src0_elem_size,93990 src0_elem_size,
88608 dst0_elem_size,93991 dst0_elem_size,
88609 src0_elem_size_times_src1,93992 src0_elem_size_mul_src1,
93993 src1,
88610 log2_src0_elem_size,93994 log2_src0_elem_size,
88611 smin,93995 smin,
88612 smax,93996 smax,
88613 umax,93997 umax,
88614 },93998 },
88615 op: enum(u2) { mul, div, rem_8_mul },93999 op: enum(u2) { mul, div, div_8_down, rem_8_mul },
88616 rhs: Memory.Scale,94000 rhs: Memory.Scale,
8861794001
88618 const none: Adjust = .{ .sign = .pos, .lhs = .none, .op = .mul, .rhs = .@"1" };94002 const none: Adjust = .{ .sign = .pos, .lhs = .none, .op = .mul, .rhs = .@"1" };
...@@ -88625,9 +94009,12 @@ const Select = struct {...@@ -88625,9 +94009,12 @@ const Select = struct {
88625 const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" };94009 const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" };
88626 const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" };94010 const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" };
88627 const sub_size: Adjust = .{ .sign = .neg, .lhs = .size, .op = .mul, .rhs = .@"1" };94011 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" };
88628 const add_delta_size_div_8: Adjust = .{ .sign = .pos, .lhs = .delta_size, .op = .div, .rhs = .@"8" };94014 const add_delta_size_div_8: Adjust = .{ .sign = .pos, .lhs = .delta_size, .op = .div, .rhs = .@"8" };
88629 const add_delta_elem_size: Adjust = .{ .sign = .pos, .lhs = .delta_elem_size, .op = .mul, .rhs = .@"1" };94015 const add_delta_elem_size: Adjust = .{ .sign = .pos, .lhs = .delta_elem_size, .op = .mul, .rhs = .@"1" };
88630 const add_delta_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .delta_elem_size, .op = .div, .rhs = .@"8" };94016 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" };
88631 const add_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .size_sub_elem_size, .op = .mul, .rhs = .@"1" };94018 const add_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .size_sub_elem_size, .op = .mul, .rhs = .@"1" };
88632 const add_unaligned_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };94019 const add_unaligned_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
88633 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };94020 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
...@@ -88644,16 +94031,22 @@ const Select = struct {...@@ -88644,16 +94031,22 @@ const Select = struct {
88644 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };94031 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };
88645 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };94032 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };
88646 const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" };94033 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" };
88648 const add_8_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"8" };94034 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" };
88649 const add_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" };94039 const add_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" };
88650 const add_2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"2" };94040 const add_2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"2" };
88651 const add_4_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"4" };94041 const add_4_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"4" };
88652 const add_8_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"8" };94042 const add_8_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"8" };
88653 const add_src0_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .div, .rhs = .@"8" };94043 const add_src0_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .div, .rhs = .@"8" };
88654 const sub_src0_elem_size: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" };94044 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" };94045 const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_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" };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" };
88657 const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" };94050 const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" };
88658 const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" };94051 const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" };
88659 const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" };94052 const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" };
...@@ -88671,6 +94064,7 @@ const Select = struct {...@@ -88671,6 +94064,7 @@ const Select = struct {
88671 tmp7,94064 tmp7,
88672 tmp8,94065 tmp8,
88673 dst0,94066 dst0,
94067 dst1,
88674 src0,94068 src0,
88675 src1,94069 src1,
88676 src2,94070 src2,
...@@ -88792,6 +94186,17 @@ const Select = struct {...@@ -88792,6 +94186,17 @@ const Select = struct {
88792 const dst0x: Sized = .{ .ref = .dst0, .size = .xword };94186 const dst0x: Sized = .{ .ref = .dst0, .size = .xword };
88793 const dst0y: Sized = .{ .ref = .dst0, .size = .yword };94187 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
88795 const src0: Sized = .{ .ref = .src0, .size = .none };94200 const src0: Sized = .{ .ref = .src0, .size = .none };
88796 const src0b: Sized = .{ .ref = .src0, .size = .byte };94201 const src0b: Sized = .{ .ref = .src0, .size = .byte };
88797 const src0w: Sized = .{ .ref = .src0, .size = .word };94202 const src0w: Sized = .{ .ref = .src0, .size = .word };
...@@ -88847,6 +94252,8 @@ const Select = struct {...@@ -88847,6 +94252,8 @@ const Select = struct {
88847 const @"1f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp1, .size = .none } };94252 const @"1f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp1, .size = .none } };
88848 const @"2b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp2, .size = .none } };94253 const @"2b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp2, .size = .none } };
88849 const @"2f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp2, .size = .none } };94254 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
88851 const tmp0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0b };94258 const tmp0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0b };
88852 const tmp0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0w };94259 const tmp0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0w };
...@@ -88948,6 +94355,16 @@ const Select = struct {...@@ -88948,6 +94355,16 @@ const Select = struct {
88948 const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0x };94355 const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0x };
88949 const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0y };94356 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
88951 const src0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0b };94368 const src0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0b };
88952 const src0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0w };94369 const src0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0w };
88953 const src0d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0d };94370 const src0d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0d };
...@@ -89025,6 +94442,13 @@ const Select = struct {...@@ -89025,6 +94442,13 @@ const Select = struct {
89025 .base = base,94442 .base = base,
89026 };94443 };
89027 }94444 }
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 }
89028 fn lead(base: Ref.Sized, disp: i32) Select.Operand {94452 fn lead(base: Ref.Sized, disp: i32) Select.Operand {
89029 return .{94453 return .{
89030 .flags = .{ .tag = .lea },94454 .flags = .{ .tag = .lea },
...@@ -89181,10 +94605,15 @@ const Select = struct {...@@ -89181,10 +94605,15 @@ const Select = struct {
89181 .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8),94605 .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8),
89182 .ptr_bit_size => s.cg.target.ptrBitWidth(),94606 .ptr_bit_size => s.cg.target.ptrBitWidth(),
89183 .size => @intCast(op.base.ref.typeOf(s).abiSize(s.cg.pt.zcu)),94607 .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)),
89184 .delta_size => @intCast(@as(SignedImm, @intCast(op.base.ref.typeOf(s).abiSize(s.cg.pt.zcu))) -94609 .delta_size => @intCast(@as(SignedImm, @intCast(op.base.ref.typeOf(s).abiSize(s.cg.pt.zcu))) -
89185 @as(SignedImm, @intCast(op.index.ref.typeOf(s).abiSize(s.cg.pt.zcu)))),94610 @as(SignedImm, @intCast(op.index.ref.typeOf(s).abiSize(s.cg.pt.zcu)))),
89186 .delta_elem_size => @intCast(@as(SignedImm, @intCast(op.base.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))) -94611 .delta_elem_size => @intCast(@as(SignedImm, @intCast(op.base.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))) -
89187 @as(SignedImm, @intCast(op.index.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)))),94612 @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 },
89188 .size_sub_elem_size => {94617 .size_sub_elem_size => {
89189 const ty = op.base.ref.typeOf(s);94618 const ty = op.base.ref.typeOf(s);
89190 break :lhs @intCast(ty.abiSize(s.cg.pt.zcu) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu));94619 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 {...@@ -89200,8 +94629,9 @@ const Select = struct {
89200 .elem_size => @intCast(op.base.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),94629 .elem_size => @intCast(op.base.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),
89201 .src0_elem_size => @intCast(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),94630 .src0_elem_size => @intCast(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),
89202 .dst0_elem_size => @intCast(Select.Operand.Ref.dst0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),94631 .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) *
89204 Select.Operand.Ref.src1.valueOf(s).immediate),94633 Select.Operand.Ref.src1.valueOf(s).immediate),
94634 .src1 => @intCast(Select.Operand.Ref.src1.valueOf(s).immediate),
89205 .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))),94635 .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))),
89206 .smin => @as(SignedImm, std.math.minInt(SignedImm)) >> @truncate(94636 .smin => @as(SignedImm, std.math.minInt(SignedImm)) >> @truncate(
89207 -%op.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu),94637 -%op.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu),
...@@ -89214,18 +94644,19 @@ const Select = struct {...@@ -89214,18 +94644,19 @@ const Select = struct {
89214 )),94644 )),
89215 };94645 };
89216 const rhs = op.flags.adjust.rhs.toLog2();94646 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) {
89218 .mul => {94648 .mul => {
89219 const res = @shlWithOverflow(lhs, rhs);94649 const op_res = @shlWithOverflow(lhs, rhs);
89220 assert(res[1] == 0);94650 assert(op_res[1] == 0);
89221 break :res res[0];94651 break :op_res op_res[0];
89222 },94652 },
89223 .div => @shrExact(lhs, rhs),94653 .div => @shrExact(lhs, rhs),
94654 .div_8_down => lhs >> 3 & @as(SignedImm, -1) << rhs,
89224 .rem_8_mul => lhs & (@as(SignedImm, 1) << @intCast(@as(u3, 3) + rhs)) - 1,94655 .rem_8_mul => lhs & (@as(SignedImm, 1) << @intCast(@as(u3, 3) + rhs)) - 1,
89225 };94656 };
89226 return switch (op.flags.adjust.sign) {94657 return switch (op.flags.adjust.sign) {
89227 .neg => op.imm - res,94658 .neg => op.imm - op_res,
89228 .pos => op.imm + res,94659 .pos => op.imm + op_res,
89229 };94660 };
89230 }94661 }
8923194662
...@@ -89253,21 +94684,44 @@ const Select = struct {...@@ -89253,21 +94684,44 @@ const Select = struct {
89253 .simm => .{ .imm = .s(op.adjustedImm(i32, s)) },94684 .simm => .{ .imm = .s(op.adjustedImm(i32, s)) },
89254 .uimm => .{ .imm = .u(@bitCast(op.adjustedImm(i64, s))) },94685 .uimm => .{ .imm = .u(@bitCast(op.adjustedImm(i64, s))) },
89255 .lea => .{ .mem = .{94686 .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 },
89257 .mod = .{ .rm = .{94693 .mod = .{ .rm = .{
89258 .size = op.base.size,94694 .size = op.base.size,
89259 .index = switch (op.index.ref) {94695 .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 },
89261 .none => .none,94701 .none => .none,
89262 },94702 },
89263 .scale = op.index.scale,94703 .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 },
89265 } },94719 } },
89266 } },94720 } },
89267 .mem => .{ .mem = try op.base.ref.valueOf(s).mem(s.cg, .{94721 .mem => .{ .mem = try op.base.ref.valueOf(s).mem(s.cg, .{
89268 .size = op.base.size,94722 .size = op.base.size,
89269 .index = switch (op.index.ref) {94723 .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)),
89271 .none => .none,94725 .none => .none,
89272 },94726 },
89273 .scale = op.index.scale,94727 .scale = op.index.scale,
...@@ -89350,15 +94804,10 @@ fn select(...@@ -89350,15 +94804,10 @@ fn select(
8935094804
89351 @memcpy(s_src_temps[0..src_temps.len], src_temps);94805 @memcpy(s_src_temps[0..src_temps.len], src_temps);
89352 std.mem.swap(Temp, &s_src_temps[pattern.commute[0]], &s_src_temps[pattern.commute[1]]);94806 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| {94807 var dst_locks: [s_dst_temps.len][2]?RegisterLock = @splat(@splat(null));
89354 if (dst_kind.pass() != 1) continue;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);
89355 dst_temp.*, _ = try Select.TempSpec.create(.{ .type = dst_ty, .kind = dst_kind }, &s);94809 var tmp_locks: [s_tmp_temps.len][2]?RegisterLock = @splat(@splat(null));
89356 }94810 for (&tmp_locks, case.extra_temps) |*tmp_lock, tmp_spec| tmp_lock.* = try tmp_spec.kind.lock(cg);
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 };
8936294811
89363 while (true) for (pattern.src[0..src_temps.len], src_temps) |src_pattern, *src_temp| {94812 while (true) for (pattern.src[0..src_temps.len], src_temps) |src_pattern, *src_temp| {
89364 if (try src_pattern.convert(src_temp, cg)) break;94813 if (try src_pattern.convert(src_temp, cg)) break;
...@@ -89368,10 +94817,9 @@ fn select(...@@ -89368,10 +94817,9 @@ fn select(
8936894817
89369 if (case.clobbers.eflags) try cg.spillEflagsIfOccupied();94818 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| {94820 var tmp_owned: [s_tmp_temps.len]bool = @splat(false);
89372 if (dst_kind.pass() != 2) continue;94821 for (s_tmp_temps, &tmp_owned, case.extra_temps) |*temp, *owned, tmp_spec| temp.*, owned.* = try tmp_spec.create(&s);
89373 dst_temp.*, _ = try Select.TempSpec.create(.{ .type = dst_ty, .kind = dst_kind }, &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);
89374 }
89375 @memcpy(s_dst_temps[0..dst_temps.len], dst_temps);94823 @memcpy(s_dst_temps[0..dst_temps.len], dst_temps);
8937694824
89377 switch (case.each) {94825 switch (case.each) {
...@@ -89382,6 +94830,8 @@ fn select(...@@ -89382,6 +94830,8 @@ fn select(
89382 }94830 }
89383 assert(s.top == 0);94831 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);
89385 caller_preserved: {94835 caller_preserved: {
89386 const cc = switch (case.clobbers.caller_preserved) {94836 const cc = switch (case.clobbers.caller_preserved) {
89387 .none => break :caller_preserved,94837 .none => break :caller_preserved,
...@@ -89400,7 +94850,7 @@ fn select(...@@ -89400,7 +94850,7 @@ fn select(
89400 },94850 },
89401 }94851 }
89402 }94852 }
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);
89404 for (tmp_owned, s_tmp_temps) |owned, temp| if (owned) try temp.die(cg);94854 for (tmp_owned, s_tmp_temps) |owned, temp| if (owned) try temp.die(cg);
89405 return;94855 return;
89406 }94856 }
src/arch/x86_64/Emit.zig+46-22
...@@ -88,13 +88,32 @@ pub fn emitMir(emit: *Emit) Error!void {...@@ -88,13 +88,32 @@ pub fn emitMir(emit: *Emit) Error!void {
88 lowered_relocs[0].lowered_inst_index == lowered_index) : ({88 lowered_relocs[0].lowered_inst_index == lowered_index) : ({
89 lowered_relocs = lowered_relocs[1..];89 lowered_relocs = lowered_relocs[1..];
90 }) switch (lowered_relocs[0].target) {90 }) switch (lowered_relocs[0].target) {
91 .inst => |target| try relocs.append(emit.lower.allocator, .{91 .inst => |target| {
92 .source = start_offset,92 const inst_length: u4 = @intCast(end_offset - start_offset);
93 .source_offset = end_offset - 4,93 const reloc_offset, const reloc_length = reloc_offset_length: {
94 .target = target,94 var reloc_offset = inst_length;
95 .target_offset = lowered_relocs[0].off,95 var op_index: usize = lowered_inst.ops.len;
96 .length = @intCast(end_offset - start_offset),96 while (true) {
97 }),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 },
98 .table => try table_relocs.append(emit.lower.allocator, .{117 .table => try table_relocs.append(emit.lower.allocator, .{
99 .source_offset = end_offset - 4,118 .source_offset = end_offset - 4,
100 .target_offset = lowered_relocs[0].off,119 .target_offset = lowered_relocs[0].off,
...@@ -409,7 +428,7 @@ pub fn emitMir(emit: *Emit) Error!void {...@@ -409,7 +428,7 @@ pub fn emitMir(emit: *Emit) Error!void {
409 } } };428 } } };
410 },429 },
411 .pseudo_dbg_local_am => loc: {430 .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);
413 break :loc .{ mir_inst.data.ax.air_inst, .{ .plus = .{432 break :loc .{ mir_inst.data.ax.air_inst, .{ .plus = .{
414 base: {433 base: {
415 loc_buf[0] = switch (mem.base()) {434 loc_buf[0] = switch (mem.base()) {
...@@ -466,15 +485,18 @@ pub fn emitMir(emit: *Emit) Error!void {...@@ -466,15 +485,18 @@ pub fn emitMir(emit: *Emit) Error!void {
466 }485 }
467 }486 }
468 }487 }
469 {488 for (relocs.items) |reloc| {
470 // TODO this function currently assumes all relocs via JMP/CALL instructions are 32bit in size.489 const target = code_offset_mapping[reloc.target];
471 // This should be reversed like it is done in aarch64 MIR emit code: start with the smallest490 const disp = @as(i64, @intCast(target)) - @as(i64, @intCast(reloc.inst_offset + reloc.inst_length)) + reloc.target_offset;
472 // possible resolution, i.e., 8bit, and iteratively converge on the minimum required resolution491 const inst_bytes = emit.code.items[reloc.inst_offset..][0..reloc.inst_length];
473 // until the entire decl is correctly emitted with all JMP/CALL instructions within range.492 switch (reloc.source_length) {
474 for (relocs.items) |reloc| {493 else => unreachable,
475 const target = code_offset_mapping[reloc.target];494 inline 1, 4 => |source_length| std.mem.writeInt(
476 const disp = @as(i64, @intCast(target)) - @as(i64, @intCast(reloc.source + reloc.length)) + reloc.target_offset;495 @Type(.{ .int = .{ .signedness = .signed, .bits = @as(u16, 8) * source_length } }),
477 std.mem.writeInt(i32, emit.code.items[reloc.source_offset..][0..4], @intCast(disp), .little);496 inst_bytes[reloc.source_offset..][0..source_length],
497 @intCast(disp),
498 .little,
499 ),
478 }500 }
479 }501 }
480 if (emit.lower.mir.table.len > 0) {502 if (emit.lower.mir.table.len > 0) {
...@@ -511,15 +533,17 @@ fn fail(emit: *Emit, comptime format: []const u8, args: anytype) Error {...@@ -511,15 +533,17 @@ fn fail(emit: *Emit, comptime format: []const u8, args: anytype) Error {
511533
512const Reloc = struct {534const Reloc = struct {
513 /// Offset of the instruction.535 /// Offset of the instruction.
514 source: u32,536 inst_offset: u32,
537 /// Length of the instruction.
538 inst_length: u4,
515 /// Offset of the relocation within the instruction.539 /// Offset of the relocation within the instruction.
516 source_offset: u32,540 source_offset: u4,
541 /// Length of the relocation.
542 source_length: u4,
517 /// Target of the relocation.543 /// Target of the relocation.
518 target: Mir.Inst.Index,544 target: Mir.Inst.Index,
519 /// Offset from the target instruction.545 /// Offset from the target.
520 target_offset: i32,546 target_offset: i32,
521 /// Length of the instruction.
522 length: u5,
523};547};
524548
525const TableReloc = struct {549const TableReloc = struct {
src/arch/x86_64/Encoding.zig+11-6
...@@ -304,20 +304,20 @@ pub const Mnemonic = enum {...@@ -304,20 +304,20 @@ pub const Mnemonic = enum {
304 jnc, jne, jng, jnge, jnl, jnle, jno, jnp, jns, jnz, jo, jp, jpe, jpo, jrcxz, js, jz,304 jnc, jne, jng, jnge, jnl, jnle, jno, jnp, jns, jnz, jo, jp, jpe, jpo, jrcxz, js, jz,
305 lahf, lar, lea, leave, lfence, lgdt, lidt, lldt, lmsw, loop, loope, loopne,305 lahf, lar, lea, leave, lfence, lgdt, lidt, lldt, lmsw, loop, loope, loopne,
306 lods, lodsb, lodsd, lodsq, lodsw,306 lods, lodsb, lodsd, lodsq, lodsw,
307 lsl, ltr, lzcnt,307 lsl, ltr,
308 mfence, mov, movbe,308 mfence, mov, movbe,
309 movs, movsb, movsd, movsq, movsw,309 movs, movsb, movsd, movsq, movsw,
310 movsx, movsxd, movzx, mul,310 movsx, movsxd, movzx, mul,
311 neg, nop, not,311 neg, nop, not,
312 @"or", out, outs, outsb, outsd, outsw,312 @"or", out, outs, outsb, outsd, outsw,
313 pause, pop, popcnt, popf, popfd, popfq, push, pushfq,313 pause, pop, popf, popfd, popfq, push, pushfq,
314 rcl, rcr,314 rcl, rcr,
315 rdfsbase, rdgsbase, rdmsr, rdpid, rdpkru, rdpmc, rdrand, rdseed, rdssd, rdssq, rdtsc, rdtscp,315 rdfsbase, rdgsbase, rdmsr, rdpid, rdpkru, rdpmc, rdrand, rdseed, rdssd, rdssq, rdtsc, rdtscp,
316 ret, rol, ror, rorx, rsm,316 ret, rol, ror, rsm,
317 sahf, sal, sar, sarx, sbb,317 sahf, sal, sar, sbb,
318 scas, scasb, scasd, scasq, scasw,318 scas, scasb, scasd, scasq, scasw,
319 senduipi, serialize,319 senduipi, serialize,
320 shl, shld, shlx, shr, shrd, shrx,320 shl, shld, shr, shrd,
321 stac, stc, std, sti, str, stui,321 stac, stc, std, sti, str, stui,
322 sub, swapgs, syscall, sysenter, sysexit, sysret,322 sub, swapgs, syscall, sysenter, sysexit, sysret,
323 seta, setae, setb, setbe, setc, sete, setg, setge, setl, setle, setna, setnae,323 seta, setae, setb, setbe, setc, sete, setg, setge, setl, setle, setna, setnae,
...@@ -433,6 +433,8 @@ pub const Mnemonic = enum {...@@ -433,6 +433,8 @@ pub const Mnemonic = enum {
433 roundpd, roundps, roundsd, roundss,433 roundpd, roundps, roundsd, roundss,
434 // SSE4.2434 // SSE4.2
435 crc32, pcmpgtq,435 crc32, pcmpgtq,
436 // ABM
437 lzcnt, popcnt,
436 // PCLMUL438 // PCLMUL
437 pclmulqdq,439 pclmulqdq,
438 // AES440 // AES
...@@ -440,7 +442,6 @@ pub const Mnemonic = enum {...@@ -440,7 +442,6 @@ pub const Mnemonic = enum {
440 // SHA442 // SHA
441 sha1rnds4, sha1nexte, sha1msg1, sha1msg2, sha256msg1, sha256msg2, sha256rnds2,443 sha1rnds4, sha1nexte, sha1msg1, sha1msg2, sha256msg1, sha256msg2, sha256rnds2,
442 // AVX444 // AVX
443 andn, bextr, blsi, blsmsk, blsr, bzhi, tzcnt,
444 vaddpd, vaddps, vaddsd, vaddss, vaddsubpd, vaddsubps,445 vaddpd, vaddps, vaddsd, vaddss, vaddsubpd, vaddsubps,
445 vaesdec, vaesdeclast, vaesenc, vaesenclast, vaesimc, vaeskeygenassist,446 vaesdec, vaesdeclast, vaesenc, vaesenclast, vaesimc, vaeskeygenassist,
446 vandnpd, vandnps, vandpd, vandps,447 vandnpd, vandnps, vandpd, vandps,
...@@ -506,6 +507,10 @@ pub const Mnemonic = enum {...@@ -506,6 +507,10 @@ pub const Mnemonic = enum {
506 vtestpd, vtestps,507 vtestpd, vtestps,
507 vucomisd, vucomiss, vunpckhpd, vunpckhps, vunpcklpd, vunpcklps,508 vucomisd, vucomiss, vunpckhpd, vunpckhps, vunpcklpd, vunpcklps,
508 vxorpd, vxorps,509 vxorpd, vxorps,
510 // BMI
511 andn, bextr, blsi, blsmsk, blsr, tzcnt,
512 // BMI2
513 bzhi, mulx, pdep, pext, rorx, sarx, shlx, shrx,
509 // F16C514 // F16C
510 vcvtph2ps, vcvtps2ph,515 vcvtph2ps, vcvtps2ph,
511 // FMA516 // FMA
src/arch/x86_64/Lower.zig+92-76
...@@ -10,32 +10,38 @@ mir: Mir,...@@ -10,32 +10,38 @@ mir: Mir,
10cc: std.builtin.CallingConvention,10cc: std.builtin.CallingConvention,
11err_msg: ?*Zcu.ErrorMsg = null,11err_msg: ?*Zcu.ErrorMsg = null,
12src_loc: Zcu.LazySrcLoc,12src_loc: Zcu.LazySrcLoc,
13result_insts_len: u8 = undefined,13result_insts_len: ResultInstIndex = undefined,
14result_relocs_len: u8 = undefined,14result_insts: [max_result_insts]Instruction = undefined,
15result_insts: [15result_relocs_len: ResultRelocIndex = undefined,
16 @max(16result_relocs: [max_result_relocs]Reloc = undefined,
17 1, // non-pseudo instructions17
18 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode18const max_result_insts = @max(
19 2, // cmovcc: cmovcc \ cmovcc19 1, // non-pseudo instructions
20 3, // setcc: setcc \ setcc \ logicop20 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode
21 2, // jcc: jcc \ jcc21 2, // cmovcc: cmovcc \ cmovcc
22 pseudo_probe_align_insts,22 3, // setcc: setcc \ setcc \ logicop
23 pseudo_probe_adjust_unrolled_max_insts,23 2, // jcc: jcc \ jcc
24 pseudo_probe_adjust_setup_insts,24 pseudo_probe_align_insts,
25 pseudo_probe_adjust_loop_insts,25 pseudo_probe_adjust_unrolled_max_insts,
26 abi.Win64.callee_preserved_regs.len * 2, // push_regs/pop_regs26 pseudo_probe_adjust_setup_insts,
27 abi.SysV.callee_preserved_regs.len * 2, // push_regs/pop_regs27 pseudo_probe_adjust_loop_insts,
28 )28 abi.Win64.callee_preserved_regs.len * 2, // push_regs/pop_regs
29]Instruction = undefined,29 abi.SysV.callee_preserved_regs.len * 2, // push_regs/pop_regs
30result_relocs: [30);
31 @max(31const max_result_relocs = @max(
32 1, // jmp/jcc/call/mov/lea: jmp/jcc/call/mov/lea32 1, // jmp/jcc/call/mov/lea: jmp/jcc/call/mov/lea
33 2, // jcc: jcc \ jcc33 2, // jcc: jcc \ jcc
34 2, // test \ jcc \ probe \ sub \ jmp34 2, // test \ jcc \ probe \ sub \ jmp
35 1, // probe \ sub \ jcc35 1, // probe \ sub \ jcc
36 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode36 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode
37 )37);
38]Reloc = undefined,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
40pub const pseudo_probe_align_insts = 5; // test \ jcc \ probe \ sub \ jmp46pub const pseudo_probe_align_insts = 5; // test \ jcc \ probe \ sub \ jmp
41pub const pseudo_probe_adjust_unrolled_max_insts =47pub const pseudo_probe_adjust_unrolled_max_insts =
...@@ -51,7 +57,8 @@ pub const Error = error{...@@ -51,7 +57,8 @@ pub const Error = error{
51};57};
5258
53pub const Reloc = struct {59pub const Reloc = struct {
54 lowered_inst_index: u8,60 lowered_inst_index: ResultInstIndex,
61 op_index: InstOpIndex,
55 target: Target,62 target: Target,
56 off: i32,63 off: i32,
5764
...@@ -114,11 +121,11 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {...@@ -114,11 +121,11 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
114 assert(inst.data.rx.fixes == ._);121 assert(inst.data.rx.fixes == ._);
115 try lower.emit(.none, .cmovnz, &.{122 try lower.emit(.none, .cmovnz, &.{
116 .{ .reg = inst.data.rx.r1 },123 .{ .reg = inst.data.rx.r1 },
117 .{ .mem = lower.mem(inst.data.rx.payload) },124 .{ .mem = lower.mem(1, inst.data.rx.payload) },
118 });125 });
119 try lower.emit(.none, .cmovp, &.{126 try lower.emit(.none, .cmovp, &.{
120 .{ .reg = inst.data.rx.r1 },127 .{ .reg = inst.data.rx.r1 },
121 .{ .mem = lower.mem(inst.data.rx.payload) },128 .{ .mem = lower.mem(1, inst.data.rx.payload) },
122 });129 });
123 },130 },
124 .pseudo_set_z_and_np_r => {131 .pseudo_set_z_and_np_r => {
...@@ -137,13 +144,13 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {...@@ -137,13 +144,13 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
137 .pseudo_set_z_and_np_m => {144 .pseudo_set_z_and_np_m => {
138 assert(inst.data.rx.fixes == ._);145 assert(inst.data.rx.fixes == ._);
139 try lower.emit(.none, .setz, &.{146 try lower.emit(.none, .setz, &.{
140 .{ .mem = lower.mem(inst.data.rx.payload) },147 .{ .mem = lower.mem(0, inst.data.rx.payload) },
141 });148 });
142 try lower.emit(.none, .setnp, &.{149 try lower.emit(.none, .setnp, &.{
143 .{ .reg = inst.data.rx.r1 },150 .{ .reg = inst.data.rx.r1 },
144 });151 });
145 try lower.emit(.none, .@"and", &.{152 try lower.emit(.none, .@"and", &.{
146 .{ .mem = lower.mem(inst.data.rx.payload) },153 .{ .mem = lower.mem(0, inst.data.rx.payload) },
147 .{ .reg = inst.data.rx.r1 },154 .{ .reg = inst.data.rx.r1 },
148 });155 });
149 },156 },
...@@ -163,32 +170,32 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {...@@ -163,32 +170,32 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
163 .pseudo_set_nz_or_p_m => {170 .pseudo_set_nz_or_p_m => {
164 assert(inst.data.rx.fixes == ._);171 assert(inst.data.rx.fixes == ._);
165 try lower.emit(.none, .setnz, &.{172 try lower.emit(.none, .setnz, &.{
166 .{ .mem = lower.mem(inst.data.rx.payload) },173 .{ .mem = lower.mem(0, inst.data.rx.payload) },
167 });174 });
168 try lower.emit(.none, .setp, &.{175 try lower.emit(.none, .setp, &.{
169 .{ .reg = inst.data.rx.r1 },176 .{ .reg = inst.data.rx.r1 },
170 });177 });
171 try lower.emit(.none, .@"or", &.{178 try lower.emit(.none, .@"or", &.{
172 .{ .mem = lower.mem(inst.data.rx.payload) },179 .{ .mem = lower.mem(0, inst.data.rx.payload) },
173 .{ .reg = inst.data.rx.r1 },180 .{ .reg = inst.data.rx.r1 },
174 });181 });
175 },182 },
176 .pseudo_j_z_and_np_inst => {183 .pseudo_j_z_and_np_inst => {
177 assert(inst.data.inst.fixes == ._);184 assert(inst.data.inst.fixes == ._);
178 try lower.emit(.none, .jnz, &.{185 try lower.emit(.none, .jnz, &.{
179 .{ .imm = lower.reloc(.{ .inst = index + 1 }, 0) },186 .{ .imm = lower.reloc(0, .{ .inst = index + 1 }, 0) },
180 });187 });
181 try lower.emit(.none, .jnp, &.{188 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) },
183 });190 });
184 },191 },
185 .pseudo_j_nz_or_p_inst => {192 .pseudo_j_nz_or_p_inst => {
186 assert(inst.data.inst.fixes == ._);193 assert(inst.data.inst.fixes == ._);
187 try lower.emit(.none, .jnz, &.{194 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) },
189 });196 });
190 try lower.emit(.none, .jp, &.{197 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) },
192 });199 });
193 },200 },
194201
...@@ -198,7 +205,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {...@@ -198,7 +205,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
198 .{ .imm = .s(@bitCast(inst.data.ri.i)) },205 .{ .imm = .s(@bitCast(inst.data.ri.i)) },
199 });206 });
200 try lower.emit(.none, .jz, &.{207 try lower.emit(.none, .jz, &.{
201 .{ .imm = lower.reloc(.{ .inst = index + 1 }, 0) },208 .{ .imm = lower.reloc(0, .{ .inst = index + 1 }, 0) },
202 });209 });
203 try lower.emit(.none, .lea, &.{210 try lower.emit(.none, .lea, &.{
204 .{ .reg = inst.data.ri.r1 },211 .{ .reg = inst.data.ri.r1 },
...@@ -214,7 +221,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {...@@ -214,7 +221,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
214 .{ .reg = inst.data.ri.r1.to32() },221 .{ .reg = inst.data.ri.r1.to32() },
215 });222 });
216 try lower.emit(.none, .jmp, &.{223 try lower.emit(.none, .jmp, &.{
217 .{ .imm = lower.reloc(.{ .inst = index }, 0) },224 .{ .imm = lower.reloc(0, .{ .inst = index }, 0) },
218 });225 });
219 assert(lower.result_insts_len == pseudo_probe_align_insts);226 assert(lower.result_insts_len == pseudo_probe_align_insts);
220 },227 },
...@@ -260,7 +267,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {...@@ -260,7 +267,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
260 .{ .imm = .s(page_size) },267 .{ .imm = .s(page_size) },
261 });268 });
262 try lower.emit(.none, .jae, &.{269 try lower.emit(.none, .jae, &.{
263 .{ .imm = lower.reloc(.{ .inst = index }, 0) },270 .{ .imm = lower.reloc(0, .{ .inst = index }, 0) },
264 });271 });
265 assert(lower.result_insts_len == pseudo_probe_adjust_loop_insts);272 assert(lower.result_insts_len == pseudo_probe_adjust_loop_insts);
266 },273 },
...@@ -382,21 +389,22 @@ pub fn imm(lower: *const Lower, ops: Mir.Inst.Ops, i: u32) Immediate {...@@ -382,21 +389,22 @@ pub fn imm(lower: *const Lower, ops: Mir.Inst.Ops, i: u32) Immediate {
382 };389 };
383}390}
384391
385pub fn mem(lower: *Lower, payload: u32) Memory {392pub fn mem(lower: *Lower, op_index: InstOpIndex, payload: u32) Memory {
386 var m = lower.mir.resolveFrameLoc(lower.mir.extraData(Mir.Memory, payload).data).decode();393 var m = lower.mir.resolveFrameLoc(lower.mir.extraData(Mir.Memory, payload).data).decode();
387 switch (m) {394 switch (m) {
388 .sib => |*sib| switch (sib.base) {395 .sib => |*sib| switch (sib.base) {
389 else => {},396 else => {},
390 .table => sib.disp = lower.reloc(.table, sib.disp).signed,397 .table => sib.disp = lower.reloc(op_index, .table, sib.disp).signed,
391 },398 },
392 else => {},399 else => {},
393 }400 }
394 return m;401 return m;
395}402}
396403
397fn reloc(lower: *Lower, target: Reloc.Target, off: i32) Immediate {404fn reloc(lower: *Lower, op_index: InstOpIndex, target: Reloc.Target, off: i32) Immediate {
398 lower.result_relocs[lower.result_relocs_len] = .{405 lower.result_relocs[lower.result_relocs_len] = .{
399 .lowered_inst_index = lower.result_insts_len,406 .lowered_inst_index = lower.result_insts_len,
407 .op_index = op_index,
400 .target = target,408 .target = target,
401 .off = off,409 .off = off,
402 };410 };
...@@ -409,7 +417,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -409,7 +417,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
409 var emit_mnemonic = mnemonic;417 var emit_mnemonic = mnemonic;
410 var emit_ops_storage: [4]Operand = undefined;418 var emit_ops_storage: [4]Operand = undefined;
411 const emit_ops = emit_ops_storage[0..ops.len];419 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| {
413 emit_op.* = switch (op) {421 emit_op.* = switch (op) {
414 else => op,422 else => op,
415 .mem => |mem_op| switch (mem_op.base()) {423 .mem => |mem_op| switch (mem_op.base()) {
...@@ -428,22 +436,22 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -428,22 +436,22 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
428 if (lower.pic) {436 if (lower.pic) {
429 // Here, we currently assume local dynamic TLS vars, and so437 // Here, we currently assume local dynamic TLS vars, and so
430 // we emit LD model.438 // we emit LD model.
431 _ = lower.reloc(.{ .linker_tlsld = sym_index }, 0);439 _ = lower.reloc(1, .{ .linker_tlsld = sym_index }, 0);
432 lower.result_insts[lower.result_insts_len] = try .new(.none, .lea, &.{440 lower.result_insts[lower.result_insts_len] = try .new(.none, .lea, &.{
433 .{ .reg = .rdi },441 .{ .reg = .rdi },
434 .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) },442 .{ .mem = Memory.initRip(.none, 0) },
435 }, lower.target);443 }, lower.target);
436 lower.result_insts_len += 1;444 lower.result_insts_len += 1;
437 _ = lower.reloc(.{445 _ = lower.reloc(0, .{
438 .linker_extern_fn = try elf_file.getGlobalSymbol("__tls_get_addr", null),446 .linker_extern_fn = try elf_file.getGlobalSymbol("__tls_get_addr", null),
439 }, 0);447 }, 0);
440 lower.result_insts[lower.result_insts_len] = try .new(.none, .call, &.{448 lower.result_insts[lower.result_insts_len] = try .new(.none, .call, &.{
441 .{ .imm = .s(0) },449 .{ .imm = .s(0) },
442 }, lower.target);450 }, lower.target);
443 lower.result_insts_len += 1;451 lower.result_insts_len += 1;
444 _ = lower.reloc(.{ .linker_dtpoff = sym_index }, 0);452 _ = lower.reloc(@intCast(op_index), .{ .linker_dtpoff = sym_index }, 0);
445 emit_mnemonic = .lea;453 emit_mnemonic = .lea;
446 break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{454 break :op .{ .mem = Memory.initSib(.none, .{
447 .base = .{ .reg = .rax },455 .base = .{ .reg = .rax },
448 .disp = std.math.minInt(i32),456 .disp = std.math.minInt(i32),
449 }) };457 }) };
...@@ -454,24 +462,26 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -454,24 +462,26 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
454 .{ .mem = Memory.initSib(.qword, .{ .base = .{ .reg = .fs } }) },462 .{ .mem = Memory.initSib(.qword, .{ .base = .{ .reg = .fs } }) },
455 }, lower.target);463 }, lower.target);
456 lower.result_insts_len += 1;464 lower.result_insts_len += 1;
457 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);465 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
458 emit_mnemonic = .lea;466 emit_mnemonic = .lea;
459 break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{467 break :op .{ .mem = Memory.initSib(.none, .{
460 .base = .{ .reg = .rax },468 .base = .{ .reg = .rax },
461 .disp = std.math.minInt(i32),469 .disp = std.math.minInt(i32),
462 }) };470 }) };
463 }471 }
464 }472 }
465473
466 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);
467 if (lower.pic) switch (mnemonic) {474 if (lower.pic) switch (mnemonic) {
468 .lea => {475 .lea => {
469 if (elf_sym.flags.is_extern_ptr) emit_mnemonic = .mov;476 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
470 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 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) };
471 },480 },
472 .mov => {481 .mov => {
473 if (elf_sym.flags.is_extern_ptr) {482 if (elf_sym.flags.is_extern_ptr) {
474 const reg = ops[0].reg;483 const reg = ops[0].reg;
484 _ = lower.reloc(1, .{ .linker_reloc = sym_index }, 0);
475 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{485 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{
476 .{ .reg = reg.to64() },486 .{ .reg = reg.to64() },
477 .{ .mem = Memory.initRip(.qword, 0) },487 .{ .mem = Memory.initRip(.qword, 0) },
...@@ -481,10 +491,13 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -481,10 +491,13 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
481 .reg = reg.to64(),491 .reg = reg.to64(),
482 } }) };492 } }) };
483 }493 }
494 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
484 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };495 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };
485 },496 },
486 else => unreachable,497 else => unreachable,
487 } else switch (mnemonic) {498 };
499 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
500 switch (mnemonic) {
488 .call => break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{501 .call => break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{
489 .base = .{ .reg = .ds },502 .base = .{ .reg = .ds },
490 }) },503 }) },
...@@ -502,10 +515,10 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -502,10 +515,10 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
502 const macho_sym = zo.symbols.items[sym_index];515 const macho_sym = zo.symbols.items[sym_index];
503516
504 if (macho_sym.flags.tlv) {517 if (macho_sym.flags.tlv) {
505 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);518 _ = lower.reloc(1, .{ .linker_reloc = sym_index }, 0);
506 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{519 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{
507 .{ .reg = .rdi },520 .{ .reg = .rdi },
508 .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) },521 .{ .mem = Memory.initRip(.ptr, 0) },
509 }, lower.target);522 }, lower.target);
510 lower.result_insts_len += 1;523 lower.result_insts_len += 1;
511 lower.result_insts[lower.result_insts_len] = try .new(.none, .call, &.{524 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)...@@ -516,15 +529,17 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
516 break :op .{ .reg = .rax };529 break :op .{ .reg = .rax };
517 }530 }
518531
519 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);
520 break :op switch (mnemonic) {532 break :op switch (mnemonic) {
521 .lea => {533 .lea => {
522 if (macho_sym.flags.is_extern_ptr) emit_mnemonic = .mov;534 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
523 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 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) };
524 },538 },
525 .mov => {539 .mov => {
526 if (macho_sym.flags.is_extern_ptr) {540 if (macho_sym.flags.is_extern_ptr) {
527 const reg = ops[0].reg;541 const reg = ops[0].reg;
542 _ = lower.reloc(1, .{ .linker_reloc = sym_index }, 0);
528 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{543 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{
529 .{ .reg = reg.to64() },544 .{ .reg = reg.to64() },
530 .{ .mem = Memory.initRip(.qword, 0) },545 .{ .mem = Memory.initRip(.qword, 0) },
...@@ -534,6 +549,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -534,6 +549,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
534 .reg = reg.to64(),549 .reg = reg.to64(),
535 } }) };550 } }) };
536 }551 }
552 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
537 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };553 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };
538 },554 },
539 else => unreachable,555 else => unreachable,
...@@ -550,7 +566,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)...@@ -550,7 +566,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
550}566}
551567
552fn generic(lower: *Lower, inst: Mir.Inst) Error!void {568fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
553 @setEvalBranchQuota(2_400);569 @setEvalBranchQuota(2_500);
554 const fixes = switch (inst.ops) {570 const fixes = switch (inst.ops) {
555 .none => inst.data.none.fixes,571 .none => inst.data.none.fixes,
556 .inst => inst.data.inst.fixes,572 .inst => inst.data.inst.fixes,
...@@ -595,7 +611,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {...@@ -595,7 +611,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
595 }, switch (inst.ops) {611 }, switch (inst.ops) {
596 .none => &.{},612 .none => &.{},
597 .inst => &.{613 .inst => &.{
598 .{ .imm = lower.reloc(.{ .inst = inst.data.inst.inst }, 0) },614 .{ .imm = lower.reloc(0, .{ .inst = inst.data.inst.inst }, 0) },
599 },615 },
600 .i_s, .i_u => &.{616 .i_s, .i_u => &.{
601 .{ .imm = lower.imm(inst.ops, inst.data.i.i) },617 .{ .imm = lower.imm(inst.ops, inst.data.i.i) },
...@@ -642,10 +658,10 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {...@@ -642,10 +658,10 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
642 .{ .imm = lower.imm(inst.ops, inst.data.rri.i) },658 .{ .imm = lower.imm(inst.ops, inst.data.rri.i) },
643 },659 },
644 .m => &.{660 .m => &.{
645 .{ .mem = lower.mem(inst.data.x.payload) },661 .{ .mem = lower.mem(0, inst.data.x.payload) },
646 },662 },
647 .mi_s, .mi_u => &.{663 .mi_s, .mi_u => &.{
648 .{ .mem = lower.mem(inst.data.x.payload + 1) },664 .{ .mem = lower.mem(0, inst.data.x.payload + 1) },
649 .{ .imm = lower.imm(665 .{ .imm = lower.imm(
650 inst.ops,666 inst.ops,
651 lower.mir.extraData(Mir.Imm32, inst.data.x.payload).data.imm,667 lower.mir.extraData(Mir.Imm32, inst.data.x.payload).data.imm,
...@@ -653,64 +669,64 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {...@@ -653,64 +669,64 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
653 },669 },
654 .rm => &.{670 .rm => &.{
655 .{ .reg = inst.data.rx.r1 },671 .{ .reg = inst.data.rx.r1 },
656 .{ .mem = lower.mem(inst.data.rx.payload) },672 .{ .mem = lower.mem(1, inst.data.rx.payload) },
657 },673 },
658 .rmr => &.{674 .rmr => &.{
659 .{ .reg = inst.data.rrx.r1 },675 .{ .reg = inst.data.rrx.r1 },
660 .{ .mem = lower.mem(inst.data.rrx.payload) },676 .{ .mem = lower.mem(1, inst.data.rrx.payload) },
661 .{ .reg = inst.data.rrx.r2 },677 .{ .reg = inst.data.rrx.r2 },
662 },678 },
663 .rmi => &.{679 .rmi => &.{
664 .{ .reg = inst.data.rix.r1 },680 .{ .reg = inst.data.rix.r1 },
665 .{ .mem = lower.mem(inst.data.rix.payload) },681 .{ .mem = lower.mem(1, inst.data.rix.payload) },
666 .{ .imm = lower.imm(inst.ops, inst.data.rix.i) },682 .{ .imm = lower.imm(inst.ops, inst.data.rix.i) },
667 },683 },
668 .rmi_s, .rmi_u => &.{684 .rmi_s, .rmi_u => &.{
669 .{ .reg = inst.data.rx.r1 },685 .{ .reg = inst.data.rx.r1 },
670 .{ .mem = lower.mem(inst.data.rx.payload + 1) },686 .{ .mem = lower.mem(1, inst.data.rx.payload + 1) },
671 .{ .imm = lower.imm(687 .{ .imm = lower.imm(
672 inst.ops,688 inst.ops,
673 lower.mir.extraData(Mir.Imm32, inst.data.rx.payload).data.imm,689 lower.mir.extraData(Mir.Imm32, inst.data.rx.payload).data.imm,
674 ) },690 ) },
675 },691 },
676 .mr => &.{692 .mr => &.{
677 .{ .mem = lower.mem(inst.data.rx.payload) },693 .{ .mem = lower.mem(0, inst.data.rx.payload) },
678 .{ .reg = inst.data.rx.r1 },694 .{ .reg = inst.data.rx.r1 },
679 },695 },
680 .mrr => &.{696 .mrr => &.{
681 .{ .mem = lower.mem(inst.data.rrx.payload) },697 .{ .mem = lower.mem(0, inst.data.rrx.payload) },
682 .{ .reg = inst.data.rrx.r1 },698 .{ .reg = inst.data.rrx.r1 },
683 .{ .reg = inst.data.rrx.r2 },699 .{ .reg = inst.data.rrx.r2 },
684 },700 },
685 .mri => &.{701 .mri => &.{
686 .{ .mem = lower.mem(inst.data.rix.payload) },702 .{ .mem = lower.mem(0, inst.data.rix.payload) },
687 .{ .reg = inst.data.rix.r1 },703 .{ .reg = inst.data.rix.r1 },
688 .{ .imm = lower.imm(inst.ops, inst.data.rix.i) },704 .{ .imm = lower.imm(inst.ops, inst.data.rix.i) },
689 },705 },
690 .rrm => &.{706 .rrm => &.{
691 .{ .reg = inst.data.rrx.r1 },707 .{ .reg = inst.data.rrx.r1 },
692 .{ .reg = inst.data.rrx.r2 },708 .{ .reg = inst.data.rrx.r2 },
693 .{ .mem = lower.mem(inst.data.rrx.payload) },709 .{ .mem = lower.mem(2, inst.data.rrx.payload) },
694 },710 },
695 .rrmr => &.{711 .rrmr => &.{
696 .{ .reg = inst.data.rrrx.r1 },712 .{ .reg = inst.data.rrrx.r1 },
697 .{ .reg = inst.data.rrrx.r2 },713 .{ .reg = inst.data.rrrx.r2 },
698 .{ .mem = lower.mem(inst.data.rrrx.payload) },714 .{ .mem = lower.mem(2, inst.data.rrrx.payload) },
699 .{ .reg = inst.data.rrrx.r3 },715 .{ .reg = inst.data.rrrx.r3 },
700 },716 },
701 .rrmi => &.{717 .rrmi => &.{
702 .{ .reg = inst.data.rrix.r1 },718 .{ .reg = inst.data.rrix.r1 },
703 .{ .reg = inst.data.rrix.r2 },719 .{ .reg = inst.data.rrix.r2 },
704 .{ .mem = lower.mem(inst.data.rrix.payload) },720 .{ .mem = lower.mem(2, inst.data.rrix.payload) },
705 .{ .imm = lower.imm(inst.ops, inst.data.rrix.i) },721 .{ .imm = lower.imm(inst.ops, inst.data.rrix.i) },
706 },722 },
707 .extern_fn_reloc, .rel => &.{723 .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) },
709 },725 },
710 .got_reloc, .direct_reloc, .import_reloc => ops: {726 .got_reloc, .direct_reloc, .import_reloc => ops: {
711 const reg = inst.data.rx.r1;727 const reg = inst.data.rx.r1;
712 const extra = lower.mir.extraData(bits.SymbolOffset, inst.data.rx.payload).data;728 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) {
714 .got_reloc => .{ .linker_got = extra.sym_index },730 .got_reloc => .{ .linker_got = extra.sym_index },
715 .direct_reloc => .{ .linker_direct = extra.sym_index },731 .direct_reloc => .{ .linker_direct = extra.sym_index },
716 .import_reloc => .{ .linker_import = extra.sym_index },732 .import_reloc => .{ .linker_import = extra.sym_index },
src/arch/x86_64/Mir.zig+4-3
...@@ -100,6 +100,8 @@ pub const Inst = struct {...@@ -100,6 +100,8 @@ pub const Inst = struct {
100 /// ___ Division100 /// ___ Division
101 _d,101 _d,
102102
103 /// ___ Without Affecting Flags
104 _x,
103 /// ___ Left105 /// ___ Left
104 _l,106 _l,
105 /// ___ Left Double107 /// ___ Left Double
...@@ -483,6 +485,7 @@ pub const Inst = struct {...@@ -483,6 +485,7 @@ pub const Inst = struct {
483 /// ASCII adjust al after subtraction485 /// ASCII adjust al after subtraction
484 aa,486 aa,
485 /// Add with carry487 /// Add with carry
488 /// Unsigned integer addition of two operands with carry flag
486 adc,489 adc,
487 /// Add490 /// Add
488 /// Add packed integers491 /// Add packed integers
...@@ -1162,10 +1165,8 @@ pub const Inst = struct {...@@ -1162,10 +1165,8 @@ pub const Inst = struct {
1162 fmadd231,1165 fmadd231,
11631166
1164 // ADX1167 // ADX
1165 /// Unsigned integer addition of two operands with carry flag
1166 adcx,
1167 /// Unsigned integer addition of two operands with overflow flag1168 /// Unsigned integer addition of two operands with overflow flag
1168 adox,1169 ado,
11691170
1170 // AESKLE1171 // AESKLE
1171 /// Encode 128-bit key with key locker1172 /// Encode 128-bit key with key locker
src/arch/x86_64/encodings.zig+55-43
...@@ -405,9 +405,9 @@ pub const table = [_]Entry{...@@ -405,9 +405,9 @@ pub const table = [_]Entry{
405 .{ .jb, .d, &.{ .rel32 }, &.{ 0x0f, 0x82 }, 0, .none, .none },405 .{ .jb, .d, &.{ .rel32 }, &.{ 0x0f, 0x82 }, 0, .none, .none },
406 .{ .jbe, .d, &.{ .rel32 }, &.{ 0x0f, 0x86 }, 0, .none, .none },406 .{ .jbe, .d, &.{ .rel32 }, &.{ 0x0f, 0x86 }, 0, .none, .none },
407 .{ .jc, .d, &.{ .rel32 }, &.{ 0x0f, 0x82 }, 0, .none, .none },407 .{ .jc, .d, &.{ .rel32 }, &.{ 0x0f, 0x82 }, 0, .none, .none },
408 .{ .jcxz, .d, &.{ .rel32 }, &.{ 0xe3 }, 0, .short, .@"32bit" },408 .{ .jcxz, .d, &.{ .rel8 }, &.{ 0xe3 }, 0, .short, .@"32bit" },
409 .{ .jecxz, .d, &.{ .rel32 }, &.{ 0xe3 }, 0, .none, .@"32bit" },409 .{ .jecxz, .d, &.{ .rel8 }, &.{ 0xe3 }, 0, .none, .@"32bit" },
410 .{ .jrcxz, .d, &.{ .rel32 }, &.{ 0xe3 }, 0, .none, .@"64bit" },410 .{ .jrcxz, .d, &.{ .rel8 }, &.{ 0xe3 }, 0, .none, .@"64bit" },
411 .{ .je, .d, &.{ .rel32 }, &.{ 0x0f, 0x84 }, 0, .none, .none },411 .{ .je, .d, &.{ .rel32 }, &.{ 0x0f, 0x84 }, 0, .none, .none },
412 .{ .jg, .d, &.{ .rel32 }, &.{ 0x0f, 0x8f }, 0, .none, .none },412 .{ .jg, .d, &.{ .rel32 }, &.{ 0x0f, 0x8f }, 0, .none, .none },
413 .{ .jge, .d, &.{ .rel32 }, &.{ 0x0f, 0x8d }, 0, .none, .none },413 .{ .jge, .d, &.{ .rel32 }, &.{ 0x0f, 0x8d }, 0, .none, .none },
...@@ -477,10 +477,6 @@ pub const table = [_]Entry{...@@ -477,10 +477,6 @@ pub const table = [_]Entry{
477477
478 .{ .ltr, .m, &.{ .rm16 }, &.{ 0x0f, 0x00 }, 3, .none, .none },478 .{ .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
484 .{ .mfence, .z, &.{}, &.{ 0x0f, 0xae, 0xf0 }, 0, .none, .none },480 .{ .mfence, .z, &.{}, &.{ 0x0f, 0xae, 0xf0 }, 0, .none, .none },
485481
486 .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .none, .none },482 .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .none, .none },
...@@ -630,10 +626,6 @@ pub const table = [_]Entry{...@@ -630,10 +626,6 @@ pub const table = [_]Entry{
630 .{ .pop, .m, &.{ .rm16 }, &.{ 0x8f }, 0, .short, .none },626 .{ .pop, .m, &.{ .rm16 }, &.{ 0x8f }, 0, .short, .none },
631 .{ .pop, .m, &.{ .rm64 }, &.{ 0x8f }, 0, .none, .none },627 .{ .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
637 .{ .popf, .z, &.{}, &.{ 0x9d }, 0, .short, .none },629 .{ .popf, .z, &.{}, &.{ 0x9d }, 0, .short, .none },
638 .{ .popfd, .z, &.{}, &.{ 0x9d }, 0, .none, .@"32bit" },630 .{ .popfd, .z, &.{}, &.{ 0x9d }, 0, .none, .@"32bit" },
639 .{ .popfq, .z, &.{}, &.{ 0x9d }, 0, .none, .@"64bit" },631 .{ .popfq, .z, &.{}, &.{ 0x9d }, 0, .none, .@"64bit" },
...@@ -1738,6 +1730,15 @@ pub const table = [_]Entry{...@@ -1738,6 +1730,15 @@ pub const table = [_]Entry{
17381730
1739 .{ .pcmpgtq, .rm, &.{ .xmm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x38, 0x37 }, 0, .none, .sse4_2 },1731 .{ .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
1741 // PCLMUL1742 // PCLMUL
1742 .{ .pclmulqdq, .rmi, &.{ .xmm, .xmm_m128, .imm8 }, &.{ 0x66, 0x0f, 0x3a, 0x44 }, 0, .none, .pclmul },1743 .{ .pclmulqdq, .rmi, &.{ .xmm, .xmm_m128, .imm8 }, &.{ 0x66, 0x0f, 0x3a, 0x44 }, 0, .none, .pclmul },
17431744
...@@ -1771,38 +1772,6 @@ pub const table = [_]Entry{...@@ -1771,38 +1772,6 @@ pub const table = [_]Entry{
1771 .{ .sha256msg2, .rm, &.{ .xmm, .xmm_m128 }, &.{ 0x0f, 0x38, 0xcd }, 0, .none, .sha },1772 .{ .sha256msg2, .rm, &.{ .xmm, .xmm_m128 }, &.{ 0x0f, 0x38, 0xcd }, 0, .none, .sha },
17721773
1773 // AVX1774 // 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
1806 .{ .vaddpd, .rvm, &.{ .xmm, .xmm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x58 }, 0, .vex_128_wig, .avx },1775 .{ .vaddpd, .rvm, &.{ .xmm, .xmm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x58 }, 0, .vex_128_wig, .avx },
1807 .{ .vaddpd, .rvm, &.{ .ymm, .ymm, .ymm_m256 }, &.{ 0x66, 0x0f, 0x58 }, 0, .vex_256_wig, .avx },1776 .{ .vaddpd, .rvm, &.{ .ymm, .ymm, .ymm_m256 }, &.{ 0x66, 0x0f, 0x58 }, 0, .vex_256_wig, .avx },
18081777
...@@ -2307,6 +2276,49 @@ pub const table = [_]Entry{...@@ -2307,6 +2276,49 @@ pub const table = [_]Entry{
2307 .{ .vxorps, .rvm, &.{ .xmm, .xmm, .xmm_m128 }, &.{ 0x0f, 0x57 }, 0, .vex_128_wig, .avx },2276 .{ .vxorps, .rvm, &.{ .xmm, .xmm, .xmm_m128 }, &.{ 0x0f, 0x57 }, 0, .vex_128_wig, .avx },
2308 .{ .vxorps, .rvm, &.{ .ymm, .ymm, .ymm_m256 }, &.{ 0x0f, 0x57 }, 0, .vex_256_wig, .avx },2277 .{ .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
2310 // F16C2322 // F16C
2311 .{ .vcvtph2ps, .rm, &.{ .xmm, .xmm_m64 }, &.{ 0x66, 0x0f, 0x38, 0x13 }, 0, .vex_128_w0, .f16c },2323 .{ .vcvtph2ps, .rm, &.{ .xmm, .xmm_m64 }, &.{ 0x66, 0x0f, 0x38, 0x13 }, 0, .vex_128_w0, .f16c },
2312 .{ .vcvtph2ps, .rm, &.{ .ymm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x38, 0x13 }, 0, .vex_256_w0, .f16c },2324 .{ .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(...@@ -83,8 +83,10 @@ pub fn generateLazyFunction(
83 debug_output: link.File.DebugInfoOutput,83 debug_output: link.File.DebugInfoOutput,
84) CodeGenError!void {84) CodeGenError!void {
85 const zcu = pt.zcu;85 const zcu = pt.zcu;
86 const file = Type.fromInterned(lazy_sym.ty).typeDeclInstAllowGeneratedTag(zcu).?.resolveFile(&zcu.intern_pool);86 const target = if (Type.fromInterned(lazy_sym.ty).typeDeclInstAllowGeneratedTag(zcu)) |inst_index|
87 const target = zcu.fileByIndex(file).mod.resolved_target.result;87 zcu.fileByIndex(inst_index.resolveFile(&zcu.intern_pool)).mod.resolved_target.result
88 else
89 zcu.getTarget();
88 switch (target_util.zigBackend(target, false)) {90 switch (target_util.zigBackend(target, false)) {
89 else => unreachable,91 else => unreachable,
90 inline .stage2_x86_64, .stage2_riscv64 => |backend| {92 inline .stage2_x86_64, .stage2_riscv64 => |backend| {
src/main.zig+1-4
...@@ -39,10 +39,7 @@ test {...@@ -39,10 +39,7 @@ test {
39 _ = Package;39 _ = Package;
40}40}
4141
42const thread_stack_size = switch (builtin.zig_backend) {42const thread_stack_size = 32 << 20;
43 else => std.Thread.SpawnConfig.default_stack_size,
44 .stage2_x86_64 => 32 << 20,
45};
4643
47pub const std_options: std.Options = .{44pub const std_options: std.Options = .{
48 .wasiCwd = wasi_cwd,45 .wasiCwd = wasi_cwd,
src/target.zig+2-2
...@@ -726,11 +726,11 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt...@@ -726,11 +726,11 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt
726 else => false,726 else => false,
727 },727 },
728 .is_named_enum_value => switch (backend) {728 .is_named_enum_value => switch (backend) {
729 .stage2_llvm => true,729 .stage2_llvm, .stage2_x86_64 => true,
730 else => false,730 else => false,
731 },731 },
732 .error_set_has_value => switch (backend) {732 .error_set_has_value => switch (backend) {
733 .stage2_llvm, .stage2_wasm => true,733 .stage2_llvm, .stage2_wasm, .stage2_x86_64 => true,
734 else => false,734 else => false,
735 },735 },
736 .field_reordering => switch (backend) {736 .field_reordering => switch (backend) {
test/behavior/math.zig+1-1
...@@ -527,7 +527,7 @@ fn testIntDivision() !void {...@@ -527,7 +527,7 @@ fn testIntDivision() !void {
527 try expect(mod(i64, -14, 12) == 10);527 try expect(mod(i64, -14, 12) == 10);
528 try expect(mod(i16, -2, 12) == 10);528 try expect(mod(i16, -2, 12) == 10);
529 try expect(mod(i16, -118, 12) == 2);529 try expect(mod(i16, -118, 12) == 2);
530 try expect(mod(i8, -2, 12) == 10); // TODO: fails in x86_64530 try expect(mod(i8, -2, 12) == 10);
531531
532 try expect(rem(i64, -118, 12) == -10);532 try expect(rem(i64, -118, 12) == -10);
533 try expect(rem(i32, 10, 12) == 10);533 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 {...@@ -93,6 +93,11 @@ pub fn build(b: *std.Build) void {
93 .cpu_arch = .x86_64,93 .cpu_arch = .x86_64,
94 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },94 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
95 },95 },
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 },
96 .{101 .{
97 .cpu_arch = .x86_64,102 .cpu_arch = .x86_64,
98 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v4 },103 .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 {...@@ -33,6 +33,28 @@ fn Scalar(comptime Type: type) type {
33 .vector => |info| info.child,33 .vector => |info| info.child,
34 };34 };
35}35}
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}
36// inline to avoid a runtime `@splat`58// inline to avoid a runtime `@splat`
37inline fn splat(comptime Type: type, scalar: Scalar(Type)) Type {59inline fn splat(comptime Type: type, scalar: Scalar(Type)) Type {
38 return switch (@typeInfo(Type)) {60 return switch (@typeInfo(Type)) {
...@@ -16205,6 +16227,8 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -16205,6 +16227,8 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
16205 );16227 );
16206 }16228 }
16207 fn testInts() !void {16229 fn testInts() !void {
16230 try testArgs(i4, 0x3, 0x2);
16231 try testArgs(u4, 0xe, 0x6);
16208 try testArgs(i8, 0x48, 0x6c);16232 try testArgs(i8, 0x48, 0x6c);
16209 try testArgs(u8, 0xbb, 0x43);16233 try testArgs(u8, 0xbb, 0x43);
16210 try testArgs(i16, -0x0fdf, 0x302e);16234 try testArgs(i16, -0x0fdf, 0x302e);
...@@ -17967,8 +17991,8 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -17967,8 +17991,8 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
17967 -0x12, -0x1e, 0x18, 0x6e, 0x31, 0x53, -0x6a, -0x34, 0x13, 0x4d, 0x30, -0x7d, -0x31, 0x1e, -0x24, 0x32,17991 -0x12, -0x1e, 0x18, 0x6e, 0x31, 0x53, -0x6a, -0x34, 0x13, 0x4d, 0x30, -0x7d, -0x31, 0x1e, -0x24, 0x32,
17968 -0x1e, -0x01, 0x55, 0x33, -0x75, -0x44, -0x57, 0x2b, -0x66, 0x19, 0x7f, -0x28, -0x3f, -0x7e, -0x5d, -0x06,17992 -0x1e, -0x01, 0x55, 0x33, -0x75, -0x44, -0x57, 0x2b, -0x66, 0x19, 0x7f, -0x28, -0x3f, -0x7e, -0x5d, -0x06,
17969 }, .{17993 }, .{
17970 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x00, 0x4a,17994 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x01, 0x4a,
17971 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, 0x00, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67,17995 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, -0x01, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67,
17972 });17996 });
17973 try testArgs(@Vector(64, i8), .{17997 try testArgs(@Vector(64, i8), .{
17974 -0x05, 0x76, 0x4e, -0x5c, 0x7b, -0x1a, -0x38, -0x2e, 0x3d, 0x36, 0x01, 0x30, -0x02, -0x71, -0x24, 0x24,17998 -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...@@ -17997,7 +18021,7 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
17997 0x23, 0x3b, 0x0a, 0x7a, 0x19, 0x14, 0x65, -0x1d, 0x2b, 0x65, 0x33, 0x2a, 0x52, -0x63, 0x57, 0x10,18021 0x23, 0x3b, 0x0a, 0x7a, 0x19, 0x14, 0x65, -0x1d, 0x2b, 0x65, 0x33, 0x2a, 0x52, -0x63, 0x57, 0x10,
17998 -0x1b, 0x26, -0x46, -0x7e, -0x25, 0x79, -0x01, -0x0d, -0x49, -0x4d, 0x74, 0x03, 0x77, 0x16, 0x03, -0x3d,18022 -0x1b, 0x26, -0x46, -0x7e, -0x25, 0x79, -0x01, -0x0d, -0x49, -0x4d, 0x74, 0x03, 0x77, 0x16, 0x03, -0x3d,
17999 0x1c, 0x25, 0x5a, -0x2f, -0x16, -0x5f, -0x36, -0x55, -0x44, -0x0c, -0x0f, 0x7b, -0x15, -0x1d, 0x32, 0x31,18023 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,
18001 0x6d, -0x68, -0x71, -0x6b, -0x11, 0x44, -0x75, -0x55, -0x67, -0x52, 0x64, -0x3d, -0x05, -0x76, -0x6d, -0x44,18025 0x6d, -0x68, -0x71, -0x6b, -0x11, 0x44, -0x75, -0x55, -0x67, -0x52, 0x64, -0x3d, -0x05, -0x76, -0x6d, -0x44,
18002 });18026 });
1800318027
...@@ -18024,7 +18048,7 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -18024,7 +18048,7 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
18024 try testArgs(@Vector(16, u8), .{18048 try testArgs(@Vector(16, u8), .{
18025 0xea, 0x80, 0xbb, 0xe8, 0x74, 0x81, 0xc8, 0x66, 0x7b, 0x41, 0x90, 0xcb, 0x30, 0x70, 0x4b, 0x0f,18049 0xea, 0x80, 0xbb, 0xe8, 0x74, 0x81, 0xc8, 0x66, 0x7b, 0x41, 0x90, 0xcb, 0x30, 0x70, 0x4b, 0x0f,
18026 }, .{18050 }, .{
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,
18028 });18052 });
18029 try testArgs(@Vector(32, u8), .{18053 try testArgs(@Vector(32, u8), .{
18030 0xa1, 0x88, 0xc4, 0xf4, 0x77, 0x0b, 0xf5, 0xbb, 0x09, 0x03, 0xbf, 0xf5, 0xcc, 0x7f, 0x6b, 0x2a,18054 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...@@ -18950,22 +18974,45 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
18950 };18974 };
18951}18975}
1895218976
18953inline fn add(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs + rhs) {18977inline fn addUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
18954 return lhs + rhs;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;
18955}19000}
18956test add {19001test subUnsafe {
18957 const test_add = binary(add, .{});19002 const test_sub_unsafe = binary(subUnsafe, .{});
18958 try test_add.testFloats();19003 try test_sub_unsafe.testInts();
18959 try test_add.testFloatVectors();19004 try test_sub_unsafe.testIntVectors();
19005 try test_sub_unsafe.testFloats();
19006 try test_sub_unsafe.testFloatVectors();
18960}19007}
1896119008
18962inline fn subtract(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs - rhs) {19009inline fn mulUnsafe(comptime Type: type, lhs: Type, rhs: Type) DoubleBits(Type) {
18963 return lhs - rhs;19010 @setRuntimeSafety(false);
19011 return @as(DoubleBits(Type), lhs) * rhs;
18964}19012}
18965test subtract {19013test mulUnsafe {
18966 const test_subtract = binary(subtract, .{});19014 const test_mul_unsafe = binary(mulUnsafe, .{});
18967 try test_subtract.testFloats();19015 try test_mul_unsafe.testInts();
18968 try test_subtract.testFloatVectors();
18969}19016}
1897019017
18971inline fn multiply(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs * rhs) {19018inline fn multiply(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs * rhs) {
...@@ -18999,42 +19046,51 @@ test divide {...@@ -18999,42 +19046,51 @@ test divide {
18999 try test_divide.testFloatVectors();19046 try test_divide.testFloatVectors();
19000}19047}
1900119048
19002// workaround https://github.com/ziglang/zig/issues/2274819049inline fn divTrunc(comptime Type: type, lhs: Type, rhs: Type) Type {
19003// TODO: @TypeOf(@divTrunc(lhs, rhs))19050 switch (@typeInfo(Scalar(Type))) {
19004inline fn divTrunc(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs / rhs) {19051 else => @compileError(@typeName(Type)),
19005 if (@inComptime()) {19052 .int => return @divTrunc(lhs, rhs),
19006 // workaround https://github.com/ziglang/zig/issues/2274819053 .float => {
19007 return @trunc(lhs / rhs);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 },
19008 }19066 }
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);
19016}19067}
19017test divTrunc {19068test divTrunc {
19018 const test_div_trunc = binary(divTrunc, .{ .compare = .approx_int });19069 const test_div_trunc = binary(divTrunc, .{ .compare = .approx_int });
19070 try test_div_trunc.testInts();
19071 try test_div_trunc.testIntVectors();
19019 try test_div_trunc.testFloats();19072 try test_div_trunc.testFloats();
19020 try test_div_trunc.testFloatVectors();19073 try test_div_trunc.testFloatVectors();
19021}19074}
1902219075
19023// workaround https://github.com/ziglang/zig/issues/2274819076inline fn divFloor(comptime Type: type, lhs: Type, rhs: Type) Type {
19024// TODO: @TypeOf(@divFloor(lhs, rhs))19077 switch (@typeInfo(Scalar(Type))) {
19025inline fn divFloor(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs / rhs) {19078 else => @compileError(@typeName(Type)),
19026 if (@inComptime()) {19079 .int => return @divFloor(lhs, rhs),
19027 // workaround https://github.com/ziglang/zig/issues/2274819080 .float => {
19028 return @floor(lhs / rhs);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 },
19029 }19093 }
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);
19038}19094}
19039test divFloor {19095test divFloor {
19040 const test_div_floor = binary(divFloor, .{ .compare = .approx_int });19096 const test_div_floor = binary(divFloor, .{ .compare = .approx_int });
...@@ -19045,25 +19101,33 @@ test divFloor {...@@ -19045,25 +19101,33 @@ test divFloor {
19045// workaround https://github.com/ziglang/zig/issues/2274819101// workaround https://github.com/ziglang/zig/issues/22748
19046// TODO: @TypeOf(@rem(lhs, rhs))19102// TODO: @TypeOf(@rem(lhs, rhs))
19047inline fn rem(comptime Type: type, lhs: Type, rhs: Type) Type {19103inline fn rem(comptime Type: type, lhs: Type, rhs: Type) Type {
19048 if (@inComptime()) {19104 switch (@typeInfo(Scalar(Type))) {
19049 // workaround https://github.com/ziglang/zig/issues/2274819105 else => @compileError(@typeName(Type)),
19050 switch (@typeInfo(Type)) {19106 .int => return @rem(lhs, rhs),
19051 else => return if (rhs != 0) @rem(lhs, rhs) else nan(Type),19107 .float => {
19052 .vector => |info| {19108 if (@inComptime()) {
19053 var res: Type = undefined;19109 // workaround https://github.com/ziglang/zig/issues/22748
19054 inline for (0..info.len) |i| res[i] = if (rhs[i] != 0) @rem(lhs[i], rhs[i]) else nan(Scalar(Type));19110 switch (@typeInfo(Type)) {
19055 return res;19111 else => return if (rhs != 0) @rem(lhs, rhs) else nan(Type),
19056 },19112 .vector => |info| {
19057 }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 },
19058 }19125 }
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);
19064}19126}
19065test rem {19127test rem {
19066 const test_rem = binary(rem, .{});19128 const test_rem = binary(rem, .{});
19129 try test_rem.testInts();
19130 try test_rem.testIntVectors();
19067 try test_rem.testFloats();19131 try test_rem.testFloats();
19068 try test_rem.testFloatVectors();19132 try test_rem.testFloatVectors();
19069}19133}
test/behavior/x86_64/mem.zig+142-7
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1fn access(comptime array: anytype) !void {1fn accessSlice(comptime array: anytype) !void {
2 var slice: []const @typeInfo(@TypeOf(array)).array.child = undefined;2 var slice: []const @typeInfo(@TypeOf(array)).array.child = undefined;
3 slice = &array;3 slice = &array;
4 inline for (0.., &array) |ct_index, *elem| {4 inline for (0.., &array) |ct_index, *elem| {
...@@ -20,18 +20,153 @@ fn access(comptime array: anytype) !void {...@@ -20,18 +20,153 @@ fn access(comptime array: anytype) !void {
20 if (slice[rt_index] != elem.*) return error.Unexpected;20 if (slice[rt_index] != elem.*) return error.Unexpected;
21 }21 }
22}22}
23test access {23test accessSlice {
24 try access([3]u8{ 0xdb, 0xef, 0xbd });24 try accessSlice([3]u8{ 0xdb, 0xef, 0xbd });
25 try access([3]u16{ 0x340e, 0x3654, 0x88d7 });25 try accessSlice([3]u16{ 0x340e, 0x3654, 0x88d7 });
26 try access([3]u32{ 0xd424c2c0, 0x2d6ac466, 0x5a0cfaba });26 try accessSlice([3]u32{ 0xd424c2c0, 0x2d6ac466, 0x5a0cfaba });
27 try access([3]u64{27 try accessSlice([3]u64{
28 0x9327a4f5221666a6,28 0x9327a4f5221666a6,
29 0x5c34d3ddd84a8b12,29 0x5c34d3ddd84a8b12,
30 0xbae087f39f649260,30 0xbae087f39f649260,
31 });31 });
32 try access([3]u128{32 try accessSlice([3]u128{
33 0x601cf010065444d4d42d5536dd9b95db,33 0x601cf010065444d4d42d5536dd9b95db,
34 0xa03f592fcaa22d40af23a0c735531e3c,34 0xa03f592fcaa22d40af23a0c735531e3c,
35 0x5da44907b31602b95c2d93f0b582ceab,35 0x5da44907b31602b95c2d93f0b582ceab,
36 });36 });
37}37}
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 {...@@ -18,5 +18,5 @@ pub fn main() !void {
18}18}
1919
20// run20// run
21// backend=llvm21// backend=stage2,llvm
22// target=native22// target=native
test/cases/compile_errors/addition_with_non_numbers.zig+1-1
...@@ -8,7 +8,7 @@ export fn entry() usize {...@@ -8,7 +8,7 @@ export fn entry() usize {
8}8}
99
10// error10// error
11// backend=llvm11// backend=stage2
12// target=native12// target=native
13//13//
14// :4:29: error: invalid operands to binary expression: 'struct' and 'struct'14// :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 {...@@ -11,7 +11,7 @@ fn doSomeAsm() void {
11}11}
1212
13// error13// error
14// backend=llvm14// backend=stage2
15// target=native15// target=native
16//16//
17// :6:5: error: unable to evaluate comptime expression17// :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 {...@@ -8,7 +8,7 @@ export fn foo() void {
8}8}
99
10// error10// error
11// backend=llvm11// backend=stage2
12// target=native12// target=native
13//13//
14// :4:5: error: asm cannot output to const local 'f'14// :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 {...@@ -17,7 +17,7 @@ export fn comptimeBuiltinCall() callconv(.Naked) void {
17fn f() void {}17fn f() void {}
1818
19// error19// error
20// backend=llvm20// backend=stage2
21// target=native21// target=native
22//22//
23// :2:6: error: runtime call not allowed in naked function23// :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 {...@@ -4,7 +4,7 @@ export fn entry() void {
4fn foo() callconv(.naked) void {}4fn foo() callconv(.naked) void {}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :2:5: error: unable to call function with calling convention 'naked'10// :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 {...@@ -10,7 +10,7 @@ export fn entry1() void {
10}10}
1111
12// error12// error
13// backend=llvm13// backend=stage2
14// target=native14// target=native
15//15//
16// :3:36: error: type 'u32' cannot represent integer value '-1'16// :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 {...@@ -5,7 +5,7 @@ export fn entry() void {
5}5}
66
7// error7// error
8// backend=llvm8// backend=stage2
9// target=native9// target=native
10//10//
11// :4:12: error: operator == not allowed for type '?[3]i32'11// :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 {...@@ -13,7 +13,7 @@ export fn baz() void {
13}13}
1414
15// error15// error
16// backend=llvm16// backend=stage2
17// target=native17// target=native
18//18//
19// :6:5: error: found compile log statement19// :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 {...@@ -10,7 +10,7 @@ fn inner(comptime n: usize) void {
10}10}
1111
12// error12// error
13// backend=llvm13// backend=stage2
14// target=native14// target=native
15//15//
16// :8:9: error: found compile log statement16// :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 {...@@ -8,7 +8,7 @@ export fn entry() usize {
8}8}
99
10// error10// error
11// backend=llvm11// backend=stage2
12// target=native12// target=native
13//13//
14// :3:16: error: division by zero here causes undefined behavior14// :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 {...@@ -5,7 +5,7 @@ comptime {
5}5}
66
7// error7// error
8// backend=llvm8// backend=stage2
9// target=native9// target=native
10//10//
11// :3:32: error: null pointer casted to type '*i32'11// :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 {...@@ -6,7 +6,7 @@ comptime {
6}6}
77
8// error8// error
9// backend=llvm9// backend=stage2
10// target=native10// target=native
11//11//
12// :3:32: error: use of undefined value here causes undefined behavior12// :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 {...@@ -6,7 +6,7 @@ export fn foo() void {
6}6}
77
8// error8// error
9// backend=llvm9// backend=stage2
10// target=native10// target=native
11//11//
12// :3:9: error: expected type 'u16', found '*const [5:0]u8'12// :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 {...@@ -15,7 +15,7 @@ fn foo(x: i32) !void {
15}15}
1616
17// error17// error
18// backend=llvm18// backend=stage2
19// target=native19// target=native
20//20//
21// :5:9: error: duplicate switch value21// :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 {...@@ -15,7 +15,7 @@ pub export fn entry() void {
15}15}
1616
17// error17// error
18// backend=llvm18// backend=stage2
19// target=native19// target=native
20//20//
21// :9:48: error: caught unexpected error 'InvalidVersion'21// :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 {...@@ -13,7 +13,7 @@ fn foo(x: i32) !void {
13}13}
1414
15// error15// error
16// backend=llvm16// backend=stage2
17// target=native17// target=native
18//18//
19// :2:26: error: switch must handle all possibilities19// :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 {...@@ -24,7 +24,7 @@ pub fn main() Error!void {
24}24}
2525
26// error26// error
27// backend=llvm27// backend=stage2
28// target=native28// target=native
29//29//
30// :23:29: error: expected type 'error{InvalidCharacter}', found '@typeInfo(@typeInfo(@TypeOf(tmp.fooey)).@"fn".return_type.?).error_union.error_set'30// :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 {...@@ -4,7 +4,7 @@ comptime {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :2:15: error: exact division produced remainder10// :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 {...@@ -8,7 +8,7 @@ export fn entry2() void {
8}8}
99
10// error10// error
11// backend=llvm11// backend=stage2
12// target=native12// target=native
13//13//
14// :2:15: error: primitive integer type 'u65536' exceeds maximum bit width of 6553514// :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 {...@@ -4,7 +4,7 @@ comptime {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :3:25: error: exported symbol name cannot be empty10// :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 {...@@ -4,7 +4,7 @@ export fn foo(a: *i32) Foo {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :3:12: error: expected pointer type, found 'i32'10// :3:12: error: expected pointer type, found 'i32'
test/cases/compile_errors/float exact division failure.zig +1-1
...@@ -4,7 +4,7 @@ comptime {...@@ -4,7 +4,7 @@ comptime {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :2:15: error: exact division produced remainder10// :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 {...@@ -7,7 +7,7 @@ fn concat() [16]f32 {
7}7}
88
9// error9// error
10// backend=llvm10// backend=stage2
11// target=native11// target=native
12//12//
13// :3:17: error: expected type '[4]f32', found '[16]f32'13// :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 {...@@ -4,7 +4,7 @@ export fn entry() void {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :1:1: error: non-extern function has no body10// :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 {...@@ -19,7 +19,7 @@ pub export fn entry() void {
19}19}
2020
21// error21// error
22// backend=llvm22// backend=stage2
23// target=native23// target=native
24//24//
25// :18:43: error: value of type 'type' ignored25// :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 {...@@ -36,7 +36,7 @@ pub fn is(comptime id: std.builtin.TypeId) TraitFn {
36}36}
3737
38// error38// error
39// backend=llvm39// backend=stage2
40// target=native40// target=native
41//41//
42// :8:48: error: expected type 'type', found 'bool'42// :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 {...@@ -7,7 +7,7 @@ export fn entry() void {
7}7}
88
9// error9// error
10// backend=llvm10// backend=stage2
11// target=native11// target=native
12//12//
13// :6:9: error: array literal requires address-of operator (&) to coerce to slice type '[]i32'13// :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 {...@@ -11,7 +11,7 @@ export fn entry2() void {
11}11}
1212
13// error13// error
14// backend=llvm14// backend=stage2
15// target=native15// target=native
16//16//
17// :2:14: error: expected type 'f32', found 'f64'17// :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 {...@@ -13,7 +13,7 @@ comptime {
13}13}
1414
15// error15// error
16// backend=llvm16// backend=stage2
17// target=native17// target=native
18//18//
19// :11:21: error: 'error.B' not a member of error set 'error{A,C}'19// :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 {...@@ -24,7 +24,7 @@ export fn incompatiblePointers4() void {
24}24}
2525
26// error26// error
27// backend=llvm27// backend=stage2
28// target=native28// target=native
29//29//
30// :5:9: error: incompatible types: '?@Vector(10, i32)' and '@Vector(11, i32)'30// :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 {...@@ -4,7 +4,7 @@ fn main() void {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :2:23: error: trailing digit separator10// :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 {...@@ -16,7 +16,7 @@ export fn entry4() void {
16}16}
1717
18// error18// error
19// backend=llvm19// backend=stage2
20// target=native20// target=native
21//21//
22// :2:15: error: primitive integer type 'u000123' has leading zero22// :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 {...@@ -11,7 +11,7 @@ fn loadv(ptr: anytype) i31 {
11}11}
1212
13// error13// error
14// backend=llvm14// backend=stage2
15// target=native15// target=native
16//16//
17// :10:15: error: unable to determine vector element index of type '*align(16:0:4:?) i31'17// :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 {...@@ -24,7 +24,7 @@ export fn foo() void {
24}24}
2525
26// error26// error
27// backend=llvm27// backend=stage2
28// target=native28// target=native
29//29//
30// :23:6: error: no field or member function named 'init' in 'tmp.List'30// :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 {...@@ -12,7 +12,7 @@ export fn entry() void {
12}12}
1313
14// error14// error
15// backend=llvm15// backend=stage2
16// target=native16// target=native
17//17//
18// :4:26: error: array literal requires address-of operator (&) to coerce to slice type '[][2]f32'18// :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 @@...@@ -1,5 +1,5 @@
1// error1// error
2// backend=llvm2// backend=stage2
3// target=x86_64-linux3// target=x86_64-linux
4// output_mode=Exe4// output_mode=Exe
5//5//
test/cases/compile_errors/nested_error_set_mismatch.zig+1-1
...@@ -11,7 +11,7 @@ fn foo() ?OtherError!i32 {...@@ -11,7 +11,7 @@ fn foo() ?OtherError!i32 {
11}11}
1212
13// error13// error
14// backend=llvm14// backend=stage2
15// target=native15// target=native
16//16//
17// :5:34: error: expected type '?error{NextError}!i32', found '?error{OutOfMemory}!i32'17// :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 {...@@ -16,7 +16,7 @@ pub export fn entry() void {
16}16}
1717
18// error18// error
19// backend=llvm19// backend=stage2
20// target=native20// target=native
21//21//
22// :15:28: error: expected type '*const fn (type, u8, u8) u32', found '*const fn (void, u8, u8) u32'22// :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 {...@@ -43,7 +43,7 @@ export fn entry7() void {
43}43}
4444
45// error45// error
46// backend=llvm46// backend=stage2
47// target=native47// target=native
48//48//
49// :2:31: error: backing integer type 'u32' has bit size 32 but the struct fields have a total bit size of 2949// :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 {...@@ -78,7 +78,7 @@ export fn entry14() void {
78}78}
7979
80// error80// error
81// backend=llvm81// backend=stage2
82// target=native82// target=native
83//83//
84// :3:12: error: packed structs cannot contain fields of type 'anyerror'84// :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 @@...@@ -1,7 +1,7 @@
1fn main() void {}1fn main() void {}
22
3// error3// error
4// backend=llvm4// backend=stage2
5// target=x86_64-linux5// target=x86_64-linux
6// output_mode=Exe6// output_mode=Exe
7//7//
test/cases/compile_errors/ptrcast_to_non-pointer.zig+1-1
...@@ -3,7 +3,7 @@ export fn entry(a: *i32) usize {...@@ -3,7 +3,7 @@ export fn entry(a: *i32) usize {
3}3}
44
5// error5// error
6// backend=llvm6// backend=stage2
7// target=native7// target=native
8//8//
9// :2:12: error: expected pointer type, found 'usize'9// :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 {...@@ -13,7 +13,7 @@ fn foo(x: i32) !void {
13}13}
1414
15// error15// error
16// backend=llvm16// backend=stage2
17// target=native17// target=native
18//18//
19// :2:34: error: ranges not allowed when switching on type '@typeInfo(@typeInfo(@TypeOf(tmp.foo)).@"fn".return_type.?).error_union.error_set'19// :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 {...@@ -6,7 +6,7 @@ export fn entry() void {
6}6}
77
8// error8// error
9// backend=llvm9// backend=stage2
10// target=native10// target=native
11//11//
12// :2:5: error: cannot assign to constant12// :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 {...@@ -6,7 +6,7 @@ export fn entry() void {
6}6}
77
8// error8// error
9// backend=llvm9// backend=stage2
10// target=native10// target=native
11//11//
12// :2:5: error: cannot assign to constant12// :2:5: error: cannot assign to constant
test/cases/compile_errors/return_from_naked_function.zig+1-1
...@@ -7,7 +7,7 @@ comptime {...@@ -7,7 +7,7 @@ comptime {
7}7}
88
9// error9// error
10// backend=llvm10// backend=stage2
11// target=native11// target=native
12//12//
13// :2:5: error: cannot return from naked function13// :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 {...@@ -4,7 +4,7 @@ comptime {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :2:15: error: operation caused overflow10// :2:15: error: operation caused overflow
test/cases/compile_errors/shrExact_shifts_out_1_bits.zig+1-1
...@@ -4,7 +4,7 @@ comptime {...@@ -4,7 +4,7 @@ comptime {
4}4}
55
6// error6// error
7// backend=llvm7// backend=stage2
8// target=native8// target=native
9//9//
10// :2:15: error: exact shift shifted out 1 bits10// :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 {...@@ -3,7 +3,7 @@ export fn entry() void {
3}3}
44
5// error5// error
6// backend=llvm6// backend=stage2
7// target=native7// target=native
8//8//
9// :?:?: error: 10 unused arguments in '{d} {d} {d} {d} {d}'9// :?:?: 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 {...@@ -11,7 +11,7 @@ fn storev(ptr: anytype, val: i31) void {
11}11}
1212
13// error13// error
14// backend=llvm14// backend=stage2
15// target=native15// target=native
16//16//
17// :10:8: error: unable to determine vector element index of type '*align(16:0:4:?) i31'17// :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 {...@@ -8,7 +8,7 @@ fn foo() void {
8}8}
99
10// error10// error
11// backend=llvm11// backend=stage2
12// target=native12// target=native
13//13//
14// :6:9: error: cannot suspend inside suspend block14// :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 {...@@ -20,7 +20,7 @@ export fn entry() usize {
20}20}
2121
22// error22// error
23// backend=llvm23// backend=stage2
24// target=native24// target=native
25//25//
26// :14:14: error: unreachable else prong; all cases already handled26// :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 {...@@ -7,7 +7,7 @@ export fn entry() void {
7}7}
88
9// error9// error
10// backend=llvm10// backend=stage2
11// target=native11// target=native
12//12//
13// :2:11: error: unable to evaluate comptime expression13// :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 {...@@ -21,7 +21,7 @@ pub export fn simple() void {
21}21}
2222
23// error23// error
24// backend=llvm24// backend=stage2
25// target=native25// target=native
26//26//
27// :7:14: error: unreachable else prong; all cases already handled27// :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 {...@@ -19,7 +19,7 @@ comptime {
19}19}
2020
21// error21// error
22// backend=llvm22// backend=stage2
23// target=native23// target=native
24//24//
25// :2:5: error: runtime safety check not allowed in naked function25// :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 {...@@ -23,7 +23,7 @@ pub export fn entry2() void {
23}23}
2424
25// error25// error
26// backend=llvm26// backend=stage2,llvm
27// target=native27// target=native
28//28//
29// :6:20: error: cannot @bitCast to '[]i32'29// :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 {...@@ -7,7 +7,7 @@ pub fn main() void {
7}7}
88
9// run9// run
10// backend=llvm10// backend=stage2,llvm
11// target=x86_64-linux-gnu11// target=x86_64-linux-gnu
12// link_libc=true12// link_libc=true
13//13//
test/cases/fn_typeinfo_passed_to_comptime_fn.zig+1-1
...@@ -14,5 +14,5 @@ fn foo(comptime info: std.builtin.Type) !void {...@@ -14,5 +14,5 @@ fn foo(comptime info: std.builtin.Type) !void {
1414
15// run15// run
16// is_test=true16// is_test=true
17// backend=llvm17// backend=stage2,llvm
18//18//
test/cases/large_add_function.zig+1-1
...@@ -36,5 +36,5 @@ fn assert(ok: bool) void {...@@ -36,5 +36,5 @@ fn assert(ok: bool) void {
36// TODO: enable this for native backend36// TODO: enable this for native backend
3737
38// run38// run
39// backend=llvm39// backend=stage2,llvm
40// target=aarch64-linux,aarch64-macos40// 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 {...@@ -7,6 +7,6 @@ pub fn main() void {
77
8// compile8// compile
9// output_mode=Exe9// output_mode=Exe
10// backend=llvm10// backend=stage2,llvm
11// target=x86_64-linux,x86_64-macos11// target=x86_64-linux,x86_64-macos
12//12//
test/cases/llvm/address_spaces_pointer_access_chaining_complex.zig+1-1
...@@ -8,6 +8,6 @@ pub fn main() void {...@@ -8,6 +8,6 @@ pub fn main() void {
88
9// compile9// compile
10// output_mode=Exe10// output_mode=Exe
11// backend=llvm11// backend=stage2,llvm
12// target=x86_64-linux,x86_64-macos12// target=x86_64-linux,x86_64-macos
13//13//
test/cases/llvm/for_loop.zig+1-1
...@@ -11,6 +11,6 @@ pub fn main() void {...@@ -11,6 +11,6 @@ pub fn main() void {
11}11}
1212
13// run13// run
14// backend=llvm14// backend=stage2,llvm
15// target=x86_64-linux,x86_64-macos15// target=x86_64-linux,x86_64-macos
16//16//
test/cases/llvm/hello_world.zig+1-1
...@@ -5,7 +5,7 @@ pub fn main() void {...@@ -5,7 +5,7 @@ pub fn main() void {
5}5}
66
7// run7// run
8// backend=llvm8// backend=stage2,llvm
9// target=x86_64-linux,x86_64-macos9// target=x86_64-linux,x86_64-macos
10// link_libc=true10// link_libc=true
11//11//
test/cases/llvm/large_slices.zig+1-1
...@@ -4,6 +4,6 @@ pub fn main() void {...@@ -4,6 +4,6 @@ pub fn main() void {
4}4}
55
6// compile6// compile
7// backend=llvm7// backend=stage2,llvm
8// target=x86_64-linux,x86_64-macos8// target=x86_64-linux,x86_64-macos
9//9//
test/cases/llvm/optionals.zig+1-1
...@@ -44,6 +44,6 @@ pub fn main() void {...@@ -44,6 +44,6 @@ pub fn main() void {
44}44}
4545
46// run46// run
47// backend=llvm47// backend=stage2,llvm
48// target=x86_64-linux,x86_64-macos48// target=x86_64-linux,x86_64-macos
49//49//
test/cases/maximum_sized_integer_literal.zig+1-1
...@@ -18,5 +18,5 @@ pub fn main() !void {...@@ -18,5 +18,5 @@ pub fn main() !void {
18}18}
1919
20// run20// run
21// backend=llvm21// backend=stage2,llvm
22// target=native22// target=native
test/cases/returning_undefined_sentinel_terminated_const_u8_slice.zig+1-1
...@@ -7,5 +7,5 @@ pub fn main() void {...@@ -7,5 +7,5 @@ pub fn main() void {
7}7}
88
9// run9// run
10// backend=llvm10// backend=stage2,llvm
11// target=native11// target=native
test/cases/safety/@alignCast misaligned.zig +1-1
...@@ -21,5 +21,5 @@ fn foo(bytes: []u8) u32 {...@@ -21,5 +21,5 @@ fn foo(bytes: []u8) u32 {
21 return int_slice[0];21 return int_slice[0];
22}22}
23// run23// run
24// backend=llvm24// backend=stage2,llvm
25// target=native25// target=native
test/cases/safety/@enumFromInt - no matching tag value.zig +1-1
...@@ -22,5 +22,5 @@ fn bar(a: u2) Foo {...@@ -22,5 +22,5 @@ fn bar(a: u2) Foo {
22fn baz(_: Foo) void {}22fn baz(_: Foo) void {}
2323
24// run24// run
25// backend=llvm25// backend=stage2,llvm
26// target=native26// target=native
test/cases/safety/@enumFromInt truncated bits - exhaustive.zig +1-1
...@@ -19,5 +19,5 @@ pub fn main() u8 {...@@ -19,5 +19,5 @@ pub fn main() u8 {
19}19}
2020
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/@enumFromInt truncated bits - nonexhaustive.zig +1-1
...@@ -19,5 +19,5 @@ pub fn main() u8 {...@@ -19,5 +19,5 @@ pub fn main() u8 {
19}19}
2020
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/@errorCast error not present in destination.zig +1-1
...@@ -17,5 +17,5 @@ fn foo(set1: Set1) Set2 {...@@ -17,5 +17,5 @@ fn foo(set1: Set1) Set2 {
17 return @errorCast(set1);17 return @errorCast(set1);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/@errorCast error union casted to disjoint set.zig +1-1
...@@ -16,5 +16,5 @@ fn foo() anyerror!i32 {...@@ -16,5 +16,5 @@ fn foo() anyerror!i32 {
16 return error.Bar;16 return error.Bar;
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/@intCast to u0.zig +1-1
...@@ -18,5 +18,5 @@ fn bar(one: u1, not_zero: i32) void {...@@ -18,5 +18,5 @@ fn bar(one: u1, not_zero: i32) void {
18 _ = x;18 _ = x;
19}19}
20// run20// run
21// backend=llvm21// backend=stage2,llvm
22// target=native22// target=native
test/cases/safety/@intFromFloat cannot fit - negative out of range.zig +1-1
...@@ -16,5 +16,5 @@ fn bar(a: f32) i8 {...@@ -16,5 +16,5 @@ fn bar(a: f32) i8 {
16}16}
17fn baz(_: i8) void {}17fn baz(_: i8) void {}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/@intFromFloat cannot fit - negative to unsigned.zig +1-1
...@@ -16,5 +16,5 @@ fn bar(a: f32) u8 {...@@ -16,5 +16,5 @@ fn bar(a: f32) u8 {
16}16}
17fn baz(_: u8) void {}17fn baz(_: u8) void {}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/@intFromFloat cannot fit - positive out of range.zig +1-1
...@@ -16,5 +16,5 @@ fn bar(a: f32) u8 {...@@ -16,5 +16,5 @@ fn bar(a: f32) u8 {
16}16}
17fn baz(_: u8) void {}17fn baz(_: u8) void {}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// 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 {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/@ptrFromInt address zero to non-optional pointer.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/@ptrFromInt with misaligned address.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/@tagName on corrupted enum value.zig +1-1
...@@ -22,5 +22,5 @@ pub fn main() !void {...@@ -22,5 +22,5 @@ pub fn main() !void {
22}22}
2323
24// run24// run
25// backend=llvm25// backend=stage2,llvm
26// target=native26// target=native
test/cases/safety/@tagName on corrupted union value.zig +1-1
...@@ -23,5 +23,5 @@ pub fn main() !void {...@@ -23,5 +23,5 @@ pub fn main() !void {
23}23}
2424
25// run25// run
26// backend=llvm26// backend=stage2,llvm
27// target=native27// target=native
test/cases/safety/array slice sentinel mismatch vector.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/array slice sentinel mismatch.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/bad union field access.zig +1-1
...@@ -23,5 +23,5 @@ fn bar(f: *Foo) void {...@@ -23,5 +23,5 @@ fn bar(f: *Foo) void {
23 f.float = 12.34;23 f.float = 12.34;
24}24}
25// run25// run
26// backend=llvm26// backend=stage2,llvm
27// target=native27// target=native
test/cases/safety/calling panic.zig +1-1
...@@ -12,5 +12,5 @@ pub fn main() !void {...@@ -12,5 +12,5 @@ pub fn main() !void {
12 return error.TestFailed;12 return error.TestFailed;
13}13}
14// run14// run
15// backend=llvm15// backend=stage2,llvm
16// target=native16// 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 {...@@ -17,5 +17,5 @@ fn widenSlice(slice: []align(1) const u8) []align(1) const i32 {
17 return std.mem.bytesAsSlice(i32, slice);17 return std.mem.bytesAsSlice(i32, slice);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// 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 {...@@ -15,5 +15,5 @@ fn bar(x: u16) anyerror {
15 return @errorFromInt(x);15 return @errorFromInt(x);
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/empty slice with sentinel out of bounds.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17}17}
1818
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// 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) {...@@ -19,5 +19,5 @@ fn divExact(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) {
19 return @divExact(a, b);19 return @divExact(a, b);
20}20}
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/exact division failure.zig +1-1
...@@ -17,5 +17,5 @@ fn divExact(a: i32, b: i32) i32 {...@@ -17,5 +17,5 @@ fn divExact(a: i32, b: i32) i32 {
17 return @divExact(a, b);17 return @divExact(a, b);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/for_len_mismatch.zig+1-1
...@@ -21,5 +21,5 @@ pub fn main() !void {...@@ -21,5 +21,5 @@ pub fn main() !void {
21 return error.TestFailed;21 return error.TestFailed;
22}22}
23// run23// run
24// backend=llvm24// backend=stage2,llvm
25// target=native25// target=native
test/cases/safety/for_len_mismatch_three.zig+1-1
...@@ -20,5 +20,5 @@ pub fn main() !void {...@@ -20,5 +20,5 @@ pub fn main() !void {
20 return error.TestFailed;20 return error.TestFailed;
21}21}
22// run22// run
23// backend=llvm23// backend=stage2,llvm
24// target=native24// target=native
test/cases/safety/ignored expression integer overflow.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17}17}
1818
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/integer addition overflow.zig +1-1
...@@ -19,5 +19,5 @@ fn add(a: u16, b: u16) u16 {...@@ -19,5 +19,5 @@ fn add(a: u16, b: u16) u16 {
19}19}
2020
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// 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) {...@@ -18,5 +18,5 @@ fn div0(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) {
18 return @divTrunc(a, b);18 return @divTrunc(a, b);
19}19}
20// run20// run
21// backend=llvm21// backend=stage2,llvm
22// target=native22// target=native
test/cases/safety/integer division by zero.zig +1-1
...@@ -16,5 +16,5 @@ fn div0(a: i32, b: i32) i32 {...@@ -16,5 +16,5 @@ fn div0(a: i32, b: i32) i32 {
16 return @divTrunc(a, b);16 return @divTrunc(a, b);
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/integer multiplication overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn mul(a: u16, b: u16) u16 {...@@ -17,5 +17,5 @@ fn mul(a: u16, b: u16) u16 {
17 return a * b;17 return a * b;
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/integer negation overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn neg(a: i16) i16 {...@@ -17,5 +17,5 @@ fn neg(a: i16) i16 {
17 return -a;17 return -a;
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/integer subtraction overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn sub(a: u16, b: u16) u16 {...@@ -17,5 +17,5 @@ fn sub(a: u16, b: u16) u16 {
17 return a - b;17 return a - b;
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/memcpy_alias.zig+1-1
...@@ -14,5 +14,5 @@ pub fn main() !void {...@@ -14,5 +14,5 @@ pub fn main() !void {
14 @memcpy(buffer[0..len], buffer[4 .. 4 + len]);14 @memcpy(buffer[0..len], buffer[4 .. 4 + len]);
15}15}
16// run16// run
17// backend=llvm17// backend=stage2,llvm
18// target=native18// target=native
test/cases/safety/memcpy_len_mismatch.zig+1-1
...@@ -14,5 +14,5 @@ pub fn main() !void {...@@ -14,5 +14,5 @@ pub fn main() !void {
14 @memcpy(buffer[0..len], buffer[len .. len + 4]);14 @memcpy(buffer[0..len], buffer[len .. len + 4]);
15}15}
16// run16// run
17// backend=llvm17// backend=stage2,llvm
18// target=native18// target=native
test/cases/safety/memset_array_undefined_bytes.zig+1-1
...@@ -14,5 +14,5 @@ pub fn main() !void {...@@ -14,5 +14,5 @@ pub fn main() !void {
14 x += buffer[2];14 x += buffer[2];
15}15}
16// run16// run
17// backend=llvm17// backend=stage2,llvm
18// target=native18// target=native
test/cases/safety/memset_array_undefined_large.zig+1-1
...@@ -14,5 +14,5 @@ pub fn main() !void {...@@ -14,5 +14,5 @@ pub fn main() !void {
14 x += buffer[2];14 x += buffer[2];
15}15}
16// run16// run
17// backend=llvm17// backend=stage2,llvm
18// target=native18// target=native
test/cases/safety/memset_slice_undefined_bytes.zig+1-1
...@@ -16,5 +16,5 @@ pub fn main() !void {...@@ -16,5 +16,5 @@ pub fn main() !void {
16 x += buffer[2];16 x += buffer[2];
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/memset_slice_undefined_large.zig+1-1
...@@ -16,5 +16,5 @@ pub fn main() !void {...@@ -16,5 +16,5 @@ pub fn main() !void {
16 x += buffer[2];16 x += buffer[2];
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/modrem by zero.zig +1-1
...@@ -16,5 +16,5 @@ fn div0(a: u32, b: u32) u32 {...@@ -16,5 +16,5 @@ fn div0(a: u32, b: u32) u32 {
16 return a / b;16 return a / b;
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/modulus by zero.zig +1-1
...@@ -16,5 +16,5 @@ fn mod0(a: i32, b: i32) i32 {...@@ -16,5 +16,5 @@ fn mod0(a: i32, b: i32) i32 {
16 return @mod(a, b);16 return @mod(a, b);
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/noreturn returned.zig +1-1
...@@ -19,5 +19,5 @@ pub fn main() void {...@@ -19,5 +19,5 @@ pub fn main() void {
19 bar();19 bar();
20}20}
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/optional unwrap operator on C pointer.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/optional unwrap operator on null pointer.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/out of bounds array slice by length.zig +1-1
...@@ -16,5 +16,5 @@ fn foo(a: u32) u32 {...@@ -16,5 +16,5 @@ fn foo(a: u32) u32 {
16 return a;16 return a;
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/out of bounds slice access.zig +1-1
...@@ -17,5 +17,5 @@ fn bar(a: []const i32) i32 {...@@ -17,5 +17,5 @@ fn bar(a: []const i32) i32 {
17}17}
18fn baz(_: i32) void {}18fn baz(_: i32) void {}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/pointer casting null to non-optional pointer.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17}17}
1818
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/pointer casting to null function pointer.zig +1-1
...@@ -19,5 +19,5 @@ pub fn main() !void {...@@ -19,5 +19,5 @@ pub fn main() !void {
19}19}
2020
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/pointer slice sentinel mismatch.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17}17}
1818
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/remainder division by zero.zig +1-1
...@@ -16,5 +16,5 @@ fn rem0(a: i32, b: i32) i32 {...@@ -16,5 +16,5 @@ fn rem0(a: i32, b: i32) i32 {
16 return @rem(a, b);16 return @rem(a, b);
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/shift left by huge amount.zig +1-1
...@@ -18,5 +18,5 @@ pub fn main() !void {...@@ -18,5 +18,5 @@ pub fn main() !void {
18}18}
1919
20// run20// run
21// backend=llvm21// backend=stage2,llvm
22// target=native22// target=native
test/cases/safety/shift right by huge amount.zig +1-1
...@@ -18,5 +18,5 @@ pub fn main() !void {...@@ -18,5 +18,5 @@ pub fn main() !void {
18}18}
1919
20// run20// run
21// backend=llvm21// backend=stage2,llvm
22// target=native22// 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) {...@@ -19,5 +19,5 @@ fn div(a: @Vector(4, i16), b: @Vector(4, i16)) @Vector(4, i16) {
19 return @divTrunc(a, b);19 return @divTrunc(a, b);
20}20}
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/signed integer division overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn div(a: i16, b: i16) i16 {...@@ -17,5 +17,5 @@ fn div(a: i16, b: i16) i16 {
17 return @divTrunc(a, b);17 return @divTrunc(a, b);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// 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 {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// 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 {...@@ -16,5 +16,5 @@ fn unsigned_cast(x: i32) u32 {
16 return @intCast(x);16 return @intCast(x);
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/signed shift left overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn shl(a: i16, b: u4) i16 {...@@ -17,5 +17,5 @@ fn shl(a: i16, b: u4) i16 {
17 return @shlExact(a, b);17 return @shlExact(a, b);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/signed shift right overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn shr(a: i16, b: u4) i16 {...@@ -17,5 +17,5 @@ fn shr(a: i16, b: u4) i16 {
17 return @shrExact(a, b);17 return @shrExact(a, b);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/signed-unsigned vector cast.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17}17}
1818
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/slice by length sentinel mismatch on lhs.zig +1-1
...@@ -14,5 +14,5 @@ pub fn main() !void {...@@ -14,5 +14,5 @@ pub fn main() !void {
14 return error.TestFailed;14 return error.TestFailed;
15}15}
16// run16// run
17// backend=llvm17// backend=stage2,llvm
18// target=native18// target=native
test/cases/safety/slice by length sentinel mismatch on rhs.zig +1-1
...@@ -14,5 +14,5 @@ pub fn main() !void {...@@ -14,5 +14,5 @@ pub fn main() !void {
14 return error.TestFailed;14 return error.TestFailed;
15}15}
16// run16// run
17// backend=llvm17// backend=stage2,llvm
18// target=native18// target=native
test/cases/safety/slice sentinel mismatch - floats.zig +1-1
...@@ -16,5 +16,5 @@ pub fn main() !void {...@@ -16,5 +16,5 @@ pub fn main() !void {
16}16}
1717
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/slice sentinel mismatch - optional pointers.zig +1-1
...@@ -16,5 +16,5 @@ pub fn main() !void {...@@ -16,5 +16,5 @@ pub fn main() !void {
16}16}
1717
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/slice slice sentinel mismatch.zig +1-1
...@@ -15,5 +15,5 @@ pub fn main() !void {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/slice start index greater than end index.zig +1-1
...@@ -20,5 +20,5 @@ pub fn main() !void {...@@ -20,5 +20,5 @@ pub fn main() !void {
20}20}
2121
22// run22// run
23// backend=llvm23// backend=stage2,llvm
24// target=native24// target=native
test/cases/safety/slice with sentinel out of bounds - runtime len.zig +1-1
...@@ -19,5 +19,5 @@ pub fn main() !void {...@@ -19,5 +19,5 @@ pub fn main() !void {
19}19}
2020
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/slice with sentinel out of bounds.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17}17}
1818
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/slicing null C pointer - runtime len.zig +1-1
...@@ -17,5 +17,5 @@ pub fn main() !void {...@@ -17,5 +17,5 @@ pub fn main() !void {
17 return error.TestFailed;17 return error.TestFailed;
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/slicing null C pointer.zig +1-1
...@@ -16,5 +16,5 @@ pub fn main() !void {...@@ -16,5 +16,5 @@ pub fn main() !void {
16 return error.TestFailed;16 return error.TestFailed;
17}17}
18// run18// run
19// backend=llvm19// backend=stage2,llvm
20// target=native20// target=native
test/cases/safety/switch else on corrupt enum value - one prong.zig +1-1
...@@ -20,5 +20,5 @@ pub fn main() !void {...@@ -20,5 +20,5 @@ pub fn main() !void {
20 }20 }
21}21}
22// run22// run
23// backend=llvm23// backend=stage2,llvm
24// target=native24// target=native
test/cases/safety/switch else on corrupt enum value - union.zig +1-1
...@@ -25,5 +25,5 @@ pub fn main() !void {...@@ -25,5 +25,5 @@ pub fn main() !void {
25 }25 }
26}26}
27// run27// run
28// backend=llvm28// backend=stage2,llvm
29// target=native29// target=native
test/cases/safety/switch else on corrupt enum value.zig +1-1
...@@ -19,5 +19,5 @@ pub fn main() !void {...@@ -19,5 +19,5 @@ pub fn main() !void {
19 }19 }
20}20}
21// run21// run
22// backend=llvm22// backend=stage2,llvm
23// target=native23// target=native
test/cases/safety/switch on corrupted enum value.zig +1-1
...@@ -23,5 +23,5 @@ pub fn main() !void {...@@ -23,5 +23,5 @@ pub fn main() !void {
23}23}
2424
25// run25// run
26// backend=llvm26// backend=stage2,llvm
27// target=native27// target=native
test/cases/safety/switch on corrupted union value.zig +1-1
...@@ -23,5 +23,5 @@ pub fn main() !void {...@@ -23,5 +23,5 @@ pub fn main() !void {
23}23}
2424
25// run25// run
26// backend=llvm26// backend=stage2,llvm
27// target=native27// target=native
test/cases/safety/unreachable.zig+1-1
...@@ -11,5 +11,5 @@ pub fn main() !void {...@@ -11,5 +11,5 @@ pub fn main() !void {
11 unreachable;11 unreachable;
12}12}
13// run13// run
14// backend=llvm14// backend=stage2,llvm
15// target=native15// 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 {...@@ -15,5 +15,5 @@ pub fn main() !void {
15 return error.TestFailed;15 return error.TestFailed;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/safety/unsigned shift left overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn shl(a: u16, b: u4) u16 {...@@ -17,5 +17,5 @@ fn shl(a: u16, b: u4) u16 {
17 return @shlExact(a, b);17 return @shlExact(a, b);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/unsigned shift right overflow.zig +1-1
...@@ -17,5 +17,5 @@ fn shr(a: u16, b: u4) u16 {...@@ -17,5 +17,5 @@ fn shr(a: u16, b: u4) u16 {
17 return @shrExact(a, b);17 return @shrExact(a, b);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/unwrap error switch.zig +1-1
...@@ -17,5 +17,5 @@ fn bar() !void {...@@ -17,5 +17,5 @@ fn bar() !void {
17 return error.Whatever;17 return error.Whatever;
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/unwrap error.zig +1-1
...@@ -15,5 +15,5 @@ fn bar() !void {...@@ -15,5 +15,5 @@ fn bar() !void {
15 return error.Whatever;15 return error.Whatever;
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// 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 {...@@ -17,5 +17,5 @@ fn shorten_cast(x: u8) u0 {
17 return @intCast(x);17 return @intCast(x);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// 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 {...@@ -17,5 +17,5 @@ fn shorten_cast(x: i32) i8 {
17 return @intCast(x);17 return @intCast(x);
18}18}
19// run19// run
20// backend=llvm20// backend=stage2,llvm
21// target=native21// target=native
test/cases/safety/zero casted to error.zig +1-1
...@@ -15,5 +15,5 @@ fn bar(x: u16) anyerror {...@@ -15,5 +15,5 @@ fn bar(x: u16) anyerror {
15 return @errorFromInt(x);15 return @errorFromInt(x);
16}16}
17// run17// run
18// backend=llvm18// backend=stage2,llvm
19// target=native19// target=native
test/cases/taking_pointer_of_global_tagged_union.zig+1-1
...@@ -22,5 +22,5 @@ pub fn main() !void {...@@ -22,5 +22,5 @@ pub fn main() !void {
22}22}
2323
24// run24// run
25// backend=llvm25// backend=stage2,llvm
26// target=native26// target=native
test/cases/union_unresolved_layout.zig+1-1
...@@ -11,5 +11,5 @@ pub fn main() !void {...@@ -11,5 +11,5 @@ pub fn main() !void {
11}11}
1212
13// run13// run
14// backend=llvm14// backend=stage2,llvm
15//15//
test/src/Cases.zig+4
...@@ -472,6 +472,10 @@ fn addFromDirInner(...@@ -472,6 +472,10 @@ fn addFromDirInner(
472 // Rosetta has issues with ZLD472 // Rosetta has issues with ZLD
473 continue;473 continue;
474 }474 }
475 if (backend == .stage2 and target.ofmt == .coff) {
476 // COFF linker has bitrotted
477 continue;
478 }
475479
476 const next = ctx.cases.items.len;480 const next = ctx.cases.items.len;
477 try ctx.cases.append(.{481 try ctx.cases.append(.{