Commit 7bfdb7f26d

Jacob Young <jacobly0@users.noreply.github.com>
2025-05-21 18:27:24
x86_64: implement integer `@reduce(.Mul)`
1 parent 1f6f8b0
Changed files (6)
src/arch/x86_64/CodeGen.zig
@@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
 }
 
 fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
-    @setEvalBranchQuota(22_500);
+    @setEvalBranchQuota(23_100);
     const pt = cg.pt;
     const zcu = pt.zcu;
     const ip = &zcu.intern_pool;
@@ -98880,6 +98880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
                         .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
@@ -99134,6 +99135,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
@@ -99164,6 +99166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
@@ -99291,6 +99294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
@@ -99320,6 +99324,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },
@@ -99545,6 +99550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },
@@ -100555,6 +100561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
                         .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
@@ -100586,6 +100593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
                         .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
@@ -100617,6 +100625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
@@ -100645,6 +100654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
@@ -100849,6 +100859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
@@ -100878,6 +100889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
@@ -100907,6 +100919,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
@@ -100936,6 +100949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
@@ -101051,6 +101065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
@@ -101079,6 +101094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
@@ -101231,6 +101247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
@@ -101259,6 +101276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
@@ -101687,6 +101705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
                         .{ .type = .i16, .kind = .mem },
                         .unused,
                         .unused,
@@ -101696,13 +101715,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                         .unused,
-                        .unused,
                     },
                     .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
                     .each = .{ .once = &.{
                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
-                        .{ ._, ._, .movsx, .dst0d, .tmp1b, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .dst0d, .tmp2b, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
@@ -101713,6 +101737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
                         .{ .type = .i16, .kind = .mem },
                         .unused,
                         .unused,
@@ -101722,13 +101747,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                         .unused,
-                        .unused,
                     },
                     .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
                     .each = .{ .once = &.{
                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
-                        .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp2b, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
@@ -101739,8 +101769,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                        .unused,
-                        .unused,
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
                         .unused,
                         .unused,
                         .unused,
@@ -101753,7 +101783,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .dst_temps = .{ .mem, .unused },
                     .each = .{ .once = &.{
                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ ._, .fi_p, .st, .dst0w, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
@@ -101764,8 +101800,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                        .unused,
-                        .unused,
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
                         .unused,
                         .unused,
                         .unused,
@@ -101778,7 +101814,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .dst_temps = .{ .mem, .unused },
                     .each = .{ .once = &.{
                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ ._, .fi_p, .st, .dst0d, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .avx, null, null },
@@ -101813,8 +101855,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
-                        .unused,
-                        .unused,
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
                         .unused,
                         .unused,
                         .unused,
@@ -101827,7 +101869,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .dst_temps = .{ .mem, .unused },
                     .each = .{ .once = &.{
                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ ._, .fi_p, .st, .dst0q, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .avx, null, null },
@@ -101901,12 +101949,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_mem, .none, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
-                        .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } },
-                        .{ .type = .f64, .kind = .{ .reg = .st6 } },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .f64, .kind = .{ .reg = .st6 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } },
                         .{ .type = .i64, .kind = .mem },
-                        .unused,
+                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
                         .unused,
                         .unused,
                         .unused,
@@ -101917,16 +101965,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
-                        .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
-                        .{ ._, .f_, .ld, .tmp3t, ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp4q, ._, ._, ._ },
-                        .{ ._, ._, .mov, .dst0q, .tmp4q, ._, ._ },
-                        .{ ._, .f_, .sub, .lea(.tmp0d), ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp0q, .dst0q, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp4q, ._, ._, ._ },
+                        .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp2w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2w, .dst0w, ._, ._ },
+                        .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ },
+                        .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ },
                         .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ },
                         .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ },
-                        .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ },
+                        .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .@"64bit", .sse, null, null },
@@ -102248,10 +102302,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .{ .type = .i16, .kind = .mem },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
-                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -102260,14 +102314,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
                         .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp2w, ._, ._, ._ },
-                        .{ ._, ._, .movzx, .tmp3d, .tmp2b, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
@@ -102278,10 +102339,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .{ .type = .i16, .kind = .mem },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
-                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -102290,14 +102351,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
                         .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp2w, ._, ._, ._ },
-                        .{ ._, ._, .movzx, .tmp3d, .tmp2b, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
                         .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
                         .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .avx, .slow_incdec, null, null },
@@ -102723,6 +102791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .unused,
                         .unused,
@@ -102732,15 +102801,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                         .unused,
-                        .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
@@ -102751,10 +102826,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .{ .type = .i32, .kind = .mem },
-                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
-                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -102763,14 +102838,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
                         .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp2d, ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .avx, null, null, null },
@@ -102969,6 +103051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .unused,
                         .unused,
@@ -102978,15 +103061,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                         .unused,
-                        .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
@@ -102997,10 +103086,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .{ .type = .i64, .kind = .mem },
-                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
-                        .unused,
                         .unused,
                         .unused,
                         .unused,
@@ -103009,14 +103098,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
                         .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
                         .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .tmp2q, ._, ._, ._ },
