Commit d3dfe61eaa

Jacob Young <jacobly0@users.noreply.github.com>
2025-05-14 13:42:58
x86_64: rewrite scalar `*|`
1 parent 96e35b3
Changed files (5)
src/arch/x86_64/abi.zig
@@ -578,6 +578,11 @@ pub const RegisterClass = struct {
         for (allocatable_regs, 0..) |reg, index| if (reg.class() == .general_purpose) set.set(index);
         break :blk set;
     };
+    pub const gphi: RegisterBitSet = blk: {
+        var set = RegisterBitSet.initEmpty();
+        for (allocatable_regs, 0..) |reg, index| if (reg.hasHi8()) set.set(index);
+        break :blk set;
+    };
     pub const x87: RegisterBitSet = blk: {
         var set = RegisterBitSet.initEmpty();
         for (allocatable_regs, 0..) |reg, index| if (reg.class() == .x87) set.set(index);
src/arch/x86_64/bits.zig
@@ -529,12 +529,36 @@ pub const Register = enum(u8) {
             16 => reg.to16(),
             32 => reg.to32(),
             64 => reg.to64(),
+            80 => reg.to80(),
             128 => reg.to128(),
             256 => reg.to256(),
+            512 => reg.to512(),
             else => unreachable,
         };
     }
 
+    pub fn toSize(reg: Register, size: Memory.Size, target: *const std.Target) Register {
+        return switch (size) {
+            .none => unreachable,
+            .ptr => reg.toBitSize(target.ptrBitWidth()),
+            .gpr => switch (target.cpu.arch) {
+                else => unreachable,
+                .x86 => reg.to32(),
+                .x86_64 => reg.to64(),
+            },
+            .low_byte => reg.toLo8(),
+            .high_byte => reg.toHi8(),
+            .byte => reg.to8(),
+            .word => reg.to16(),
+            .dword => reg.to32(),
+            .qword => reg.to64(),
+            .tbyte => reg.to80(),
+            .xword => reg.to128(),
+            .yword => reg.to256(),
+            .zword => reg.to512(),
+        };
+    }
+
     fn gpBase(reg: Register) u7 {
         return switch (@intFromEnum(reg)) {
             // zig fmt: off
@@ -549,24 +573,62 @@ pub const Register = enum(u8) {
     }
 
     pub fn to64(reg: Register) Register {
-        return @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.rax));
+        return switch (reg.class()) {
+            .general_purpose, .gphi => @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.rax)),
+            .segment => unreachable,
+            .x87, .mmx, .cr, .dr => reg,
+            .sse => reg.to128(),
+            .ip => .rip,
+        };
     }
 
     pub fn to32(reg: Register) Register {
-        return @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.eax));
+        return switch (reg.class()) {
+            .general_purpose, .gphi => @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.eax)),
+            .segment => unreachable,
+            .x87, .mmx, .cr, .dr => reg,
+            .sse => reg.to128(),
+            .ip => .eip,
+        };
     }
 
     pub fn to16(reg: Register) Register {
-        return @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.ax));
+        return switch (reg.class()) {
+            .general_purpose, .gphi => @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.ax)),
+            .segment, .x87, .mmx, .cr, .dr => reg,
+            .sse => reg.to128(),
+            .ip => .ip,
+        };
     }
 
     pub fn to8(reg: Register) Register {
-        return switch (@intFromEnum(reg)) {
-            else => @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.al)),
-            @intFromEnum(Register.ah)...@intFromEnum(Register.bh) => reg,
+        return switch (reg.class()) {
+            .general_purpose => reg.toLo8(),
+            .gphi, .segment, .x87, .mmx, .cr, .dr => reg,
+            .sse => reg.to128(),
+            .ip => .ip,
         };
     }
 
+    pub fn toLo8(reg: Register) Register {
+        return @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.al));
+    }
+
+    pub fn toHi8(reg: Register) Register {
+        assert(reg.hasHi8());
+        return @enumFromInt(@intFromEnum(reg) - reg.gpBase() + @intFromEnum(Register.ah));
+    }
+
+    pub fn hasHi8(reg: Register) bool {
+        const reg_id = reg.id();
+        return (reg_id >= comptime Register.ah.id()) and reg_id <= comptime Register.bh.id();
+    }
+
+    pub fn to80(reg: Register) Register {
+        assert(reg.class() == .x87);
+        return reg;
+    }
+
     fn sseBase(reg: Register) u8 {
         assert(reg.class() == .sse);
         return switch (@intFromEnum(reg)) {
@@ -577,6 +639,10 @@ pub const Register = enum(u8) {
         };
     }
 
+    pub fn to512(reg: Register) Register {
+        return @enumFromInt(@intFromEnum(reg) - reg.sseBase() + @intFromEnum(Register.zmm0));
+    }
+
     pub fn to256(reg: Register) Register {
         return @enumFromInt(@intFromEnum(reg) - reg.sseBase() + @intFromEnum(Register.ymm0));
     }
@@ -710,6 +776,8 @@ pub const Memory = struct {
         none,
         ptr,
         gpr,
+        low_byte,
+        high_byte,
         byte,
         word,
         dword,
@@ -755,7 +823,7 @@ pub const Memory = struct {
                     .x86 => 32,
                     .x86_64 => 64,
                 },
-                .byte => 8,
+                .low_byte, .high_byte, .byte => 8,
                 .word => 16,
                 .dword => 32,
                 .qword => 64,
src/arch/x86_64/CodeGen.zig
@@ -486,7 +486,7 @@ pub const MCValue = union(enum) {
                 } },
             } else .{ .base = .{ .reg = .ds }, .mod = .{ .off = addr } },
             .indirect => |reg_off| .{
-                .base = .{ .reg = registerAlias(reg_off.reg, @divExact(function.target.ptrBitWidth(), 8)) },
+                .base = .{ .reg = reg_off.reg.toSize(.ptr, function.target) },
                 .mod = .{ .rm = .{
                     .size = mod_rm.size,
                     .index = mod_rm.index,
@@ -2408,7 +2408,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
 }
 
 fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
-    @setEvalBranchQuota(18_100);
+    @setEvalBranchQuota(19_300);
     const pt = cg.pt;
     const zcu = pt.zcu;
     const ip = &zcu.intern_pool;
@@ -2444,7 +2444,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
         try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1);
         switch (air_tags[@intFromEnum(inst)]) {
             // zig fmt: off
-            .mul_sat         => try cg.airMulSat(inst),
             .shl_sat         => try cg.airShlSat(inst),
 
             .bitcast          => try cg.airBitCast(inst),
@@ -4493,7 +4492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4523,7 +4522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4670,7 +4669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4700,7 +4699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4731,7 +4730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4763,7 +4762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4795,7 +4794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4824,7 +4823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4853,7 +4852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4883,7 +4882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4916,7 +4915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4946,7 +4945,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -4977,7 +4976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5009,7 +5008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5042,7 +5041,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5073,7 +5072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5105,7 +5104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5138,7 +5137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5171,7 +5170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5201,7 +5200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5231,7 +5230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5262,7 +5261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5295,7 +5294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5322,7 +5321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5351,7 +5350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5492,7 +5491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5524,7 +5523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5558,7 +5557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5592,7 +5591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5625,7 +5624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5658,7 +5657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5688,7 +5687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5737,7 +5736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5769,7 +5768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5802,7 +5801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5836,7 +5835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5871,7 +5870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5906,7 +5905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5941,7 +5940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -5976,7 +5975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -6006,7 +6005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -6037,7 +6036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -6079,8 +6078,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -6123,8 +6122,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -6162,8 +6161,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -6208,8 +6207,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -14984,7 +14983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15104,7 +15103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15134,7 +15133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15164,7 +15163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15195,7 +15194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15225,7 +15224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .mem, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15254,7 +15253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15282,7 +15281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .mem, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15311,7 +15310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15342,7 +15341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15372,7 +15371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15402,7 +15401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15433,7 +15432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15464,7 +15463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15495,7 +15494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15526,7 +15525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15558,7 +15557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15589,7 +15588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .mem, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15619,7 +15618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15648,7 +15647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .mem, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15678,7 +15677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15737,7 +15736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15812,7 +15811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15842,7 +15841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15874,7 +15873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15906,7 +15905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15937,7 +15936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -15996,7 +15995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16056,7 +16055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16087,7 +16086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16119,7 +16118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16152,7 +16151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16185,7 +16184,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16218,7 +16217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16279,7 +16278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -16302,8 +16301,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -16346,8 +16345,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -27013,27 +27012,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 };
                 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
             },