-                        .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ },
-                        .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .avx, null, null, null },
@@ -103273,6 +103369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     },
                     .extra_temps = .{
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
                         .{ .type = .f64, .kind = .{ .reg = .st7 } },
                         .unused,
                         .unused,
@@ -103282,15 +103379,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .unused,
                         .unused,
                         .unused,
-                        .unused,
                     },
                     .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
                     .each = .{ .once = &.{
-                        .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
                         .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
-                        .{ ._, .fi_p, .stt, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
                         .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
                     } },
                 }, .{
                     .required_features = .{ .avx, null, null, null },
@@ -103881,7 +103984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
                     .dst_constraints = .{ .{ .signed_int = .byte }, .any },
                     .patterns = &.{
@@ -103889,7 +103992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .src = .{ .to_x87, .none, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
                         .{ .type = .i16, .kind = .mem },
                         .unused,
                         .unused,
@@ -103910,13 +104013,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .x87, null, null, null },
                     .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
+                    .dst_constraints = .{ .{ .signed_int = .byte }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .none, .none } },
+                        .{ .src = .{ .to_x87, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .i16, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .dst0d, .tmp2b, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
+                    .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
                     .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
                     .patterns = &.{
                         .{ .src = .{ .mem, .none, .none } },
                         .{ .src = .{ .to_x87, .none, .none } },
                     },
                     .extra_temps = .{
-                        .{ .type = .f64, .kind = .{ .reg = .st7 } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
                         .{ .type = .i16, .kind = .mem },
                         .unused,
                         .unused,
@@ -103935,7 +104071,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, .slow_incdec, null, null },
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
+                    .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .none, .none } },
+                        .{ .src = .{ .to_x87, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .i16, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp2b, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, .slow_incdec, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
                     .patterns = &.{
@@ -103946,7 +104115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
                         .{ .type = .i16, .kind = .mem },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
                         .unused,
                         .unused,
                         .unused,
@@ -103968,7 +104137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
                     .patterns = &.{
@@ -103979,7 +104148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
                         .{ .type = .f80, .kind = .{ .reg = .st7 } },
                         .{ .type = .i16, .kind = .mem },
-                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
                         .unused,
                         .unused,
                         .unused,
@@ -104003,6 +104172,84 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .x87, .slow_incdec, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i16, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ },
+                        .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ },
+                        .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i16, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ },
+                        .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ },
+                        .{ ._, ._c, .in, .tmp1p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, .slow_incdec, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
@@ -104034,7 +104281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
                     .patterns = &.{
@@ -104066,8 +104313,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._c, .in, .tmp1p, ._, ._, ._ },
                         .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
                     } },
+                }, .{
+                    .required_features = .{ .x87, .slow_incdec, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i16, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ },
+                        .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ },
+                        .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                    } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i16, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
+                        .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ },
+                        .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ },
+                        .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ },
+                        .{ ._, ._c, .in, .tmp1p, ._, ._, ._ },
+                        .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
                     .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any },
                     .patterns = &.{
@@ -104094,6 +104419,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
+                    .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .none, .none } },
+                        .{ .src = .{ .to_x87, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ ._, .fi_p, .st, .dst0w, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
                     .patterns = &.{
@@ -104124,6 +104481,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .x87, null, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
@@ -104154,6 +104546,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i32, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
                     .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
                     .patterns = &.{
@@ -104180,6 +104609,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
+                    .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .none, .none } },
+                        .{ .src = .{ .to_x87, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ ._, .fi_p, .st, .dst0d, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
                     .patterns = &.{
@@ -104210,6 +104671,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 }, .{
                     .required_features = .{ .x87, null, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
                     .patterns = &.{
                         .{ .src = .{ .to_mem, .none, .none } },
@@ -104240,6 +104736,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     } },
                 }, .{
                     .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .i64, .kind = .mem },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ },
+                        .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
                     .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
                     .patterns = &.{
@@ -104265,7 +104798,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .@"64bit", .x87, null, null },
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
+                    .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .none, .none } },
+                        .{ .src = .{ .to_x87, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ },
+                        .{ ._, .fi_p, .st, .dst0q, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .@"64bit", .sse3, .x87, null },
                     .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
                     .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
                     .patterns = &.{
@@ -104301,7 +104866,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ },
                     } },
                 }, .{
-                    .required_features = .{ .x87, null, null, null },
+                    .required_features = .{ .@"64bit", .x87, null, null },
+                    .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
+                    .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .mem, .none, .none } },
+                        .{ .src = .{ .to_x87, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .{ .type = .f80, .kind = .{ .reg = .st6 } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } },
+                        .{ .type = .i64, .kind = .mem },
+                        .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
+                        .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ },
+                        .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .dst0d, .tmp2w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp2w, .dst0w, ._, ._ },
+                        .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ },
+                        .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ },
+                        .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ },
+                        .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ },
+                        .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ },
+                        .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ },
+                    } },
+                }, .{
+                    .required_features = .{ .sse3, .x87, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
                     .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
                     .patterns = &.{
@@ -104329,6 +104936,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
                         .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
                     } },
+                }, .{
+                    .required_features = .{ .x87, null, null, null },
+                    .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
+                    .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
+                    .patterns = &.{
+                        .{ .src = .{ .to_mem, .none, .none } },
+                    },
+                    .extra_temps = .{
+                        .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                        .{ .type = .u16, .kind = .mem },
+                        .{ .type = .f80, .kind = .{ .reg = .st7 } },
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                        .unused,
+                    },
+                    .dst_temps = .{ .mem, .unused },
+                    .clobbers = .{ .eflags = true },
+                    .each = .{ .once = &.{
+                        .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ },
+                        .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                        .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
+                        .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
+                        .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
+                        .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
+                        .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
+                        .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ },
+                    } },
                 }, .{
                     .required_features = .{ .@"64bit", .avx, null, null },
                     .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
@@ -116834,8 +117476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                 switch (reduce.operation) {
                     .And, .Or, .Xor => {},
                     .Min, .Max => break :fallback try cg.airReduce(inst),
-                    .Add => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst),
-                    .Mul => break :fallback try cg.airReduce(inst),
+                    .Add, .Mul => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst),
                 }
                 var ops = try cg.tempsFromOperands(inst, .{reduce.operand});
                 var res: [1]Temp = undefined;
@@ -118473,12 +119114,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .unused,
                                 .unused,
                             },