-            .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) {
-                else => unreachable,
-                .div_float, .div_float_optimized => .div_float,
-                .div_exact, .div_exact_optimized => .div_exact,
-            }) else {
+            .mul_sat => |air_tag| if (use_old) try cg.airMulSat(inst) else fallback: {
                 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
-                const ty = cg.typeOf(bin_op.lhs);
+                if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airMulSat(inst);
                 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
                 var res: [1]Temp = undefined;
-                (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{
-                    .required_features = .{ .f16c, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .word, .is = .word } },
-                        .{ .scalar_float = .{ .of = .word, .is = .word } },
-                        .any,
+                cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
+                    .src_constraints = .{ .{ .exact_signed_int = 8 }, .{ .exact_signed_int = 8 }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
                     },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, .i_, .mul, .src1b, ._, ._, ._ },
+                        .{ ._, ._nc, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ },
+                        .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_smax), ._, ._ },
+                    } },
+                }, .{
+                    .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                        .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
+                        .{ .type = .i8, .kind = .{ .rc = .gphi } },
                         .unused,
                         .unused,
                         .unused,
@@ -27045,26 +27052,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
-                        .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
-                        .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
-                        .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
+                        .{ ._, .i_, .mul, .src1b, ._, ._, ._ },
+                        .{ ._, ._c, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .dst0d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
+                        .{ ._, ._, .cmp, .tmp0b, .dst0h, ._, ._ },
+                        .{ ._, ._e, .j, .@"0f", ._, ._, ._ },
+                        .{ .@"1:", ._r, .sa, .dst0w, .ui(15), ._, ._ },
+                        .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .word, .is = .word } },
-                        .{ .scalar_float = .{ .of = .word, .is = .word } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .exact_unsigned_int = 8 }, .{ .exact_unsigned_int = 8 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
+                        .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27077,25 +27085,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .{ .ref = .src0 }, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._, .mul, .src1b, ._, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .@"or", .dst0b, .tmp0b, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .f16c, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .qword, .is = .word } },
-                        .{ .scalar_float = .{ .of = .qword, .is = .word } },
-                        .any,
-                    },
+                    .required_features = .{ .cmov, null, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .mem, .mem, .none } },
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .mem, .to_sse, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                        .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27107,28 +27112,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
-                        .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
-                        .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
-                        .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
+                        .{ ._, ._, .mul, .src1b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .cmp, .dst0w, .tmp0w, ._, ._ },
+                        .{ ._, ._a, .cmov, .dst0d, .tmp0d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .f16c, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .word } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .word } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .mem, .mem, .none } },
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .mem, .to_sse, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                        .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27140,27 +27140,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
-                        .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
-                        .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
-                        .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
+                        .{ ._, ._, .mul, .src1b, ._, ._, ._ },
+                        .{ ._, ._, .cmp, .dst0w, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._na, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .f16c, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
-                        .any,
-                    },
+                    .required_features = .{ .fast_imm16, null, null, null },
+                    .src_constraints = .{ .{ .exact_signed_int = 16 }, .{ .exact_signed_int = 16 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
-                        .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
+                        .{ .type = .i16, .kind = .{ .reg = .dx } },
+                        .unused,
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27170,33 +27169,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
-                        .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, .i_, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._nc, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ },
+                        .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .exact_signed_int = 16 }, .{ .exact_signed_int = 16 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .{ .type = .i16, .kind = .{ .reg = .dx } },
+                        .unused,
+                        .unused,
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27205,34 +27199,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
-                        .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
-                        .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
-                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
-                        .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, .i_, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._nc, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ },
+                        .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse4_1, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .any,
-                    },
+                    .required_features = .{ .fast_imm16, null, null, null },
+                    .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .{ .type = .i16, .kind = .{ .reg = .dx } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27241,36 +27230,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
-                        .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
-                        .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
-                        .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
-                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
-                        .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, .i_, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._c, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1w, .sia(-1, .src0, .add_bit_size), ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._e, .j, .@"0f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .dst0d, .tmp0d, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ },
+                        .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse2, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
-                        .{ .type = .f16, .kind = .{ .reg = .ax } },
+                        .{ .type = .i16, .kind = .{ .reg = .dx } },
+                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27278,149 +27264,122 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
-                        .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
-                        .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
-                        .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
-                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
-                        .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
-                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, .i_, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._c, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1w, .sia(-1, .src0, .add_bit_size), ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._e, .j, .@"0f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .dst0d, .tmp0d, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ },
+                        .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .{ .exact_unsigned_int = 16 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f16, .kind = .{ .reg = .ax } },
-                        .{ .type = .f32, .kind = .mem },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
-                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .{ .type = .u16, .kind = .{ .reg = .dx } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
-                        .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
-                        .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
-                        .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
-                        .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
-                        .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .@"or", .dst0d, .tmp0d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
-                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
-                        .any,
-                    },
+                    .required_features = .{ .bmi, .cmov, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
-                    },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
-                    .each = .{ .once = &.{
-                        .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .sse, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
-                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
-                        .any,
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mut_sse, .mem, .none } },
-                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    .extra_temps = .{
+                        .{ .type = .u16, .kind = .{ .reg = .dx } },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
                     },
                     .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._, .andn, .tmp2d, .tmp1d, .dst0d, ._ },
+                        .{ ._, ._, .@"or", .tmp2w, .tmp0w, ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0d, .tmp1d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
-                        .any,
-                    },
+                    .required_features = .{ .cmov, .fast_imm16, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
-                    },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
-                    .each = .{ .once = &.{
-                        .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .sse, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
-                        .any,
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mut_sse, .mem, .none } },
-                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    .extra_temps = .{
+                        .{ .type = .u16, .kind = .{ .reg = .dx } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
                     },
                     .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .yword, .is = .dword } },
-                        .{ .scalar_float = .{ .of = .yword, .is = .dword } },
-                        .any,
-                    },
-                    .patterns = &.{
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
-                    },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
-                    .each = .{ .once = &.{
-                        .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0d, .tmp0d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
-                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
-                        .any,
-                    },
+                    .required_features = .{ .cmov, null, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
+                        .{ .type = .u16, .kind = .{ .reg = .dx } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27431,29 +27390,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
-                        .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0d, .tmp0d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
-                        .any,
-                    },
+                    .required_features = .{ .fast_imm16, null, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
+                        .{ .type = .u16, .kind = .{ .reg = .dx } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27464,59 +27422,58 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
-                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
-                    },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
-                    .each = .{ .once = &.{
-                        .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .sse2, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
-                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
-                        .any,
+                        .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
                     },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mut_sse, .mem, .none } },
-                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    .extra_temps = .{
+                        .{ .type = .u16, .kind = .{ .reg = .dx } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
                     },
                     .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mul, .src1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
-                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .exact_signed_int = 32 }, .{ .exact_signed_int = 32 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .mem, .mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f64, .kind = .{ .reg = .st6 } },
-                        .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i32, .kind = .{ .reg = .edx } },
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27527,71 +27484,87 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, .f_, .div, .src1q, ._, ._, ._ },
-                        .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
+                        .{ ._, .i_, .mul, .src1d, ._, ._, ._ },
+                        .{ ._, ._nc, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0d, .ui(31), ._, ._ },
+                        .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
-                    },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
-                    .each = .{ .once = &.{
-                        .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .sse2, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
-                        .any,
+                        .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
                     },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mut_sse, .mem, .none } },
-                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    .extra_temps = .{
+                        .{ .type = .i32, .kind = .{ .reg = .edx } },
+                        .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
                     },
                     .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
+                        .{ ._, .i_, .mul, .src1d, ._, ._, ._ },
+                        .{ ._, ._c, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1d, .sia(-1, .src0, .add_bit_size), ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1d, .tmp0d, ._, ._ },
+                        .{ ._, ._e, .j, .@"0f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .dst0d, .tmp0d, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0d, .ui(31), ._, ._ },
+                        .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .yword, .is = .qword } },
-                        .{ .scalar_float = .{ .of = .yword, .is = .qword } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .{ .exact_unsigned_int = 32 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_sse, .mem, .none } },
-                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
                     },