-                            .dst_temps = .{ .{ .rc = .sse }, .unused },
+                            .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                             .each = .{ .once = &.{
                                 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
-                                .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
+                                .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
+                                .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
+                                .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
                             } },
                         }, .{
                             .required_features = .{ .sse2, null, null, null },
@@ -119584,12 +120225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .unused,
                                 .unused,
                             },
-                            .dst_temps = .{ .{ .rc = .sse }, .unused },
+                            .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                             .each = .{ .once = &.{
                                 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
-                                .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
+                                .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
+                                .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },
+                                .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
                             } },
                         }, .{
                             .required_features = .{ .sse2, null, null, null },
@@ -120479,19 +121120,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .unused,
                                 .unused,
                             },
-                            .dst_temps = .{ .{ .rc = .sse }, .unused },
+                            .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                             .each = .{ .once = &.{
                                 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
-                                .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
+                                .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
+                                .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
+                                .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
                             } },
                         }, .{
                             .required_features = .{ .sse2, null, null, null },
                             .dst_constraints = .{ .{ .int = .dword }, .any },
                             .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
                             .patterns = &.{
-                                .{ .src = .{ .to_mut_sse, .none, .none } },
+                                .{ .src = .{ .to_sse, .none, .none } },
                             },
                             .extra_temps = .{
                                 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
@@ -120506,7 +121147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .unused,
                                 .unused,
                             },
-                            .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                            .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                             .each = .{ .once = &.{
                                 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
                                 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },
@@ -121203,12 +121844,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .unused,
                                 .unused,
                             },
-                            .dst_temps = .{ .{ .rc = .sse }, .unused },
+                            .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                             .each = .{ .once = &.{
                                 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
-                                .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
-                                .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
+                                .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
+                                .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
+                                .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
                             } },
                         }, .{
                             .required_features = .{ .avx, null, null, null },
@@ -121230,12 +121871,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                                 .unused,
                                 .unused,
                             },
-                            .dst_temps = .{ .{ .rc = .sse }, .unused },
+                            .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                             .each = .{ .once = &.{
                                 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
-                                .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
-                                .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
-                                .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
+                                .{ ._, .v_ps, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
+                                .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ },
+                                .{ ._, .v_ps, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
                             } },
                         }, .{
                             .required_features = .{ .avx512f, null, null, null },
@@ -122425,12 +123066,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .unused,
                             .unused,
                         },
-                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                         .each = .{ .once = &.{
                             .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
-                            .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
-                            .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
-                            .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_b, .add, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_b, .add, .dst0x, .tmp0x, .dst0x, ._ },
                         } },
                     }, .{
                         .required_features = .{ .sse2, null, null, null },
@@ -123125,7 +123766,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     }, .{
                         .required_features = .{ .avx, null, null, null },
                         .dst_constraints = .{ .{ .int = .byte }, .any },
-                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
                         .patterns = &.{
                             .{ .src = .{ .to_mem, .none, .none } },
                         },
@@ -123171,7 +123812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                         },
                         .extra_temps = .{
                             .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
-                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
                             .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
                             .unused,
                             .unused,
@@ -123405,12 +124046,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .unused,
                             .unused,
                         },
-                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                         .each = .{ .once = &.{
                             .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
-                            .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
-                            .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
-                            .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_w, .add, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },
                         } },
                     }, .{
                         .required_features = .{ .sse2, null, null, null },
@@ -123947,7 +124588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     }, .{
                         .required_features = .{ .avx, null, null, null },
                         .dst_constraints = .{ .{ .int = .word }, .any },
-                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
                         .patterns = &.{
                             .{ .src = .{ .to_mem, .none, .none } },
                         },
@@ -124191,19 +124832,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .unused,
                             .unused,
                         },
-                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                         .each = .{ .once = &.{
                             .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
-                            .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },
-                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
-                            .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .add, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },
                         } },
                     }, .{
                         .required_features = .{ .sse2, null, null, null },
                         .dst_constraints = .{ .{ .int = .dword }, .any },
                         .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
                         .patterns = &.{
-                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
                         },
                         .extra_temps = .{
                             .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
@@ -124218,7 +124859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .unused,
                             .unused,
                         },
-                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                         .each = .{ .once = &.{
                             .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
                             .{ ._, .p_d, .add, .tmp0x, .src0x, ._, ._ },
@@ -124588,7 +125229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     }, .{
                         .required_features = .{ .avx, null, null, null },
                         .dst_constraints = .{ .{ .int = .dword }, .any },
-                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
                         .patterns = &.{
                             .{ .src = .{ .to_mem, .none, .none } },
                         },
@@ -124828,12 +125469,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .unused,
                             .unused,
                         },
-                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                         .each = .{ .once = &.{
                             .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
-                            .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },
-                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
-                            .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },
                         } },
                     }, .{
                         .required_features = .{ .avx, null, null, null },
@@ -124855,12 +125496,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .unused,
                             .unused,
                         },
-                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
                         .each = .{ .once = &.{
                             .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
-                            .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },
-                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
-                            .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },
                         } },
                     }, .{
                         .required_features = .{ .avx512f, null, null, null },
@@ -125091,7 +125732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                     }, .{
                         .required_features = .{ .avx, null, null, null },
                         .dst_constraints = .{ .{ .int = .qword }, .any },
-                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any },
                         .patterns = &.{
                             .{ .src = .{ .to_mem, .none, .none } },
                         },
@@ -125268,7 +125909,3013 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
                             .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
                         } },
                     } },