-                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .extra_temps = .{
+                        .{ .type = .u32, .kind = .{ .reg = .edx } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
+                        .{ ._, ._, .mul, .src1d, ._, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .@"or", .dst0d, .tmp0d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
-                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
-                        .any,
-                    },
+                    .required_features = .{ .bmi, .cmov, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
-                        .unused,
+                        .{ .type = .u32, .kind = .{ .reg = .edx } },
+                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27601,29 +27574,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
-                        .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mul, .src1d, ._, ._, ._ },
+                        .{ ._, ._, .andn, .tmp2d, .tmp1d, .dst0d, ._ },
+                        .{ ._, ._, .@"or", .tmp2d, .tmp0d, ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0d, .tmp1d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse2, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
-                        .any,
-                    },
+                    .required_features = .{ .cmov, null, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
+                        .{ .type = .u32, .kind = .{ .reg = .edx } },
+                        .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27634,30 +27604,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mul, .src1d, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0d, .tmp0d, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
-                        .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
-                        .any,
-                    },
+                    .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f64, .kind = .{ .reg = .st6 } },
-                        .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u32, .kind = .{ .reg = .edx } },
+                        .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27667,29 +27634,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mul, .src1d, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1d, .tmp0d, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .any,
-                    },
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{ .{ .exact_signed_int = 64 }, .{ .exact_signed_int = 64 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .mem, .mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f80, .kind = .{ .reg = .st6 } },
-                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i64, .kind = .{ .reg = .rdx } },
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27700,26 +27665,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .{ .rc = .x87 }, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
-                        .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
-                        .{ ._, .f_p, .div, ._, ._, ._, ._ },
-                        .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
+                        .{ ._, .i_, .mul, .src1q, ._, ._, ._ },
+                        .{ ._, ._nc, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_smax), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .xor, .dst0q, .tmp0q, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .any,
-                    },
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .unused,
+                        .{ .type = .i64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27730,25 +27695,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .{ .rc = .x87 }, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
-                        .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },
-                        .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
+                        .{ ._, .i_, .mul, .src1q, ._, ._, ._ },
+                        .{ ._, ._c, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .dst0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .sia(-1, .src0, .add_bit_size), ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1q, .tmp0q, ._, ._ },
+                        .{ ._, ._e, .j, .@"0f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .dst0q, .ua(.src0, .add_smax), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .xor, .dst0q, .tmp0q, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .any,
-                    },
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .{ .exact_unsigned_int = 64 }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .mem, .to_x87, .none } },
-                        .{ .src = .{ .to_x87, .to_x87, .none } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
                         .unused,
                         .unused,
                         .unused,
@@ -27760,26 +27729,25 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .{ .rc = .x87 }, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
-                        .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },
-                        .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
+                        .{ ._, ._, .mul, .src1q, ._, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp0q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
-                        .any,
-                    },
+                    .required_features = .{ .@"64bit", .bmi, .cmov, null },
+                    .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f80, .kind = .{ .reg = .st6 } },
-                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27789,31 +27757,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .f_p, .div, ._, ._, ._, ._ },
-                        .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mul, .src1q, ._, ._, ._ },
+                        .{ ._, ._, .andn, .tmp2q, .tmp1q, .dst0q, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0q, .tmp1q, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse, null, null, null },
-                    .src_constraints = .{
-                        .{ .scalar_float = .{ .of = .xword, .is = .xword } },
-                        .{ .scalar_float = .{ .of = .xword, .is = .xword } },
-                        .any,
-                    },
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
-                        .unused,
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -27825,26 +27788,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .{ .ref = .src0 }, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._, .mul, .src1q, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1q, .dst0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._nz, .cmov, .dst0q, .tmp0q, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .avx, null, null, null },
-                    .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
-                        .any,
-                    },
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any },
                     .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
+                        .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } },
+                        .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
-                        .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
-                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .unused,
+                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -27853,28 +27818,5280 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                     },
-                    .dst_temps = .{ .mem, .unused },
-                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
-                        .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
-                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
-                        .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
-                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
-                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mul, .src1q, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_2_smin), ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1q, .dst0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp1q, .tmp0q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .sse2, null, null, null },
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
                     .src_constraints = .{
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
-                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .to_mem, .none } },
                     },
-                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ },
+                        .{ ._, ._, .not, .tmp9q, ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .adx, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rax } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
+                        .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ },
+                        .{ ._, ._z, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ },
+                        .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ },
+                        .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ },
+                        .{ ._, ._mp, .j, .@"1b", ._, ._, ._ },
+                        .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leaid(.tmp1q, .tmp4, 8), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .sa(.dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rax } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rax } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .adx, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rax } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
+                        .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ },
+                        .{ ._, ._z, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ },
+                        .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ },
+                        .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ },
+                        .{ ._, ._mp, .j, .@"1b", ._, ._, ._ },
+                        .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rax } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rax } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .usize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .adx, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
+                        .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ },
+                        .{ ._, ._z, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ },
+                        .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ },
+                        .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ },
+                        .{ ._, ._mp, .j, .@"1b", ._, ._, ._ },
+                        .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdi } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdi } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .adx, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
+                        .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ },
+                        .{ ._, ._z, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ },
+                        .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ },
+                        .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ },
+                        .{ ._, ._mp, .j, .@"1b", ._, ._, ._ },
+                        .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ },
+                        .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdi } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .bmi2, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdi } },
+                        .{ .type = .isize, .kind = .{ .reg = .rcx } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", null, null, null },
+                    .src_constraints = .{
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .reg = .rdi } },
+                        .{ .type = .u64, .kind = .{ .reg = .rcx } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp3p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ },
+                        .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ },
+                        .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                        .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ },
+                    } },
+                } }) catch |err| switch (err) {
+                    error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
+                        @tagName(air_tag),
+                        cg.typeOf(bin_op.lhs).fmt(pt),
+                        ops[0].tracking(cg),
+                        ops[1].tracking(cg),
+                    }),
+                    else => |e| return e,
+                };
+                try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
+            },
+            .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) {
+                else => unreachable,
+                .div_float, .div_float_optimized => .div_float,
+                .div_exact, .div_exact_optimized => .div_exact,
+            }) else {
+                const bin_op = air_datas[@intFromEnum(inst)].bin_op;
+                const ty = cg.typeOf(bin_op.lhs);
+                var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
+                var res: [1]Temp = undefined;
+                (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{
+                    .required_features = .{ .f16c, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .word, .is = .word } },
+                        .{ .scalar_float = .{ .of = .word, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
+                        .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
+                        .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
+                        .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .word, .is = .word } },
+                        .{ .scalar_float = .{ .of = .word, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .f16c, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .qword, .is = .word } },
+                        .{ .scalar_float = .{ .of = .qword, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .mem, .none } },
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .mem, .to_sse, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
+                        .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
+                        .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
+                        .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .f16c, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .word } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .mem, .none } },
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .mem, .to_sse, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
+                        .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
+                        .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
+                        .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .f16c, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
+                        .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
+                        .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
+                        .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
+                        .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
+                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
+                        .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse4_1, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
+                        .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
+                        .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
+                        .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
+                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
+                        .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse2, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .{ .type = .f16, .kind = .{ .reg = .ax } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
+                        .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
+                        .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
+                        .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
+                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
+                        .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
+                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f16, .kind = .{ .reg = .ax } },
+                        .{ .type = .f32, .kind = .mem },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
+                        .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
+                        .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
+                        .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
+                        .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
+                        .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
+                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
+                        .{ .scalar_float = .{ .of = .dword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mut_sse, .mem, .none } },
+                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mut_sse, .mem, .none } },
+                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .yword, .is = .dword } },
+                        .{ .scalar_float = .{ .of = .yword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
+                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
+                        .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
+                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse2, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
+                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mut_sse, .mem, .none } },
+                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
+                        .{ .scalar_float = .{ .of = .qword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f64, .kind = .{ .reg = .st6 } },
+                        .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
+                        .{ ._, .f_, .div, .src1q, ._, ._, ._ },
+                        .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse2, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mut_sse, .mem, .none } },
+                        .{ .src = .{ .to_mut_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .yword, .is = .qword } },
+                        .{ .scalar_float = .{ .of = .yword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_sse, .mem, .none } },
+                        .{ .src = .{ .to_sse, .to_sse, .none } },
+                    },
+                    .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
+                        .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
+                        .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse2, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
+                        .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f64, .kind = .{ .reg = .st6 } },
+                        .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st6 } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .rc = .x87 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
+                        .{ ._, .f_p, .div, ._, ._, ._, ._ },
+                        .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .rc = .x87 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },
+                        .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .to_x87, .none } },
+                        .{ .src = .{ .to_x87, .to_x87, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .rc = .x87 }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },
+                        .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st6 } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .f_p, .div, ._, ._, ._, ._ },
+                        .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse, null, null, null },
+                    .src_constraints = .{
+                        .{ .scalar_float = .{ .of = .xword, .is = .xword } },
+                        .{ .scalar_float = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .avx, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
+                        .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
+                        .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
+                        .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
+                        .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse2, null, null, null },
+                    .src_constraints = .{
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
+                        .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .call_frame = .{ .alignment = .@"16" },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
@@ -31476,7 +36693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i8, .kind = .{ .reg = .ah } },
+                        .{ .type = .i16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -31493,7 +36710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
                         .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
                     } },
@@ -31508,7 +36725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .i8, .kind = .{ .reg = .ah } },
+                        .{ .type = .i16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -31525,7 +36742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
                         .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ },
                         .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
                         .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
                     } },
@@ -31541,7 +36758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -31558,7 +36775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
                         .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
                     } },
@@ -31573,7 +36790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -31590,7 +36807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
                         .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ },
                         .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
                         .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
                     } },
@@ -38951,7 +44168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -38994,7 +44211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -39011,13 +44228,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
                         .{ ._, .f_, .xam, ._, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1h, .si(0b1_000_100), ._, ._ },
                         .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
                         .{ ._, .f_, .xch, .src1t, ._, ._, ._ },
                         .{ ._, .f_, .ucom, .src1t, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ },
                         .{ ._, .f_, .xch, .src1t, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1h, .si(0b0_000_001), ._, ._ },
                         .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
                         .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ },
                         .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
@@ -39077,7 +44294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f80, .kind = .{ .reg = .st6 } },
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -39123,7 +44340,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f80, .kind = .{ .reg = .st6 } },
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -39140,13 +44357,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ },
                         .{ ._, .f_, .xam, ._, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ },
                         .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
                         .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ },
                         .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ },
                         .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ },
                         .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
                         .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ },
                         .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ },
@@ -43108,7 +48325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -43149,7 +48366,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -43166,11 +48383,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
                         .{ ._, .f_, .xam, ._, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1h, .si(0b1_000_100), ._, ._ },
                         .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
                         .{ ._, .f_, .ucom, .src1t, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1h, .si(0b0_000_001), ._, ._ },
                         .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
                         .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ },
                         .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
@@ -43228,7 +48445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f80, .kind = .{ .reg = .st6 } },
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -43272,7 +48489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f80, .kind = .{ .reg = .st6 } },
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                        .{ .type = .u8, .kind = .{ .reg = .ah } },
+                        .{ .type = .u16, .kind = .{ .reg = .ax } },
                         .unused,
                         .unused,
                         .unused,
@@ -43289,11 +48506,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ },
                         .{ ._, .f_, .xam, ._, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ },
                         .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
                         .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ },
                         .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ },
-                        .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ },
                         .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
                         .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ },
                         .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ },
@@ -43897,8 +49114,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -43937,8 +49154,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -43972,8 +49189,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -44009,8 +49226,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -44803,8 +50020,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -44843,8 +50060,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -44878,8 +50095,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -44915,8 +50132,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -45271,7 +50488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
+                        .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } },
                         .unused,
                         .unused,
                         .unused,
@@ -45401,7 +50618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mul, .src1w, ._, ._, ._ },
                         .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ },
                         .{ ._, ._, .@"and", .dst0w, .ua(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .@"and", .tmp1w, .uia(std.math.maxInt(u16), .src0, .sub_umax), ._, ._ },
+                        .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_2_smin), ._, ._ },
                         .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ },
                     } },
                 }, .{
@@ -45692,8 +50909,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -45803,8 +51020,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .cmov, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -45914,8 +51131,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -46025,353 +51242,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
-                        .any,
-                    },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
-                    },
-                    .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .reg = .rax } },
-                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
-                    },
-                    .dst_temps = .{ .mem, .{ .cc = .nz } },
-                    .clobbers = .{ .eflags = true },
-                    .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
-                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
-                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
-                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
-                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
-                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ },
-                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
-                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
-                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
-                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
-                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
-                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
-                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
-                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
-                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
-                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
-                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
-                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
-                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
-                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
-                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
-                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
-                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
-                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
-                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
-                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
-                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
-                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
-                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
-                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
-                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
-                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
-                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
-                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
-                        .{ ._, ._c, .st, ._, ._, ._, ._ },
-                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
-                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
-                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
-                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
-                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
-                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
-                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
-                    .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .any,
-                    },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
-                    },
-                    .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .reg = .rax } },
-                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
-                    },
-                    .dst_temps = .{ .mem, .{ .cc = .nz } },
-                    .clobbers = .{ .eflags = true },
-                    .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
-                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
-                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
-                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
-                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
-                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ },
-                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
-                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
-                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
-                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
-                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
-                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
-                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
-                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
-                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
-                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
-                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
-                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
-                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
-                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
-                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
-                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
-                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
-                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
-                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
-                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
-                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
-                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
-                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
-                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
-                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
-                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
-                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
-                        .{ ._, ._c, .st, ._, ._, ._, ._ },
-                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
-                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
-                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
-                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
-                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
-                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
-                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
-                        .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .@"64bit", .cmov, null, null },
-                    .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .any,
-                    },
-                    .patterns = &.{
-                        .{ .src = .{ .to_mem, .to_mem, .none } },
-                    },
-                    .extra_temps = .{
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .u64, .kind = .{ .reg = .rax } },
-                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
-                    },
-                    .dst_temps = .{ .mem, .{ .cc = .nz } },
-                    .clobbers = .{ .eflags = true },
-                    .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
-                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
-                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
-                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
-                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
-                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ },
-                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
-                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
-                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
-                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
-                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
-                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
-                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
-                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
-                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
-                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
-                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
-                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
-                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
-                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
-                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
-                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
-                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
-                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
-                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
-                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
-                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
-                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
-                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
-                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
-                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
-                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
-                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
-                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
-                        .{ ._, ._c, .st, ._, ._, ._, ._ },
-                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
-                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
-                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
-                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
-                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
-                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
-                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
-                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
-                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
-                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
-                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
-                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
-                        .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
-                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ },
-                        .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ },
-                    } },
-                }, .{
-                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
-                    .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -46429,6 +51301,345 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
                         .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
                         .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"0f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, .slow_incdec, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .{ .cc = .nz } },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                        .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .cmov, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .{ .cc = .nz } },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                        .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ },
+                        .{ ._, ._e, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ },
+                        .{ ._, ._z, .j, .@"1f", ._, ._, ._ },
+                        .{ ._, ._c, .st, ._, ._, ._, ._ },
+                        .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ },
+                        .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ },
+                        .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp0q, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ },
+                        .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ },
+                        .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ },
+                        .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ },
+                        .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                    .src_constraints = .{
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .any,
+                    },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .to_mem, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u64, .kind = .{ .reg = .rax } },
+                        .{ .type = .u64, .kind = .{ .reg = .rdx } },
+                    },
+                    .dst_temps = .{ .mem, .{ .cc = .nz } },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
+                        .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                        .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
+                        .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
+                        .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ },
+                        .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
+                        .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ },
+                        .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
+                        .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ },
+                        .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ },
+                        .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .mul, .tmp6q, ._, ._, ._ },
+                        .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ },
+                        .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ },
+                        .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ },
+                        .{ ._, ._c, .in, .tmp5p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
+                        .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ },
+                        .{ ._, ._mp, .j, .@"2f", ._, ._, ._ },
+                        .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ },
+                        .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ },
+                        .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ },
+                        .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                        .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ },
+                        .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
                         .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
                         .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
                         .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ },
@@ -46487,8 +51698,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -46515,8 +51726,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
                         .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
                         .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
                         .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
                         .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
                         .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
@@ -46632,8 +51841,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
                         .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
                         .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
                         .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
                         .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
                         .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
@@ -46755,8 +51962,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
                         .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
                         .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
                         .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
                         .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
                         .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
@@ -46878,8 +52083,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
                         .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
                         .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
                         .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
                         .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
                         .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
@@ -47001,8 +52204,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ },
                         .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ },
                         .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
-                        .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ },
-                        .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
                         .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
                         .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
                         .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
@@ -47568,8 +52769,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .bmi2, .adx, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47626,8 +52827,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47685,8 +52886,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .bmi2, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47744,8 +52945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47803,8 +53004,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47862,8 +53063,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .bmi2, .adx, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47921,8 +53122,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -47981,8 +53182,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .bmi2, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -48041,8 +53242,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -48101,8 +53302,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .any,
                     },
                     .patterns = &.{
@@ -49647,7 +54848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -49711,7 +54912,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -49775,7 +54976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -49839,7 +55040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -49903,7 +55104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -49959,7 +55160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -50015,7 +55216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -50071,7 +55272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -50127,7 +55328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -50191,7 +55392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -50255,7 +55456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -50319,7 +55520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -50383,7 +55584,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -50440,7 +55641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .byte },
                         .any,
                     },
@@ -50497,7 +55698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", .slow_incdec, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -50554,7 +55755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{
-                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } },
+                        .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } },
                         .{ .unsigned_int = .word },
                         .any,
                     },
@@ -54031,7 +59232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 32 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .mut_mem, .none, .none } },
                     },
@@ -54060,7 +59261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 32 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -54094,7 +59295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .mut_mem, .none, .none } },
                     },
@@ -54123,7 +59324,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -54153,7 +59354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = .dword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = 32 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .mut_mem, .none, .none } },
                     },
@@ -54181,7 +59382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = .dword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = 32 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -55117,7 +60318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
                         .{ ._, ._, .@"and", .tmp0d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0d, .tmp0d, ._, ._ },