-                    .Mul => unreachable,
+                    .Mul => comptime &.{ .{
+                        .required_features = .{ .sse, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .mut_gpr, .none, .none } },
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .to_mut_gpr, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_8_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_q, .mov, .tmp2x, .lea(.tmp0q), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ },
+                            .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_8_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._q, .mov, .tmp2x, .lea(.tmp0q), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ },
+                            .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ },
+                            .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ },
+                            .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_w, .srl, .tmp0y, .src0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .src0y, .tmp0y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .srl, .tmp1x, .src0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp1x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp1x, .tmp0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .tmp0x, .tmp0x, .tmp1x, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ },
+                            .{ ._, .vp_b, .sub, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp2y, .dst0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ },
+                            .{ ._, .vp_b, .sub, .dst0x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ },
+                            .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
+                            .{ ._, .vp_b, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp3x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ },
+                            .{ ._, .vp_w, .srl, .tmp1y, .dst0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp1y, .tmp0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .tmp0y, .tmp0y, .tmp1y, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp0y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ },
+                            .{ ._, .vp_b, .sub, .tmp2y, .tmp3y, .tmp2y, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ },
+                            .{ ._, .vp_b, .sub, .dst0y, .tmp3y, .dst0y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3y, .tmp2y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3y, .dst0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
+                            .{ ._, .vp_w, .srl, .tmp1y, .dst0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ },
+                            .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse4_1, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ .@"0:", .p_w, .movzxb, .tmp1x, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ .@"0:", ._q, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, .p_, .unpcklbw, .tmp1x, .tmp1x, ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_b, .sub, .tmp2y, .tmp3y, .tmp2y, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
+                            .{ ._, .vp_b, .sub, .dst0y, .tmp3y, .dst0y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3y, .tmp2y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3y, .dst0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ },
+                            .{ .@"0:", .vp_w, .movzxb, .tmp3y, .memid(.src0x, .tmp0, 16), ._, ._ },
+                            .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ },
+                            .{ ._, .vp_w, .movzxb, .tmp3y, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_b, .sub, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .vp_w, .srl, .tmp2y, .dst0y, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ .@"0:", .vp_w, .movzxb, .tmp2y, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-40, .src0, .add_size), ._, ._ },
+                            .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_b, .sub, .dst0x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ },
+                            .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
+                            .{ ._, .vp_b, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp3x, ._ },
+                            .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ },
+                            .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ .@"0:", .vp_w, .movzxb, .tmp2x, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse4_1, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
+                            .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ .@"0:", .p_w, .movzxb, .tmp2x, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
+                            .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ .@"0:", ._q, .mov, .tmp2x, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, .p_, .unpcklbw, .tmp2x, .tmp2x, ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .slow_incdec, null, null, null },
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .reg = .al }, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
+                            .{ .@"0:", ._, .mul, .memi(.src0b, .tmp0), ._, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .byte }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .reg = .al }, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
+                            .{ .@"0:", ._, .mul, .memi(.src0b, .tmp0), ._, ._, ._ },
+                            .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
+                            .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .mut_gpr, .none, .none } },
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .to_mut_gpr, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ },
+                            .{ ._, .vp_w, .sub, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ },
+                            .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ },
+                            .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ },
+                            .{ ._, .vp_w, .sub, .dst0x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ },
+                            .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
+                            .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
+                            .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ },
+                            .{ ._, .vp_w, .sub, .tmp2y, .tmp3y, .tmp2y, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ },
+                            .{ ._, .vp_w, .sub, .dst0y, .tmp3y, .dst0y, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
+                            .{ .@"0:", .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_w, .sub, .tmp2y, .tmp3y, .tmp2y, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
+                            .{ ._, .vp_w, .sub, .dst0y, .tmp3y, .dst0y, ._ },
+                            .{ .@"0:", .vp_w, .mull, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ .@"0:", .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
+                            .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_w, .sub, .dst0x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ },
+                            .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
+                            .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
+                            .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
+                            .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
+                            .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
+                            .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .word }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ },
+                            .{ .@"0:", .i_, .mul, .dst0w, .memi(.src0w, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .mut_gpr, .none, .none } },
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .to_mut_gpr, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .tmp0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .tmp0x, .dst0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_udq, .mul, .tmp0x, .src0x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ },
+                            .{ ._, .vp_d, .sub, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mem, .none, .none } },
+                            .{ .src = .{ .to_sse, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ },
+                            .{ ._, .vp_d, .sub, .dst0x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ },
+                            .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
+                            .{ ._, .vp_d, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
+                            .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
+                            .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ },
+                            .{ ._, .vp_d, .sub, .tmp2y, .tmp3y, .tmp2y, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ },
+                            .{ ._, .vp_d, .sub, .dst0y, .tmp3y, .dst0y, ._ },
+                            .{ ._, .vp_d, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
+                            .{ .@"0:", .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ .@"0:", .vp_d, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse4_1, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ .@"0:", .p_d, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
+                            .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .tmp1x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx512f, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_d, .sub, .tmp2y, .tmp3y, .tmp2y, ._ },
+                            .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
+                            .{ ._, .vp_d, .sub, .dst0y, .tmp3y, .dst0y, ._ },
+                            .{ .@"0:", .vp_d, .mull, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ },
+                            .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .mull, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
+                            .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_d, .sub, .dst0y, .dst0y, .tmp2y, ._ },
+                            .{ .@"0:", .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
+                            .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
+                            .{ ._, .vp_d, .sub, .dst0x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ },
+                            .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
+                            .{ ._, .vp_d, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ .@"0:", .vp_d, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                            .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse4_1, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
+                            .{ ._, .p_d, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ .@"0:", .p_d, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse2, null, null, null },
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
+                            .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .sse }, .unused },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
+                            .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
+                            .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
+                            .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
+                            .{ ._, .p_d, .sub, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
+                            .{ .@"0:", ._dqa, .mov, .tmp2x, .memi(.src0x, .tmp0), ._, ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .tmp2x, .ui(0b11_11_01_01), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                            .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
+                            .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
+                        } },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .dword }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ },
+                            .{ .@"0:", .i_, .mul, .dst0d, .memi(.src0d, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse, null, null, null },
+                        .dst_constraints = .{ .{ .int = .qword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .mut_gpr, .none, .none } },
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .@"64bit", null, null, null },
+                        .dst_constraints = .{ .{ .int = .qword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .to_mut_gpr, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .@"64bit", null, null, null },
+                        .dst_constraints = .{ .{ .int = .qword }, .any },
+                        .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                            .unused,
+                        },
+                        .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ },
+                            .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ },
+                            .{ .@"0:", .i_, .mul, .dst0q, .memi(.src0q, .tmp0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .sse, null, null, null },
+                        .dst_constraints = .{ .{ .int = .xword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .mut_gpr, .none, .none } },
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .xword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_mem, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .avx, null, null, null },
+                        .dst_constraints = .{ .{ .int = .yword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .mut_mem, .none, .none } },
+                            .{ .src = .{ .mut_gpr, .none, .none } },
+                            .{ .src = .{ .to_mut_sse, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .dst_constraints = .{ .{ .int = .yword }, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_mem, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .dst_constraints = .{ .any_int, .any },
+                        .src_constraints = .{ .{ .vec_len = 1 }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mut_mem, .none, .none } },
+                        },
+                        .dst_temps = .{ .{ .ref = .src0 }, .unused },
+                        .each = .{ .once = &.{} },
+                    }, .{
+                        .required_features = .{ .@"64bit", .bmi2, .adx, null },
+                        .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
+                        .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .isize, .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, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
+                            .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp3d, .sia(-8, .dst0, .add_size), ._, ._ },
+                            .{ .@"1:", ._, .xor, .tmp4d, .tmp4d, ._, ._ },
+                            .{ ._, ._, .@"or", .tmp4q, .leai(.tmp1q, .tmp3), ._, ._ },
+                            .{ ._, ._z, .j, .@"3f", ._, ._, ._ },
+                            .{ ._, ._, .lea, .tmp5p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ },
+                            .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                            .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp2q, .tmp5), ._ },
+                            .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ },
+                            .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_elem_size, -8), .tmp7q, ._, ._ },
+                            .{ ._, ._rcxz, .j, .@"2f", ._, ._, ._ },
+                            .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_elem_size), ._, ._ },
+                            .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ },
+                            .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ },
+                            .{ ._, ._mp, .j, .@"2b", ._, ._, ._ },
+                            .{ .@"3:", ._, .mov, .memi(.dst0q, .tmp3), .tmp4q, ._, ._ },
+                            .{ .@"2:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                            .{ ._, ._, .sub, .tmp3d, .si(8), ._, ._ },
+                            .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
+                        .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
+                        .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .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,
+                        },
+                        .dst_temps = .{ .mem, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
+                            .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                            .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ },
+                            .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                            .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                            .{ ._, ._nz, .j, .@"3f", ._, ._, ._ },
+                            .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ },
+                            .{ ._, ._mp, .j, .@"4f", ._, ._, ._ },
+                            .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ },
+                            .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ },
+                            .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ },
+                            .{ .@"3:", ._x, .mul, .tmp9q, .tmp8q, .leasi(.tmp2q, .@"8", .tmp4), ._ },
+                            .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ },
+                            .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ },
+                            .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
+                            .{ ._, ._nz, .j, .@"2b", ._, ._, ._ },
+                            .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                            .{ ._, ._, .sub, .tmp3d, .si(1), ._, ._ },
+                            .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .@"64bit", .bmi2, null, null },
+                        .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
+                        .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .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,
+                        },
+                        .dst_temps = .{ .mem, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
+                            .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                            .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ },
+                            .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                            .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                            .{ ._, ._nz, .j, .@"3f", ._, ._, ._ },
+                            .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ },
+                            .{ ._, ._mp, .j, .@"4f", ._, ._, ._ },
+                            .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ },
+                            .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ },
+                            .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ },
+                            .{ .@"3:", ._x, .mul, .tmp9q, .tmp8q, .leasi(.tmp2q, .@"8", .tmp4), ._ },
+                            .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ },
+                            .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ },
+                            .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
+                            .{ ._, ._nz, .j, .@"2b", ._, ._, ._ },
+                            .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                            .{ ._, ._c, .de, .tmp3d, ._, ._, ._ },
+                            .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .@"64bit", .slow_incdec, null, null },
+                        .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
+                        .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .isize, .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,
+                        },
+                        .dst_temps = .{ .mem, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
+                            .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                            .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ },
+                            .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                            .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                            .{ ._, ._nz, .j, .@"3f", ._, ._, ._ },
+                            .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ },
+                            .{ ._, ._mp, .j, .@"4f", ._, ._, ._ },
+                            .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ },
+                            .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ },
+                            .{ .@"3:", ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                            .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp4), ._, ._, ._ },
+                            .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ },
+                            .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ },
+                            .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ },
+                            .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
+                            .{ ._, ._nz, .j, .@"2b", ._, ._, ._ },
+                            .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                            .{ ._, ._, .sub, .tmp3d, .si(1), ._, ._ },
+                            .{ ._, ._ae, .j, .@"1b", ._, ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    }, .{
+                        .required_features = .{ .@"64bit", null, null, null },
+                        .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
+                        .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
+                        .patterns = &.{
+                            .{ .src = .{ .to_mem, .none, .none } },
+                        },
+                        .extra_temps = .{
+                            .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
+                            .{ .type = .isize, .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,
+                        },
+                        .dst_temps = .{ .mem, .unused },
+                        .clobbers = .{ .eflags = true },
+                        .each = .{ .once = &.{
+                            .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
+                            .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
+                            .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ },
+                            .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ },
+                            .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ },
+                            .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ },
+                            .{ ._, ._nz, .j, .@"3f", ._, ._, ._ },
+                            .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ },
+                            .{ ._, ._mp, .j, .@"4f", ._, ._, ._ },
+                            .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ },
+                            .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ },
+                            .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ },
+                            .{ .@"3:", ._, .mov, .tmp8q, .tmp5q, ._, ._ },
+                            .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp4), ._, ._, ._ },
+                            .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ },
+                            .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ },
+                            .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ },
+                            .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
+                            .{ ._, ._nz, .j, .@"2b", ._, ._, ._ },
+                            .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ },
+                            .{ ._, ._c, .de, .tmp3d, ._, ._, ._ },
+                            .{ ._, ._ns, .j, .@"1b", ._, ._, ._ },
+                            .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
+                            .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
+                            .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
+                        } },
+                    } },
                 }) catch |err| switch (err) {
                     error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
                         @tagName(air_tag),
@@ -141408,14 +145055,14 @@ fn airRepeat(self: *CodeGen, inst: Air.Inst.Index) !void {
 }
 
 fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void {
+    @setEvalBranchQuota(1_100);
     const pt = self.pt;
     const zcu = pt.zcu;
     const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
     const extra = self.air.extraData(Air.Asm, ty_pl.payload);
     const clobbers_len: u31 = @truncate(extra.data.flags);
     var extra_i: usize = extra.end;
-    const outputs: []const Air.Inst.Ref =
-        @ptrCast(self.air.extra[extra_i..][0..extra.data.outputs_len]);
+    const outputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.outputs_len]);
     extra_i += outputs.len;
     const inputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.inputs_len]);
     extra_i += inputs.len;