-                        .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
                         .{ ._, ._z, .cmov, .tmp0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55147,7 +60348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .each = .{ .once = &.{
                         .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
                         .{ ._, ._r, .bs, .tmp0d, .tmp0d, ._, ._ },
-                        .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
                         .{ ._, ._z, .cmov, .tmp0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55325,7 +60526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .each = .{ .once = &.{
                         .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
                         .{ ._, ._, .@"and", .dst0d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55353,7 +60554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55383,8 +60584,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .each = .{ .once = &.{
                         .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
-                        .{ ._, ._, .mov, .dst0w, .si(0xff), ._, ._ },
-                        .{ ._, ._z, .cmov, .src0w, .dst0w, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
+                        .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ },
                     } },
@@ -55398,8 +60599,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
-                        .{ ._, ._, .mov, .dst0w, .si(0xff), ._, ._ },
-                        .{ ._, ._z, .cmov, .src0w, .dst0w, ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
+                        .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ },
                     } },
@@ -55483,7 +60684,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0w, .src0w, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55510,7 +60711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0w, .src0w, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55540,7 +60741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .each = .{ .once = &.{
                         .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
-                        .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
                         .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ },
@@ -55555,7 +60756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
-                        .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
                         .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ },
@@ -55640,7 +60841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0d, .src0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55667,7 +60868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0d, .src0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55712,7 +60913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
                         .{ ._, ._, .@"and", .tmp0q, .src0q, ._, ._ },
                         .{ ._, ._r, .bs, .tmp0q, .tmp0q, ._, ._ },
-                        .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
                         .{ ._, ._z, .cmov, .tmp0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55727,7 +60928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
-                        .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
                         .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ },
@@ -55831,7 +61032,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
                         .{ ._, ._, .@"and", .dst0q, .src0q, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0q, .dst0q, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -55859,7 +61060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp0q, .src0q, ._, ._ },
                         .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ },
@@ -56597,7 +61798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ },
@@ -56631,7 +61832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ },
@@ -56735,7 +61936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -56767,7 +61968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -56798,7 +61999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp2d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ },
@@ -56832,7 +62033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp2d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ },
@@ -56936,7 +62137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -56968,7 +62169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -56999,7 +62200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ },
@@ -57033,7 +62234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ },
@@ -57137,7 +62338,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -57169,7 +62370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -57200,7 +62401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp2q, .ua(.src0, .add_umax), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2q, .tmp2q, ._, ._ },
@@ -57234,7 +62435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp2q, .ua(.src0, .add_umax), ._, ._ },
                         .{ ._, ._, .@"and", .tmp2q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2q, .tmp2q, ._, ._ },
@@ -57338,7 +62539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp1q, .ua(.src0, .add_umax), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2q, .tmp1q, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -57371,7 +62572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
                         .{ .@"0:", ._, .mov, .tmp1q, .ua(.src0, .add_umax), ._, ._ },
                         .{ ._, ._, .@"and", .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ },
-                        .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ },
                         .{ ._, ._r, .bs, .tmp2q, .tmp1q, ._, ._ },
                         .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ },
                         .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ },
@@ -59339,7 +64540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .movbe, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -59369,7 +64570,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -59400,7 +64601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .movbe, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -59433,7 +64634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -59467,7 +64668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .movbe, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -59498,7 +64699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62067,7 +67268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .avx2, .gfni, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = .yword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = 256 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62103,7 +67304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .avx, .gfni, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = .yword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = 256 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62139,7 +67340,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .avx, .gfni, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62175,7 +67376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .movbe, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62226,7 +67427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62278,7 +67479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .movbe, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62333,7 +67534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62389,7 +67590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .movbe, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -62441,7 +67642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
-                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                    .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -64694,7 +69895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                     .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
                                     .{ .type = .f64, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -64713,8 +69914,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                     .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ },
                                     switch (cc) {
                                         else => unreachable,
-                                        .l => .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_001), ._, ._ },
-                                        .le => .{ ._, ._r, .sh, .tmp6b, .ui(1), ._, ._ },
+                                        .l => .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_001), ._, ._ },
+                                        .le => .{ ._, ._r, .sh, .tmp6h, .ui(1), ._, ._ },
                                     },
                                     .{ ._, .fromCond(switch (cc) {
                                         else => unreachable,
@@ -64864,7 +70065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                     .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
                                     .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -64883,8 +70084,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                     .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ },
                                     switch (cc) {
                                         else => unreachable,
-                                        .l => .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_001), ._, ._ },
-                                        .le => .{ ._, ._r, .sh, .tmp6b, .ui(1), ._, ._ },
+                                        .l => .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_001), ._, ._ },
+                                        .le => .{ ._, ._r, .sh, .tmp6h, .ui(1), ._, ._ },
                                     },
                                     .{ ._, .fromCond(switch (cc) {
                                         else => unreachable,
@@ -69216,7 +74417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
                                 .{ .type = .f64, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -69233,8 +74434,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ ._, .f_, .ld, .memia(.src0q, .tmp0, .add_size), ._, ._, ._ },
                                 .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                 .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ },
-                                .{ ._, ._, .xor, .tmp6b, .si(0b1_000_000), ._, ._ },
-                                .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_100), ._, ._ },
+                                .{ ._, ._, .xor, .tmp6h, .si(0b1_000_000), ._, ._ },
+                                .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_100), ._, ._ },
                                 .{ ._, .fromCond(cc), .set, .tmp3b, ._, ._, ._ },
                                 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
                                 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
@@ -69393,7 +74594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
                                 .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -69410,8 +74611,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ },
                                 .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                 .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ },
-                                .{ ._, ._, .xor, .tmp6b, .si(0b1_000_000), ._, ._ },
-                                .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_100), ._, ._ },
+                                .{ ._, ._, .xor, .tmp6h, .si(0b1_000_000), ._, ._ },
+                                .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_100), ._, ._ },
                                 .{ ._, .fromCond(cc), .set, .tmp3b, ._, ._, ._ },
                                 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
                                 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
@@ -74953,7 +80154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .extra_temps = .{
                                 .{ .type = .f64, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -74984,7 +80185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .extra_temps = .{
                                 .{ .type = .f64, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -75005,8 +80206,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                 .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
                                 switch (strict) {
-                                    true => .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_001), ._, ._ },
-                                    false => .{ ._, ._r, .sh, .tmp2b, .ui(1), ._, ._ },
+                                    true => .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_001), ._, ._ },
+                                    false => .{ ._, ._r, .sh, .tmp2h, .ui(1), ._, ._ },
                                 },
                             } },
                         }, .{
@@ -75047,7 +80248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .extra_temps = .{
                                 .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -75079,7 +80280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .extra_temps = .{
                                 .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -75109,7 +80310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .extra_temps = .{
                                 .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -75130,8 +80331,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                 .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
                                 switch (strict) {
-                                    true => .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_001), ._, ._ },
-                                    false => .{ ._, ._r, .sh, .tmp2b, .ui(1), ._, ._ },
+                                    true => .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_001), ._, ._ },
+                                    false => .{ ._, ._r, .sh, .tmp2h, .ui(1), ._, ._ },
                                 },
                             } },
                         }, .{
@@ -75144,7 +80345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .extra_temps = .{
                                 .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                 .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                .{ .type = .u16, .kind = .{ .reg = .ax } },
                                 .unused,
                                 .unused,
                                 .unused,
@@ -75164,8 +80365,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .{ ._, .f_p, .ucom, .src1t, ._, ._, ._ },
                                 .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
                                 switch (strict) {
-                                    true => .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_001), ._, ._ },
-                                    false => .{ ._, ._r, .sh, .tmp2b, .ui(1), ._, ._ },
+                                    true => .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_001), ._, ._ },
+                                    false => .{ ._, ._r, .sh, .tmp2h, .ui(1), ._, ._ },
                                 },
                             } },
                         }, .{
@@ -75458,7 +80659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .extra_temps = .{
                                     .{ .type = .f64, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -75489,7 +80690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .extra_temps = .{
                                     .{ .type = .f64, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -75510,15 +80711,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
                                         .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                         .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
-                                        .{ ._, ._, .xor, .tmp2b, .si(0b1_000_000), ._, ._ },
-                                        .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_100), ._, ._ },
+                                        .{ ._, ._, .xor, .tmp2h, .si(0b1_000_000), ._, ._ },
+                                        .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_100), ._, ._ },
                                     },
                                     true => &.{
                                         .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
                                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
                                         .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                         .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
-                                        .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_000), ._, ._ },
+                                        .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_000), ._, ._ },
                                     },
                                 } },
                             }, .{
@@ -75560,7 +80761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .extra_temps = .{
                                     .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -75593,7 +80794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .extra_temps = .{
                                     .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -75623,7 +80824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .extra_temps = .{
                                     .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -75644,15 +80845,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                         .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
                                         .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                         .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
-                                        .{ ._, ._, .xor, .tmp2b, .si(0b1_000_000), ._, ._ },
-                                        .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_100), ._, ._ },
+                                        .{ ._, ._, .xor, .tmp2h, .si(0b1_000_000), ._, ._ },
+                                        .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_100), ._, ._ },
                                     },
                                     true => &.{
                                         .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
                                         .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
                                         .{ ._, .f_pp, .ucom, ._, ._, ._, ._ },
                                         .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
-                                        .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_000), ._, ._ },
+                                        .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_000), ._, ._ },
                                     },
                                 } },
                             }, .{
@@ -75666,7 +80867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .extra_temps = .{
                                     .{ .type = .f80, .kind = .{ .reg = .st6 } },
                                     .{ .type = .f80, .kind = .{ .reg = .st7 } },
-                                    .{ .type = .u8, .kind = .{ .reg = .ah } },
+                                    .{ .type = .u16, .kind = .{ .reg = .ax } },
                                     .unused,
                                     .unused,
                                     .unused,
@@ -75686,14 +80887,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                         .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
                                         .{ ._, .f_p, .ucom, .src1t, ._, ._, ._ },
                                         .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
-                                        .{ ._, ._, .xor, .tmp2b, .si(0b1_000_000), ._, ._ },
-                                        .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_100), ._, ._ },
+                                        .{ ._, ._, .xor, .tmp2h, .si(0b1_000_000), ._, ._ },
+                                        .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_100), ._, ._ },
                                     },
                                     true => &.{
                                         .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
                                         .{ ._, .f_p, .ucom, .src1t, ._, ._, ._ },
                                         .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ },
-                                        .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_000), ._, ._ },
+                                        .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_000), ._, ._ },
                                     },
                                 } },
                             }, .{
@@ -83848,7 +89049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{ .any_int, .any, .any },
-                    .dst_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
+                    .dst_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -83875,7 +89076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{ .any_signed_int, .any, .any },
-                    .dst_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
+                    .dst_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -83973,7 +89174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .@"64bit", null, null, null },
                     .src_constraints = .{ .any_unsigned_int, .any, .any },
-                    .dst_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
+                    .dst_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
@@ -110484,7 +115685,8 @@ fn regClassForType(self: *CodeGen, ty: Type) Register.Class {
 fn regSetForRegClass(rc: Register.Class) RegisterManager.RegisterBitSet {
     return switch (rc) {
         .general_purpose => abi.RegisterClass.gp,
-        .gphi, .segment, .ip, .cr, .dr => unreachable,
+        .gphi => abi.RegisterClass.gphi,
+        .segment, .ip, .cr, .dr => unreachable,
         .x87 => abi.RegisterClass.x87,
         .mmx => @panic("TODO"),
         .sse => abi.RegisterClass.sse,
@@ -122498,10 +127700,7 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void {
                     else
                         return self.fail("invalid modifier: '{s}'", .{modifier}),
                     .register => |reg| if (std.mem.eql(u8, modifier, ""))
-                        .{ .reg = if (mnem_size.use()) |size|
-                            registerAlias(reg, @intCast(@divExact(size.bitSize(self.target), 8)))
-                        else
-                            reg }
+                        .{ .reg = if (mnem_size.use()) |size| reg.toSize(size, self.target) else reg }
                     else
                         return self.fail("invalid modifier: '{s}'", .{modifier}),
                     .memory => |addr| if (std.mem.eql(u8, modifier, "") or std.mem.eql(u8, modifier, "P"))
@@ -122887,11 +128086,7 @@ const MoveStrategy = union(enum) {
             .move_through_gpr => {
                 const tmp_reg = try cg.register_manager.allocReg(null, abi.RegisterClass.gp);
                 try cg.asmRegisterRegister(.{ ._d, .mov }, tmp_reg.to32(), src_reg.to128());
-                try cg.asmMemoryRegister(
-                    .{ ._, .mov },
-                    dst_mem,
-                    registerAlias(tmp_reg, @intCast(@divExact(dst_mem.mod.rm.size.bitSize(cg.target), 8))),
-                );
+                try cg.asmMemoryRegister(.{ ._, .mov }, dst_mem, tmp_reg.toSize(dst_mem.mod.rm.size, cg.target));
             },
             .load_store_through_frame => {
                 const tmp_frame_index = try cg.allocFrameIndex(.init(.{
@@ -129941,7 +135136,7 @@ const Temp = struct {
                 .{ ._, ._, .@"and", .dst0q, .tmp0q, ._, ._ },
             } },
         }, .{
-            .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
+            .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any },
             .patterns = &.{
                 .{ .src = .{ .mut_mem, .none, .none } },
             },
@@ -129949,7 +135144,7 @@ const Temp = struct {
             .each = .{ .once = &.{} },
         }, .{
             .required_features = .{ .@"64bit", null, null, null },
-            .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+            .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any },
             .patterns = &.{
                 .{ .src = .{ .mut_mem, .none, .none } },
             },
@@ -129975,7 +135170,7 @@ const Temp = struct {
             } },
         }, .{
             .required_features = .{ .@"64bit", null, null, null },
-            .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+            .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any },
             .patterns = &.{
                 .{ .src = .{ .mut_mem, .none, .none } },
             },
@@ -132752,7 +137947,7 @@ const Temp = struct {
                         .{ ._, .p_, .xor, .src0x, .src1x, ._, ._ },
                         .{ ._, .p_b, .cmpeq, .tmp1x, .src0x, ._, ._ },
                         .{ ._, .p_b, .movmsk, .tmp0d, .tmp1x, ._, ._ },
-                        .{ ._, ._, .xor, .tmp0d, .si(0xffff), ._, ._ },
+                        .{ ._, ._, .xor, .tmp0d, .si(std.math.maxInt(u16)), ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .avx2, null, null, null },
@@ -133083,7 +138278,7 @@ const Temp = struct {
                         .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
                         .{ ._, .p_b, .cmpeq, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ },
                         .{ ._, .p_b, .movmsk, .tmp2d, .tmp1x, ._, ._ },
-                        .{ ._, ._, .xor, .tmp2d, .ui(0xffff), ._, ._ },
+                        .{ ._, ._, .xor, .tmp2d, .si(std.math.maxInt(u16)), ._, ._ },
                         .{ ._, ._nz, .j, .@"0f", ._, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
                         .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
@@ -134513,9 +139708,9 @@ const Select = struct {
         remainder_int: OfIsSizes,
         remainder_signed_int: OfIsSizes,
         remainder_unsigned_int: OfIsSizes,
-        exact_remainder_int: OfIsSizes,
-        exact_remainder_signed_int: OfIsSizes,
-        exact_remainder_unsigned_int: OfIsSizes,
+        exact_remainder_int: struct { of: Memory.Size, is: u16 },
+        exact_remainder_signed_int: struct { of: Memory.Size, is: u16 },
+        exact_remainder_unsigned_int: struct { of: Memory.Size, is: u16 },
         signed_or_exact_remainder_int: OfIsSizes,
         unsigned_or_exact_remainder_int: OfIsSizes,
         signed_int: Memory.Size,
@@ -134676,13 +139871,13 @@ const Select = struct {
                 .remainder_unsigned_int => |of_is| if (cg.intInfo(ty)) |int_info| int_info.signedness == .unsigned and
                     of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
                 .exact_remainder_int => |of_is| if (cg.intInfo(ty)) |int_info|
-                    of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1
+                    of_is.is == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1
                 else
                     false,
                 .exact_remainder_signed_int => |of_is| if (cg.intInfo(ty)) |int_info| int_info.signedness == .signed and
-                    of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
+                    of_is.is == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
                 .exact_remainder_unsigned_int => |of_is| if (cg.intInfo(ty)) |int_info| int_info.signedness == .unsigned and
-                    of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
+                    of_is.is == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
                 .signed_or_exact_remainder_int => |of_is| if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) {
                     .signed => of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1,
                     .unsigned => of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1,
@@ -135431,11 +140626,12 @@ const Select = struct {
             const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" };
             const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" };
             const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" };
+            const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" };
             const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" };
             const add_smax: Adjust = .{ .sign = .pos, .lhs = .smax, .op = .mul, .rhs = .@"1" };
             const add_umax: Adjust = .{ .sign = .pos, .lhs = .umax, .op = .mul, .rhs = .@"1" };
-            const sub_umax: Adjust = .{ .sign = .neg, .lhs = .umax, .op = .mul, .rhs = .@"1" };
             const add_umax_shr_src1: Adjust = .{ .sign = .pos, .lhs = .umax_shr_src1, .op = .mul, .rhs = .@"1" };
+            const sub_umax: Adjust = .{ .sign = .neg, .lhs = .umax, .op = .mul, .rhs = .@"1" };
             const repeat: Adjust = .{ .sign = .pos, .lhs = .repeat, .op = .mul, .rhs = .@"1" };
         };
         const Ref = enum(u5) {
@@ -135464,6 +140660,8 @@ const Select = struct {
                 const none: Sized = .{ .ref = .none, .size = .none };
 
                 const tmp0: Sized = .{ .ref = .tmp0, .size = .none };
+                const tmp0l: Sized = .{ .ref = .tmp0, .size = .low_byte };
+                const tmp0h: Sized = .{ .ref = .tmp0, .size = .high_byte };
                 const tmp0b: Sized = .{ .ref = .tmp0, .size = .byte };
                 const tmp0w: Sized = .{ .ref = .tmp0, .size = .word };
                 const tmp0d: Sized = .{ .ref = .tmp0, .size = .dword };
@@ -135475,6 +140673,8 @@ const Select = struct {
                 const tmp0y: Sized = .{ .ref = .tmp0, .size = .yword };
 
                 const tmp1: Sized = .{ .ref = .tmp1, .size = .none };
+                const tmp1l: Sized = .{ .ref = .tmp1, .size = .low_byte };
+                const tmp1h: Sized = .{ .ref = .tmp1, .size = .high_byte };
                 const tmp1b: Sized = .{ .ref = .tmp1, .size = .byte };
                 const tmp1w: Sized = .{ .ref = .tmp1, .size = .word };
                 const tmp1d: Sized = .{ .ref = .tmp1, .size = .dword };
@@ -135486,6 +140686,8 @@ const Select = struct {
                 const tmp1y: Sized = .{ .ref = .tmp1, .size = .yword };
 
                 const tmp2: Sized = .{ .ref = .tmp2, .size = .none };
+                const tmp2l: Sized = .{ .ref = .tmp2, .size = .low_byte };
+                const tmp2h: Sized = .{ .ref = .tmp2, .size = .high_byte };
                 const tmp2b: Sized = .{ .ref = .tmp2, .size = .byte };
                 const tmp2w: Sized = .{ .ref = .tmp2, .size = .word };
                 const tmp2d: Sized = .{ .ref = .tmp2, .size = .dword };
@@ -135497,6 +140699,8 @@ const Select = struct {
                 const tmp2y: Sized = .{ .ref = .tmp2, .size = .yword };
 
                 const tmp3: Sized = .{ .ref = .tmp3, .size = .none };
+                const tmp3l: Sized = .{ .ref = .tmp3, .size = .low_byte };
+                const tmp3h: Sized = .{ .ref = .tmp3, .size = .high_byte };
                 const tmp3b: Sized = .{ .ref = .tmp3, .size = .byte };
                 const tmp3w: Sized = .{ .ref = .tmp3, .size = .word };
                 const tmp3d: Sized = .{ .ref = .tmp3, .size = .dword };
@@ -135508,6 +140712,8 @@ const Select = struct {
                 const tmp3y: Sized = .{ .ref = .tmp3, .size = .yword };
 
                 const tmp4: Sized = .{ .ref = .tmp4, .size = .none };
+                const tmp4l: Sized = .{ .ref = .tmp4, .size = .low_byte };
+                const tmp4h: Sized = .{ .ref = .tmp4, .size = .high_byte };
                 const tmp4b: Sized = .{ .ref = .tmp4, .size = .byte };
                 const tmp4w: Sized = .{ .ref = .tmp4, .size = .word };
                 const tmp4d: Sized = .{ .ref = .tmp4, .size = .dword };
@@ -135519,6 +140725,8 @@ const Select = struct {
                 const tmp4y: Sized = .{ .ref = .tmp4, .size = .yword };
 
                 const tmp5: Sized = .{ .ref = .tmp5, .size = .none };
+                const tmp5l: Sized = .{ .ref = .tmp5, .size = .low_byte };
+                const tmp5h: Sized = .{ .ref = .tmp5, .size = .high_byte };
                 const tmp5b: Sized = .{ .ref = .tmp5, .size = .byte };
                 const tmp5w: Sized = .{ .ref = .tmp5, .size = .word };
                 const tmp5d: Sized = .{ .ref = .tmp5, .size = .dword };
@@ -135530,6 +140738,8 @@ const Select = struct {
                 const tmp5y: Sized = .{ .ref = .tmp5, .size = .yword };
 
                 const tmp6: Sized = .{ .ref = .tmp6, .size = .none };
+                const tmp6l: Sized = .{ .ref = .tmp6, .size = .low_byte };
+                const tmp6h: Sized = .{ .ref = .tmp6, .size = .high_byte };
                 const tmp6b: Sized = .{ .ref = .tmp6, .size = .byte };
                 const tmp6w: Sized = .{ .ref = .tmp6, .size = .word };
                 const tmp6d: Sized = .{ .ref = .tmp6, .size = .dword };
@@ -135541,6 +140751,8 @@ const Select = struct {
                 const tmp6y: Sized = .{ .ref = .tmp6, .size = .yword };
 
                 const tmp7: Sized = .{ .ref = .tmp7, .size = .none };
+                const tmp7l: Sized = .{ .ref = .tmp7, .size = .low_byte };
+                const tmp7h: Sized = .{ .ref = .tmp7, .size = .high_byte };
                 const tmp7b: Sized = .{ .ref = .tmp7, .size = .byte };
                 const tmp7w: Sized = .{ .ref = .tmp7, .size = .word };
                 const tmp7d: Sized = .{ .ref = .tmp7, .size = .dword };
@@ -135552,6 +140764,8 @@ const Select = struct {
                 const tmp7y: Sized = .{ .ref = .tmp7, .size = .yword };
 
                 const tmp8: Sized = .{ .ref = .tmp8, .size = .none };
+                const tmp8l: Sized = .{ .ref = .tmp8, .size = .low_byte };
+                const tmp8h: Sized = .{ .ref = .tmp8, .size = .high_byte };
                 const tmp8b: Sized = .{ .ref = .tmp8, .size = .byte };
                 const tmp8w: Sized = .{ .ref = .tmp8, .size = .word };
                 const tmp8d: Sized = .{ .ref = .tmp8, .size = .dword };
@@ -135563,6 +140777,8 @@ const Select = struct {
                 const tmp8y: Sized = .{ .ref = .tmp8, .size = .yword };
 
                 const tmp9: Sized = .{ .ref = .tmp9, .size = .none };
+                const tmp9l: Sized = .{ .ref = .tmp9, .size = .low_byte };
+                const tmp9h: Sized = .{ .ref = .tmp9, .size = .high_byte };
                 const tmp9b: Sized = .{ .ref = .tmp9, .size = .byte };
                 const tmp9w: Sized = .{ .ref = .tmp9, .size = .word };
                 const tmp9d: Sized = .{ .ref = .tmp9, .size = .dword };
@@ -135574,6 +140790,8 @@ const Select = struct {
                 const tmp9y: Sized = .{ .ref = .tmp9, .size = .yword };
 
                 const tmp10: Sized = .{ .ref = .tmp10, .size = .none };
+                const tmp10l: Sized = .{ .ref = .tmp10, .size = .low_byte };
+                const tmp10h: Sized = .{ .ref = .tmp10, .size = .high_byte };
                 const tmp10b: Sized = .{ .ref = .tmp10, .size = .byte };
                 const tmp10w: Sized = .{ .ref = .tmp10, .size = .word };
                 const tmp10d: Sized = .{ .ref = .tmp10, .size = .dword };
@@ -135585,6 +140803,8 @@ const Select = struct {
                 const tmp10y: Sized = .{ .ref = .tmp10, .size = .yword };
 
                 const dst0: Sized = .{ .ref = .dst0, .size = .none };
+                const dst0l: Sized = .{ .ref = .dst0, .size = .low_byte };
+                const dst0h: Sized = .{ .ref = .dst0, .size = .high_byte };
                 const dst0b: Sized = .{ .ref = .dst0, .size = .byte };
                 const dst0w: Sized = .{ .ref = .dst0, .size = .word };
                 const dst0d: Sized = .{ .ref = .dst0, .size = .dword };
@@ -135596,6 +140816,8 @@ const Select = struct {
                 const dst0y: Sized = .{ .ref = .dst0, .size = .yword };
 
                 const dst1: Sized = .{ .ref = .dst1, .size = .none };
+                const dst1l: Sized = .{ .ref = .dst1, .size = .low_byte };
+                const dst1h: Sized = .{ .ref = .dst1, .size = .high_byte };
                 const dst1b: Sized = .{ .ref = .dst1, .size = .byte };
                 const dst1w: Sized = .{ .ref = .dst1, .size = .word };
                 const dst1d: Sized = .{ .ref = .dst1, .size = .dword };
@@ -135607,6 +140829,8 @@ const Select = struct {
                 const dst1y: Sized = .{ .ref = .dst1, .size = .yword };
 
                 const src0: Sized = .{ .ref = .src0, .size = .none };
+                const src0l: Sized = .{ .ref = .src0, .size = .low_byte };
+                const src0h: Sized = .{ .ref = .src0, .size = .high_byte };
                 const src0b: Sized = .{ .ref = .src0, .size = .byte };
                 const src0w: Sized = .{ .ref = .src0, .size = .word };
                 const src0d: Sized = .{ .ref = .src0, .size = .dword };
@@ -135618,6 +140842,8 @@ const Select = struct {
                 const src0y: Sized = .{ .ref = .src0, .size = .yword };
 
                 const src1: Sized = .{ .ref = .src1, .size = .none };
+                const src1l: Sized = .{ .ref = .src1, .size = .low_byte };
+                const src1h: Sized = .{ .ref = .src1, .size = .high_byte };
                 const src1b: Sized = .{ .ref = .src1, .size = .byte };
                 const src1w: Sized = .{ .ref = .src1, .size = .word };
                 const src1d: Sized = .{ .ref = .src1, .size = .dword };
@@ -135629,6 +140855,8 @@ const Select = struct {
                 const src1y: Sized = .{ .ref = .src1, .size = .yword };
 
                 const src2: Sized = .{ .ref = .src2, .size = .none };
+                const src2l: Sized = .{ .ref = .src2, .size = .low_byte };
+                const src2h: Sized = .{ .ref = .src2, .size = .high_byte };
                 const src2b: Sized = .{ .ref = .src2, .size = .byte };
                 const src2w: Sized = .{ .ref = .src2, .size = .word };
                 const src2d: Sized = .{ .ref = .src2, .size = .dword };
@@ -135669,6 +140897,8 @@ const Select = struct {
         const @"4b": Select.Operand = .{ .flags = .{ .tag = .backward_label, .base = .{ .ref = .tmp4, .size = .none } } };
         const @"4f": Select.Operand = .{ .flags = .{ .tag = .forward_label, .base = .{ .ref = .tmp4, .size = .none } } };
 
+        const tmp0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0l } };
+        const tmp0h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0h } };
         const tmp0b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0b } };
         const tmp0w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0w } };
         const tmp0d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0d } };
@@ -135679,6 +140909,8 @@ const Select = struct {
         const tmp0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0x } };
         const tmp0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0y } };
 
+        const tmp1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1l } };
+        const tmp1h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1h } };
         const tmp1b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1b } };
         const tmp1w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1w } };
         const tmp1d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1d } };
@@ -135689,6 +140921,8 @@ const Select = struct {
         const tmp1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1x } };
         const tmp1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1y } };
 
+        const tmp2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2l } };
+        const tmp2h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2h } };
         const tmp2b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2b } };
         const tmp2w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2w } };
         const tmp2d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2d } };
@@ -135699,6 +140933,8 @@ const Select = struct {
         const tmp2x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2x } };
         const tmp2y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2y } };
 
+        const tmp3l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3l } };
+        const tmp3h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3h } };
         const tmp3b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3b } };
         const tmp3w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3w } };
         const tmp3d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3d } };
@@ -135709,6 +140945,8 @@ const Select = struct {
         const tmp3x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3x } };
         const tmp3y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3y } };
 
+        const tmp4l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4l } };
+        const tmp4h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4h } };
         const tmp4b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4b } };
         const tmp4w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4w } };
         const tmp4d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4d } };
@@ -135719,6 +140957,8 @@ const Select = struct {
         const tmp4x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4x } };
         const tmp4y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4y } };
 
+        const tmp5l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5l } };
+        const tmp5h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5h } };
         const tmp5b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5b } };
         const tmp5w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5w } };
         const tmp5d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5d } };
@@ -135729,6 +140969,8 @@ const Select = struct {
         const tmp5x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5x } };
         const tmp5y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5y } };
 
+        const tmp6l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6l } };
+        const tmp6h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6h } };
         const tmp6b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6b } };
         const tmp6w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6w } };
         const tmp6d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6d } };
@@ -135739,6 +140981,8 @@ const Select = struct {
         const tmp6x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6x } };
         const tmp6y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6y } };
 