src/arch/x86_64/Encoding.zig
@@ -336,7 +336,7 @@ pub const Mnemonic = enum {
     fcom, fcomi, fcomip, fcomp, fcompp, fcos,
     fdecstp, fdiv, fdivp, fdivr, fdivrp, ffree,
     fiadd, ficom, ficomp, fidiv, fidivr, fild, fimul, fincstp, finit,
-    fist, fistp, fisttp, fisub, fisubr,
+    fist, fistp, fisub, fisubr,
     fld, fld1, fldcw, fldenv, fldl2e, fldl2t, fldlg2, fldln2, fldpi, fldz,
     fmul, fmulp,
     fnclex, fninit, fnop, fnsave, fnstcw, fnstenv, fnstsw,
@@ -349,19 +349,18 @@ pub const Mnemonic = enum {
     // MMX
     emms, movd, movq,
     packssdw, packsswb, packuswb,
-    paddb, paddd, paddq, paddsb, paddsw, paddusb, paddusw, paddw,
+    paddb, paddd, paddsb, paddsw, paddusb, paddusw, paddw,
     pand, pandn, por, pxor,
     pcmpeqb, pcmpeqd, pcmpeqw,
     pcmpgtb, pcmpgtd, pcmpgtw,
-    pmulhw, pmullw,
+    pmaddwd, pmulhw, pmullw,
     pslld, psllq, psllw,
     psrad, psraw,
     psrld, psrlq, psrlw,
-    psubb, psubd, psubq, psubsb, psubsw, psubusb, psubusw, psubw,
+    psubb, psubd, psubsb, psubsw, psubusb, psubusw, psubw,
     // SSE
     addps, addss,
-    andps,
-    andnps,
+    andnps, andps,
     cmpps, cmpss, comiss,
     cvtpi2ps, cvtps2pi, cvtsi2ss, cvtss2si, cvttps2pi, cvttss2si,
     divps, divss,
@@ -374,9 +373,11 @@ pub const Mnemonic = enum {
     movss, movups,
     mulps, mulss,
     orps,
+    pavgb, pavgw,
     pextrw, pinsrw,
-    pmaxsw, pmaxub, pminsw, pminub, pmovmskb,
+    pmaxsw, pmaxub, pminsw, pminub, pmovmskb, pmulhuw,
     prefetchit0, prefetchit1, prefetchnta, prefetcht0, prefetcht1, prefetcht2, prefetchw, prefetchwt1,
+    psadbw, pshufw,
     shufps,
     sqrtps, sqrtss,
     stmxcsr,
@@ -397,15 +398,16 @@ pub const Mnemonic = enum {
     maxpd, maxsd,
     minpd, minsd,
     movapd,
-    movdqa, movdqu,
+    movdq2q, movdqa, movdqu,
     movhpd, movlpd,
-    movmskpd,
+    movmskpd, movq2dq,
     //movsd,
     movupd,
     mulpd, mulsd,
     orpd,
+    paddq, pmuludq,
     pshufd, pshufhw, pshuflw,
-    pslldq, psrldq,
+    pslldq, psrldq, psubq,
     punpckhbw, punpckhdq, punpckhqdq, punpckhwd,
     punpcklbw, punpckldq, punpcklqdq, punpcklwd,
     shufpd,
@@ -414,9 +416,17 @@ pub const Mnemonic = enum {
     ucomisd, unpckhpd, unpcklpd,
     xorpd,
     // SSE3
-    addsubpd, addsubps, haddpd, haddps, lddqu, movddup, movshdup, movsldup,
+    addsubpd, addsubps,
+    fisttp,
+    haddpd, haddps,
+    hsubpd, hsubps,
+    lddqu,
+    movddup, movshdup, movsldup,
     // SSSE3
-    pabsb, pabsd, pabsw, palignr, pshufb,
+    pabsb, pabsd, pabsw, palignr,
+    phaddw, phaddsw, phaddd, phsubw, phsubsw, phsubd,
+    pmaddubsw, pmulhrsw, pshufb,
+    psignb, psignd, psignw,
     // SSE4.1
     blendpd, blendps, blendvpd, blendvps,
     dppd, dpps,
@@ -430,7 +440,7 @@ pub const Mnemonic = enum {
     pmaxsb, pmaxsd, pmaxud, pmaxuw, pminsb, pminsd, pminud, pminuw,
     pmovsxbd, pmovsxbq, pmovsxbw, pmovsxdq, pmovsxwd, pmovsxwq,
     pmovzxbd, pmovzxbq, pmovzxbw, pmovzxdq, pmovzxwd, pmovzxwq,
-    pmulld,
+    pmuldq, pmulld,
     ptest,
     roundpd, roundps, roundsd, roundss,
     // SSE4.2
@@ -458,7 +468,7 @@ pub const Mnemonic = enum {
     vdppd, vdpps,
     vextractf128, vextractps,
     vgf2p8affineinvqb, vgf2p8affineqb, vgf2p8mulb,
-    vhaddpd, vhaddps,
+    vhaddpd, vhaddps, vhsubpd, vhsubps,
     vinsertf128, vinsertps,
     vlddqu, vldmxcsr,
     vmaskmovpd, vmaskmovps,
@@ -480,21 +490,24 @@ pub const Mnemonic = enum {
     vpabsb, vpabsd, vpabsw,
     vpackssdw, vpacksswb, vpackusdw, vpackuswb,
     vpaddb, vpaddd, vpaddq, vpaddsb, vpaddsw, vpaddusb, vpaddusw, vpaddw,
-    vpalignr, vpand, vpandn,
+    vpalignr, vpand, vpandn, vpavgb, vpavgw,
     vpblendvb, vpblendw, vpclmulqdq,
     vpcmpeqb, vpcmpeqd, vpcmpeqq, vpcmpeqw,
     vpcmpgtb, vpcmpgtd, vpcmpgtq, vpcmpgtw,
+    vphaddw, vphaddsw, vphaddd, vphsubw, vphsubsw, vphsubd,
     vperm2f128, vpermilpd, vpermilps,
     vpextrb, vpextrd, vpextrq, vpextrw,
     vpinsrb, vpinsrd, vpinsrq, vpinsrw,
     vpmaxsb, vpmaxsd, vpmaxsw, vpmaxub, vpmaxud, vpmaxuw,
     vpminsb, vpminsd, vpminsw, vpminub, vpminud, vpminuw,
+    vpmaddubsw,
     vpmovmskb,
     vpmovsxbd, vpmovsxbq, vpmovsxbw, vpmovsxdq, vpmovsxwd, vpmovsxwq,
     vpmovzxbd, vpmovzxbq, vpmovzxbw, vpmovzxdq, vpmovzxwd, vpmovzxwq,
-    vpmulhw, vpmulld, vpmullw,
+    vpmuldq, vpmulhrsw, vpmulhw, vpmulld, vpmullw, vpmuludq,
     vpor,
     vpshufb, vpshufd, vpshufhw, vpshuflw,
+    vpsignb, vpsignd, vpsignw,
     vpslld, vpslldq, vpsllq, vpsllw,
     vpsrad, vpsraq, vpsraw,
     vpsrld, vpsrldq, vpsrlq, vpsrlw,
@@ -779,7 +792,7 @@ pub const Op = enum {
     pub fn isImmediate(op: Op) bool {
         // zig fmt: off
         return switch (op) {
-            .imm8, .imm16, .imm32, .imm64, 
+            .imm8, .imm16, .imm32, .imm64,
             .imm8s, .imm16s, .imm32s,
             .rel8, .rel16, .rel32,
             .unity,
@@ -986,6 +999,7 @@ pub const Feature = enum {
     sse,
     sse2,
     sse3,
+    @"sse3 x87",
     sse4_1,
     sse4_2,
     ssse3,
src/arch/x86_64/encodings.zon
@@ -1160,10 +1160,6 @@
     .{ .fistp, .m, .{ .m32 }, .{ 0xdb }, 3, .none, .x87 },
     .{ .fistp, .m, .{ .m64 }, .{ 0xdf }, 7, .none, .x87 },
 
-    .{ .fisttp, .m, .{ .m16 }, .{ 0xdf }, 1, .none, .x87 },
-    .{ .fisttp, .m, .{ .m32 }, .{ 0xdb }, 1, .none, .x87 },
-    .{ .fisttp, .m, .{ .m64 }, .{ 0xdd }, 1, .none, .x87 },
-
     .{ .fld, .m, .{ .m32 }, .{ 0xd9       }, 0, .none, .x87 },
     .{ .fld, .m, .{ .m64 }, .{ 0xdd       }, 0, .none, .x87 },
     .{ .fld, .m, .{ .m80 }, .{ 0xdb       }, 5, .none, .x87 },
@@ -1540,6 +1536,8 @@
 
     .{ .pmullw, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xd5 }, 0, .none, .sse2 },
 
+    .{ .pmuludq, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xf4 }, 0, .none, .sse2 },
+
     .{ .por, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xeb }, 0, .none, .sse2 },
 
     .{ .pshufd, .rmi, .{ .xmm, .xmm_m128, .imm8 }, .{ 0x66, 0x0f, 0x70 }, 0, .none, .sse2 },
@@ -1618,6 +1616,10 @@
 
     .{ .addsubps, .rm, .{ .xmm, .xmm_m128 }, .{ 0xf2, 0x0f, 0xd0 }, 0, .none, .sse3 },
 
+    .{ .fisttp, .m, .{ .m16 }, .{ 0xdf }, 1, .none, .@"sse3 x87" },
+    .{ .fisttp, .m, .{ .m32 }, .{ 0xdb }, 1, .none, .@"sse3 x87" },
+    .{ .fisttp, .m, .{ .m64 }, .{ 0xdd }, 1, .none, .@"sse3 x87" },
+
     .{ .haddpd, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x7c }, 0, .none, .sse3 },
 
     .{ .haddps, .rm, .{ .xmm, .xmm_m128 }, .{ 0xf2, 0x0f, 0x7c }, 0, .none, .sse3 },
@@ -1708,6 +1710,8 @@
     .{ .pmovzxwq, .rm, .{ .xmm, .xmm_m32 }, .{ 0x66, 0x0f, 0x38, 0x34 }, 0, .none, .sse4_1 },
     .{ .pmovzxdq, .rm, .{ .xmm, .xmm_m64 }, .{ 0x66, 0x0f, 0x38, 0x35 }, 0, .none, .sse4_1 },
 
+    .{ .pmuldq, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x28 }, 0, .none, .sse4_1 },
+
     .{ .pmulld, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x40 }, 0, .none, .sse4_1 },
 
     .{ .ptest, .rm, .{ .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x17 }, 0, .none, .sse4_1 },
@@ -2166,12 +2170,16 @@
     .{ .vpmovzxwq, .rm, .{ .xmm, .xmm_m32 }, .{ 0x66, 0x0f, 0x38, 0x34 }, 0, .vex_128_wig, .avx },
     .{ .vpmovzxdq, .rm, .{ .xmm, .xmm_m64 }, .{ 0x66, 0x0f, 0x38, 0x35 }, 0, .vex_128_wig, .avx },
 
+    .{ .vpmuldq, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x28 }, 0, .vex_128_wig, .avx },
+
     .{ .vpmulhw, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xe5 }, 0, .vex_128_wig, .avx },
 
     .{ .vpmulld, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x40 }, 0, .vex_128_wig, .avx },
 
     .{ .vpmullw, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xd5 }, 0, .vex_128_wig, .avx },
 
+    .{ .vpmuludq, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xf4 }, 0, .vex_128_wig, .avx },
+
     .{ .vpor, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0xeb }, 0, .vex_128_wig, .avx },
 
     .{ .vpshufb, .rvm, .{ .xmm, .xmm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x00 }, 0, .vex_128_wig, .avx },