+        const tmp7l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7l } };
+        const tmp7h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7h } };
         const tmp7b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7b } };
         const tmp7w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7w } };
         const tmp7d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7d } };
@@ -135749,6 +140993,8 @@ const Select = struct {
         const tmp7x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7x } };
         const tmp7y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7y } };
 
+        const tmp8l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8l } };
+        const tmp8h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8h } };
         const tmp8b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8b } };
         const tmp8w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8w } };
         const tmp8d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8d } };
@@ -135759,6 +141005,8 @@ const Select = struct {
         const tmp8x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8x } };
         const tmp8y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8y } };
 
+        const tmp9l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9l } };
+        const tmp9h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9h } };
         const tmp9b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9b } };
         const tmp9w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9w } };
         const tmp9d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9d } };
@@ -135769,6 +141017,8 @@ const Select = struct {
         const tmp9x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9x } };
         const tmp9y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9y } };
 
+        const tmp10l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10l } };
+        const tmp10h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10h } };
         const tmp10b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10b } };
         const tmp10w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10w } };
         const tmp10d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10d } };
@@ -135779,6 +141029,8 @@ const Select = struct {
         const tmp10x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10x } };
         const tmp10y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10y } };
 
+        const dst0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0l } };
+        const dst0h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0h } };
         const dst0b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0b } };
         const dst0w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0w } };
         const dst0d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0d } };
@@ -135789,6 +141041,8 @@ const Select = struct {
         const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0x } };
         const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0y } };
 
+        const dst1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1l } };
+        const dst1h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1h } };
         const dst1b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1b } };
         const dst1w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1w } };
         const dst1d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1d } };
@@ -135799,6 +141053,8 @@ const Select = struct {
         const dst1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1x } };
         const dst1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1y } };
 
+        const src0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0l } };
+        const src0h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0h } };
         const src0b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0b } };
         const src0w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0w } };
         const src0d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0d } };
@@ -135809,6 +141065,8 @@ const Select = struct {
         const src0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0x } };
         const src0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0y } };
 
+        const src1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1l } };
+        const src1h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1h } };
         const src1b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1b } };
         const src1w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1w } };
         const src1d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1d } };
@@ -135819,6 +141077,8 @@ const Select = struct {
         const src1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1x } };
         const src1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1y } };
 
+        const src2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2l } };
+        const src2h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2h } };
         const src2b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2b } };
         const src2w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2w } };
         const src2d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2d } };
@@ -136194,7 +141454,7 @@ const Select = struct {
                         else => unreachable,
                     } },
                     else => |mcv| .{ .mem = try mcv.mem(s.cg, .{ .size = op.flags.base.size }) },
-                    .register => |reg| .{ .reg = s.lowerReg(registerAlias(reg, @intCast(@divExact(op.flags.base.size.bitSize(s.cg.target), 8)))) },
+                    .register => |reg| .{ .reg = s.lowerReg(reg.toSize(op.flags.base.size, s.cg.target)) },
                     .lea_symbol => |sym_off| .{ .imm = .rel(sym_off) },
                 },
                 .simm => .{ .imm = .s(op.adjustedImm(i32, s)) },
@@ -136203,8 +141463,8 @@ const Select = struct {
                     .base = switch (op.flags.base.ref.valueOf(s)) {
                         else => unreachable,
                         .none => .none,
-                        .register => |base_reg| .{ .reg = registerAlias(base_reg, @divExact(s.cg.target.ptrBitWidth(), 8)) },
-                        .register_offset => |base_reg_off| .{ .reg = registerAlias(base_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)) },
+                        .register => |base_reg| .{ .reg = base_reg.toSize(.ptr, s.cg.target) },
+                        .register_offset => |base_reg_off| .{ .reg = base_reg_off.reg.toSize(.ptr, s.cg.target) },
                         .lea_symbol => |base_sym_off| .{ .reloc = base_sym_off.sym_index },
                     },
                     .mod = .{ .rm = .{
@@ -136212,8 +141472,8 @@ const Select = struct {
                         .index = switch (op.flags.index.ref.valueOf(s)) {
                             else => unreachable,
                             .none => .none,
-                            .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)),
-                            .register_offset => |index_reg_off| registerAlias(index_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)),
+                            .register => |index_reg| index_reg.toSize(.ptr, s.cg.target),
+                            .register_offset => |index_reg_off| index_reg_off.reg.toSize(.ptr, s.cg.target),
                         },
                         .scale = op.flags.index.scale,
                         .disp = op.adjustedImm(i32, s) + switch (op.flags.base.ref.valueOf(s)) {
@@ -136234,7 +141494,7 @@ const Select = struct {
                     .index = switch (op.flags.index.ref.valueOf(s)) {
                         else => unreachable,
                         .none => .none,
-                        .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)),
+                        .register => |index_reg| index_reg.toSize(.ptr, s.cg.target),
                     },
                     .scale = op.flags.index.scale,
                     .disp = op.adjustedImm(i32, s),
test/behavior/x86_64/binary.zig
@@ -5134,6 +5134,14 @@ test mulWrap {
     try test_mul_wrap.testIntVectors();
 }
 
+inline fn mulSat(comptime Type: type, lhs: Type, rhs: Type) Type {
+    return lhs *| rhs;
+}
+test mulSat {
+    const test_mul_sat = binary(mulSat, .{});
+    try test_mul_sat.testInts();
+}
+
 inline fn multiply(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs * rhs) {
     return lhs * rhs;
 }
test/behavior/saturating_arithmetic.zig
@@ -259,13 +259,13 @@ test "saturating mul i64, i128, wasm only" {
 
 test "saturating multiplication" {
     if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
-    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
     if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest;
     if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
+    if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;
 
     if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isWasm()) {
         // https://github.com/ziglang/zig/issues/9660