@@ -2493,12 +2501,16 @@
     .{ .vpmovzxwq, .rm, .{ .ymm, .xmm_m64  }, .{ 0x66, 0x0f, 0x38, 0x34 }, 0, .vex_256_wig, .avx2 },
     .{ .vpmovzxdq, .rm, .{ .ymm, .xmm_m128 }, .{ 0x66, 0x0f, 0x38, 0x35 }, 0, .vex_256_wig, .avx2 },
 
+    .{ .vpmuldq, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0x38, 0x28 }, 0, .vex_256_wig, .avx2 },
+
     .{ .vpmulhw, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0xe5 }, 0, .vex_256_wig, .avx2 },
 
     .{ .vpmulld, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0x38, 0x40 }, 0, .vex_256_wig, .avx2 },
 
     .{ .vpmullw, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0xd5 }, 0, .vex_256_wig, .avx2 },
 
+    .{ .vpmuludq, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0xf4 }, 0, .vex_256_wig, .avx2 },
+
     .{ .vpor, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0xeb }, 0, .vex_256_wig, .avx2 },
 
     .{ .vpshufb, .rvm, .{ .ymm, .ymm, .ymm_m256 }, .{ 0x66, 0x0f, 0x38, 0x00 }, 0, .vex_256_wig, .avx2 },
src/arch/x86_64/Lower.zig
@@ -567,7 +567,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
 }
 
 fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
-    @setEvalBranchQuota(2_500);
+    @setEvalBranchQuota(2_600);
     const fixes = switch (inst.ops) {
         .none => inst.data.none.fixes,
         .inst => inst.data.inst.fixes,
src/arch/x86_64/Mir.zig
@@ -386,7 +386,10 @@ pub const Inst = struct {
         /// Packed ___ Quadword
         p_q,
         /// Packed ___ Double Quadword
+        /// Packed ___ Doubleword to Quadword
         p_dq,
+        /// Packed ___ Unsigned Doubleword to Quadword
+        p_udq,
         /// ___ Aligned Packed Integer Values
         _dqa,
         /// ___ Unaligned Packed Integer Values
@@ -446,7 +449,10 @@ pub const Inst = struct {
         /// VEX-Encoded Packed ___ Quadword
         vp_q,
         /// VEX-Encoded Packed ___ Double Quadword
+        /// VEX-Encoded Packed ___ Doubleword to Quadword
         vp_dq,
+        /// VEX-Encoded Packed ___ Unsigned Doubleword to Quadword
+        vp_udq,
         /// VEX-Encoded ___ Scalar Single-Precision Values
         v_ss,
         /// VEX-Encoded ___ Packed Single-Precision Values
@@ -663,6 +669,8 @@ pub const Inst = struct {
         /// Multiply scalar single-precision floating-point values
         /// Multiply packed double-precision floating-point values
         /// Multiply scalar double-precision floating-point values
+        /// Multiply packed unsigned doubleword integers
+        /// Multiply packed doubleword integers
         mul,
         /// Two's complement negation
         neg,
test/behavior/x86_64/unary.zig
@@ -4889,6 +4889,14 @@ test reduceAdd {
     try test_reduce_add.testIntVectors();
 }
 
+inline fn reduceMul(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
+    return @reduce(.Mul, rhs);
+}
+test reduceMul {
+    const test_reduce_mul = unary(reduceMul, .{});
+    try test_reduce_mul.testIntVectors();
+}
+
 inline fn splat(comptime Type: type, rhs: Type) Type {
     return @splat(rhs[0]);
 }