authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-05-27 11:02:35-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-05-28 15:10:22-04:00
log3fd3358f37668e54d214aec57033861ea17fd76d
tree396bad08654cfbf0ccc69442e2a73064a73154d9
parent7d727ed7dfc7f3a2880ff1d7b88569dea9531e73

x86_64: implement integer `@reduce(.Min)`


18 files changed, 8793 insertions(+), 1043 deletions(-)

lib/std/zig/Zir.zig+9-1
......@@ -2142,7 +2142,7 @@ pub const Inst = struct {
21422142 ref_start_index = static_len,
21432143 _,
21442144
2145 pub const static_len = 109;
2145 pub const static_len = 117;
21462146
21472147 pub fn toRef(i: Index) Inst.Ref {
21482148 return @enumFromInt(@intFromEnum(Index.ref_start_index) + @intFromEnum(i));
......@@ -2229,6 +2229,7 @@ pub const Inst = struct {
22292229 vector_8_i8_type,
22302230 vector_16_i8_type,
22312231 vector_32_i8_type,
2232 vector_64_i8_type,
22322233 vector_1_u8_type,
22332234 vector_2_u8_type,
22342235 vector_4_u8_type,
......@@ -2236,20 +2237,27 @@ pub const Inst = struct {
22362237 vector_16_u8_type,
22372238 vector_32_u8_type,
22382239 vector_64_u8_type,
2240 vector_2_i16_type,
22392241 vector_4_i16_type,
22402242 vector_8_i16_type,
22412243 vector_16_i16_type,
2244 vector_32_i16_type,
22422245 vector_4_u16_type,
22432246 vector_8_u16_type,
22442247 vector_16_u16_type,
2248 vector_32_u16_type,
22452249 vector_4_i32_type,
22462250 vector_8_i32_type,
2251 vector_16_i32_type,
22472252 vector_4_u32_type,
22482253 vector_8_u32_type,
2254 vector_16_u32_type,
22492255 vector_2_i64_type,
22502256 vector_4_i64_type,
2257 vector_8_i64_type,
22512258 vector_2_u64_type,
22522259 vector_4_u64_type,
2260 vector_8_u64_type,
22532261 vector_1_u128_type,
22542262 vector_2_u128_type,
22552263 vector_1_u256_type,
src/Air.zig+8
......@@ -1012,6 +1012,7 @@ pub const Inst = struct {
10121012 vector_8_i8_type = @intFromEnum(InternPool.Index.vector_8_i8_type),
10131013 vector_16_i8_type = @intFromEnum(InternPool.Index.vector_16_i8_type),
10141014 vector_32_i8_type = @intFromEnum(InternPool.Index.vector_32_i8_type),
1015 vector_64_i8_type = @intFromEnum(InternPool.Index.vector_64_i8_type),
10151016 vector_1_u8_type = @intFromEnum(InternPool.Index.vector_1_u8_type),
10161017 vector_2_u8_type = @intFromEnum(InternPool.Index.vector_2_u8_type),
10171018 vector_4_u8_type = @intFromEnum(InternPool.Index.vector_4_u8_type),
......@@ -1019,20 +1020,27 @@ pub const Inst = struct {
10191020 vector_16_u8_type = @intFromEnum(InternPool.Index.vector_16_u8_type),
10201021 vector_32_u8_type = @intFromEnum(InternPool.Index.vector_32_u8_type),
10211022 vector_64_u8_type = @intFromEnum(InternPool.Index.vector_64_u8_type),
1023 vector_2_i16_type = @intFromEnum(InternPool.Index.vector_2_i16_type),
10221024 vector_4_i16_type = @intFromEnum(InternPool.Index.vector_4_i16_type),
10231025 vector_8_i16_type = @intFromEnum(InternPool.Index.vector_8_i16_type),
10241026 vector_16_i16_type = @intFromEnum(InternPool.Index.vector_16_i16_type),
1027 vector_32_i16_type = @intFromEnum(InternPool.Index.vector_32_i16_type),
10251028 vector_4_u16_type = @intFromEnum(InternPool.Index.vector_4_u16_type),
10261029 vector_8_u16_type = @intFromEnum(InternPool.Index.vector_8_u16_type),
10271030 vector_16_u16_type = @intFromEnum(InternPool.Index.vector_16_u16_type),
1031 vector_32_u16_type = @intFromEnum(InternPool.Index.vector_32_u16_type),
10281032 vector_4_i32_type = @intFromEnum(InternPool.Index.vector_4_i32_type),
10291033 vector_8_i32_type = @intFromEnum(InternPool.Index.vector_8_i32_type),
1034 vector_16_i32_type = @intFromEnum(InternPool.Index.vector_16_i32_type),
10301035 vector_4_u32_type = @intFromEnum(InternPool.Index.vector_4_u32_type),
10311036 vector_8_u32_type = @intFromEnum(InternPool.Index.vector_8_u32_type),
1037 vector_16_u32_type = @intFromEnum(InternPool.Index.vector_16_u32_type),
10321038 vector_2_i64_type = @intFromEnum(InternPool.Index.vector_2_i64_type),
10331039 vector_4_i64_type = @intFromEnum(InternPool.Index.vector_4_i64_type),
1040 vector_8_i64_type = @intFromEnum(InternPool.Index.vector_8_i64_type),
10341041 vector_2_u64_type = @intFromEnum(InternPool.Index.vector_2_u64_type),
10351042 vector_4_u64_type = @intFromEnum(InternPool.Index.vector_4_u64_type),
1043 vector_8_u64_type = @intFromEnum(InternPool.Index.vector_8_u64_type),
10361044 vector_1_u128_type = @intFromEnum(InternPool.Index.vector_1_u128_type),
10371045 vector_2_u128_type = @intFromEnum(InternPool.Index.vector_2_u128_type),
10381046 vector_1_u256_type = @intFromEnum(InternPool.Index.vector_1_u256_type),
src/InternPool.zig+42-6
......@@ -4589,6 +4589,7 @@ pub const Index = enum(u32) {
45894589 vector_8_i8_type,
45904590 vector_16_i8_type,
45914591 vector_32_i8_type,
4592 vector_64_i8_type,
45924593 vector_1_u8_type,
45934594 vector_2_u8_type,
45944595 vector_4_u8_type,
......@@ -4596,20 +4597,27 @@ pub const Index = enum(u32) {
45964597 vector_16_u8_type,
45974598 vector_32_u8_type,
45984599 vector_64_u8_type,
4600 vector_2_i16_type,
45994601 vector_4_i16_type,
46004602 vector_8_i16_type,
46014603 vector_16_i16_type,
4604 vector_32_i16_type,
46024605 vector_4_u16_type,
46034606 vector_8_u16_type,
46044607 vector_16_u16_type,
4608 vector_32_u16_type,
46054609 vector_4_i32_type,
46064610 vector_8_i32_type,
4611 vector_16_i32_type,
46074612 vector_4_u32_type,
46084613 vector_8_u32_type,
4614 vector_16_u32_type,
46094615 vector_2_i64_type,
46104616 vector_4_i64_type,
4617 vector_8_i64_type,
46114618 vector_2_u64_type,
46124619 vector_4_u64_type,
4620 vector_8_u64_type,
46134621 vector_1_u128_type,
46144622 vector_2_u128_type,
46154623 vector_1_u256_type,
......@@ -4954,7 +4962,7 @@ pub const Index = enum(u32) {
49544962 }
49554963};
49564964
4957pub const static_keys = [_]Key{
4965pub const static_keys: [static_len]Key = .{
49584966 .{ .int_type = .{
49594967 .signedness = .unsigned,
49604968 .bits = 0,
......@@ -5126,6 +5134,8 @@ pub const static_keys = [_]Key{
51265134 .{ .vector_type = .{ .len = 16, .child = .i8_type } },
51275135 // @Vector(32, i8)
51285136 .{ .vector_type = .{ .len = 32, .child = .i8_type } },
5137 // @Vector(64, i8)
5138 .{ .vector_type = .{ .len = 64, .child = .i8_type } },
51295139 // @Vector(1, u8)
51305140 .{ .vector_type = .{ .len = 1, .child = .u8_type } },
51315141 // @Vector(2, u8)
......@@ -5140,34 +5150,48 @@ pub const static_keys = [_]Key{
51405150 .{ .vector_type = .{ .len = 32, .child = .u8_type } },
51415151 // @Vector(64, u8)
51425152 .{ .vector_type = .{ .len = 64, .child = .u8_type } },
5153 // @Vector(2, i16)
5154 .{ .vector_type = .{ .len = 2, .child = .i16_type } },
51435155 // @Vector(4, i16)
51445156 .{ .vector_type = .{ .len = 4, .child = .i16_type } },
51455157 // @Vector(8, i16)
51465158 .{ .vector_type = .{ .len = 8, .child = .i16_type } },
51475159 // @Vector(16, i16)
51485160 .{ .vector_type = .{ .len = 16, .child = .i16_type } },
5161 // @Vector(32, i16)
5162 .{ .vector_type = .{ .len = 32, .child = .i16_type } },
51495163 // @Vector(4, u16)
51505164 .{ .vector_type = .{ .len = 4, .child = .u16_type } },
51515165 // @Vector(8, u16)
51525166 .{ .vector_type = .{ .len = 8, .child = .u16_type } },
51535167 // @Vector(16, u16)
51545168 .{ .vector_type = .{ .len = 16, .child = .u16_type } },
5169 // @Vector(32, u16)
5170 .{ .vector_type = .{ .len = 32, .child = .u16_type } },
51555171 // @Vector(4, i32)
51565172 .{ .vector_type = .{ .len = 4, .child = .i32_type } },
51575173 // @Vector(8, i32)
51585174 .{ .vector_type = .{ .len = 8, .child = .i32_type } },
5175 // @Vector(16, i32)
5176 .{ .vector_type = .{ .len = 16, .child = .i32_type } },
51595177 // @Vector(4, u32)
51605178 .{ .vector_type = .{ .len = 4, .child = .u32_type } },
51615179 // @Vector(8, u32)
51625180 .{ .vector_type = .{ .len = 8, .child = .u32_type } },
5181 // @Vector(16, u32)
5182 .{ .vector_type = .{ .len = 16, .child = .u32_type } },
51635183 // @Vector(2, i64)
51645184 .{ .vector_type = .{ .len = 2, .child = .i64_type } },
51655185 // @Vector(4, i64)
51665186 .{ .vector_type = .{ .len = 4, .child = .i64_type } },
5187 // @Vector(8, i64)
5188 .{ .vector_type = .{ .len = 8, .child = .i64_type } },
51675189 // @Vector(2, u64)
51685190 .{ .vector_type = .{ .len = 2, .child = .u64_type } },
5169 // @Vector(8, u64)
5191 // @Vector(4, u64)
51705192 .{ .vector_type = .{ .len = 4, .child = .u64_type } },
5193 // @Vector(8, u64)
5194 .{ .vector_type = .{ .len = 8, .child = .u64_type } },
51715195 // @Vector(1, u128)
51725196 .{ .vector_type = .{ .len = 1, .child = .u128_type } },
51735197 // @Vector(2, u128)
......@@ -5273,10 +5297,6 @@ pub const static_keys = [_]Key{
52735297/// assert below to break an unfortunate and arguably incorrect dependency loop
52745298/// when compiling.
52755299pub const static_len = Zir.Inst.Index.static_len;
5276comptime {
5277 //@compileLog(static_keys.len);
5278 assert(static_len == static_keys.len);
5279}
52805300
52815301pub const Tag = enum(u8) {
52825302 /// This special tag represents a value which was removed from this pool via
......@@ -11833,6 +11853,7 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {
1183311853 .vector_8_i8_type,
1183411854 .vector_16_i8_type,
1183511855 .vector_32_i8_type,
11856 .vector_64_i8_type,
1183611857 .vector_1_u8_type,
1183711858 .vector_2_u8_type,
1183811859 .vector_4_u8_type,
......@@ -11840,20 +11861,27 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {
1184011861 .vector_16_u8_type,
1184111862 .vector_32_u8_type,
1184211863 .vector_64_u8_type,
11864 .vector_2_i16_type,
1184311865 .vector_4_i16_type,
1184411866 .vector_8_i16_type,
1184511867 .vector_16_i16_type,
11868 .vector_32_i16_type,
1184611869 .vector_4_u16_type,
1184711870 .vector_8_u16_type,
1184811871 .vector_16_u16_type,
11872 .vector_32_u16_type,
1184911873 .vector_4_i32_type,
1185011874 .vector_8_i32_type,
11875 .vector_16_i32_type,
1185111876 .vector_4_u32_type,
1185211877 .vector_8_u32_type,
11878 .vector_16_u32_type,
1185311879 .vector_2_i64_type,
1185411880 .vector_4_i64_type,
11881 .vector_8_i64_type,
1185511882 .vector_2_u64_type,
1185611883 .vector_4_u64_type,
11884 .vector_8_u64_type,
1185711885 .vector_1_u128_type,
1185811886 .vector_2_u128_type,
1185911887 .vector_1_u256_type,
......@@ -12165,6 +12193,7 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {
1216512193 .vector_8_i8_type,
1216612194 .vector_16_i8_type,
1216712195 .vector_32_i8_type,
12196 .vector_64_i8_type,
1216812197 .vector_1_u8_type,
1216912198 .vector_2_u8_type,
1217012199 .vector_4_u8_type,
......@@ -12172,20 +12201,27 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {
1217212201 .vector_16_u8_type,
1217312202 .vector_32_u8_type,
1217412203 .vector_64_u8_type,
12204 .vector_2_i16_type,
1217512205 .vector_4_i16_type,
1217612206 .vector_8_i16_type,
1217712207 .vector_16_i16_type,
12208 .vector_32_i16_type,
1217812209 .vector_4_u16_type,
1217912210 .vector_8_u16_type,
1218012211 .vector_16_u16_type,
12212 .vector_32_u16_type,
1218112213 .vector_4_i32_type,
1218212214 .vector_8_i32_type,
12215 .vector_16_i32_type,
1218312216 .vector_4_u32_type,
1218412217 .vector_8_u32_type,
12218 .vector_16_u32_type,
1218512219 .vector_2_i64_type,
1218612220 .vector_4_i64_type,
12221 .vector_8_i64_type,
1218712222 .vector_2_u64_type,
1218812223 .vector_4_u64_type,
12224 .vector_8_u64_type,
1218912225 .vector_1_u128_type,
1219012226 .vector_2_u128_type,
1219112227 .vector_1_u256_type,
src/Sema.zig+8
......@@ -36545,6 +36545,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value {
3654536545 .vector_8_i8_type,
3654636546 .vector_16_i8_type,
3654736547 .vector_32_i8_type,
36548 .vector_64_i8_type,
3654836549 .vector_1_u8_type,
3654936550 .vector_2_u8_type,
3655036551 .vector_4_u8_type,
......@@ -36552,20 +36553,27 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value {
3655236553 .vector_16_u8_type,
3655336554 .vector_32_u8_type,
3655436555 .vector_64_u8_type,
36556 .vector_2_i16_type,
3655536557 .vector_4_i16_type,
3655636558 .vector_8_i16_type,
3655736559 .vector_16_i16_type,
36560 .vector_32_i16_type,
3655836561 .vector_4_u16_type,
3655936562 .vector_8_u16_type,
3656036563 .vector_16_u16_type,
36564 .vector_32_u16_type,
3656136565 .vector_4_i32_type,
3656236566 .vector_8_i32_type,
36567 .vector_16_i32_type,
3656336568 .vector_4_u32_type,
3656436569 .vector_8_u32_type,
36570 .vector_16_u32_type,
3656536571 .vector_2_i64_type,
3656636572 .vector_4_i64_type,
36573 .vector_8_i64_type,
3656736574 .vector_2_u64_type,
3656836575 .vector_4_u64_type,
36576 .vector_8_u64_type,
3656936577 .vector_1_u128_type,
3657036578 .vector_2_u128_type,
3657136579 .vector_1_u256_type,
src/Type.zig+8
......@@ -4110,6 +4110,7 @@ pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_senti
41104110pub const vector_8_i8: Type = .{ .ip_index = .vector_8_i8_type };
41114111pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type };
41124112pub const vector_32_i8: Type = .{ .ip_index = .vector_32_i8_type };
4113pub const vector_64_i8: Type = .{ .ip_index = .vector_64_i8_type };
41134114pub const vector_1_u8: Type = .{ .ip_index = .vector_1_u8_type };
41144115pub const vector_2_u8: Type = .{ .ip_index = .vector_2_u8_type };
41154116pub const vector_4_u8: Type = .{ .ip_index = .vector_4_u8_type };
......@@ -4117,20 +4118,27 @@ pub const vector_8_u8: Type = .{ .ip_index = .vector_8_u8_type };
41174118pub const vector_16_u8: Type = .{ .ip_index = .vector_16_u8_type };
41184119pub const vector_32_u8: Type = .{ .ip_index = .vector_32_u8_type };
41194120pub const vector_64_u8: Type = .{ .ip_index = .vector_64_u8_type };
4121pub const vector_2_i16: Type = .{ .ip_index = .vector_2_i16_type };
41204122pub const vector_4_i16: Type = .{ .ip_index = .vector_4_i16_type };
41214123pub const vector_8_i16: Type = .{ .ip_index = .vector_8_i16_type };
41224124pub const vector_16_i16: Type = .{ .ip_index = .vector_16_i16_type };
4125pub const vector_32_i16: Type = .{ .ip_index = .vector_32_i16_type };
41234126pub const vector_4_u16: Type = .{ .ip_index = .vector_4_u16_type };
41244127pub const vector_8_u16: Type = .{ .ip_index = .vector_8_u16_type };
41254128pub const vector_16_u16: Type = .{ .ip_index = .vector_16_u16_type };
4129pub const vector_32_u16: Type = .{ .ip_index = .vector_32_u16_type };
41264130pub const vector_4_i32: Type = .{ .ip_index = .vector_4_i32_type };
41274131pub const vector_8_i32: Type = .{ .ip_index = .vector_8_i32_type };
4132pub const vector_16_i32: Type = .{ .ip_index = .vector_16_i32_type };
41284133pub const vector_4_u32: Type = .{ .ip_index = .vector_4_u32_type };
41294134pub const vector_8_u32: Type = .{ .ip_index = .vector_8_u32_type };
4135pub const vector_16_u32: Type = .{ .ip_index = .vector_16_u32_type };
41304136pub const vector_2_i64: Type = .{ .ip_index = .vector_2_i64_type };
41314137pub const vector_4_i64: Type = .{ .ip_index = .vector_4_i64_type };
4138pub const vector_8_i64: Type = .{ .ip_index = .vector_8_i64_type };
41324139pub const vector_2_u64: Type = .{ .ip_index = .vector_2_u64_type };
41334140pub const vector_4_u64: Type = .{ .ip_index = .vector_4_u64_type };
4141pub const vector_8_u64: Type = .{ .ip_index = .vector_8_u64_type };
41344142pub const vector_1_u128: Type = .{ .ip_index = .vector_1_u128_type };
41354143pub const vector_2_u128: Type = .{ .ip_index = .vector_2_u128_type };
41364144pub const vector_1_u256: Type = .{ .ip_index = .vector_1_u256_type };
src/arch/x86_64/CodeGen.zig+8382-828
......@@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23892389}
23902390
23912391fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2392 @setEvalBranchQuota(24_000);
2392 @setEvalBranchQuota(25_200);
23932393 const pt = cg.pt;
23942394 const zcu = pt.zcu;
23952395 const ip = &zcu.intern_pool;
......@@ -117441,7 +117441,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
117441117441 const res_ty = cg.typeOfIndex(inst);
117442117442 switch (reduce.operation) {
117443117443 .And, .Or, .Xor => {},
117444 .Min, .Max => break :fallback try cg.airReduce(inst),
117444 .Min => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst),
117445 .Max => break :fallback try cg.airReduce(inst),
117445117446 .Add, .Mul => {},
117446117447 }
117447117448 var ops = try cg.tempsFromOperands(inst, .{reduce.operand});
......@@ -119006,7 +119007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119006119007 },
119007119008 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119008119009 .each = .{ .once = &.{
119009 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
119010 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119010119011 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119011119012 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119012119013 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
......@@ -119033,8 +119034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119033119034 },
119034119035 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119035119036 .each = .{ .once = &.{
119036 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
119037 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119037 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119038119038 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119039119039 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119040119040 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
......@@ -119062,7 +119062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119062119062 },
119063119063 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119064119064 .each = .{ .once = &.{
119065 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
119065 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119066119066 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
119067119067 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
119068119068 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
......@@ -119089,8 +119089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119089119089 },
119090119090 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119091119091 .each = .{ .once = &.{
119092 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
119093 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119092 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119094119093 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },
119095119094 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
119096119095 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
......@@ -119117,9 +119116,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119117119116 },
119118119117 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119119119118 .each = .{ .once = &.{
119120 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
119119 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
119121119120 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119122 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
119121 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119123119122 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119124119123 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119125119124 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
......@@ -119146,10 +119145,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119146119145 },
119147119146 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119148119147 .each = .{ .once = &.{
119149 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
119148 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
119150119149 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119151 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119152 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119150 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119153119151 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119154119152 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119155119153 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
......@@ -119190,9 +119188,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119190119188 .@"and" => .@"or",
119191119189 .@"or", .xor => .@"and",
119192119190 }, .dst0x, .src0x, .lea(.tmp0x), ._ },
119193 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119191 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119194119192 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119195 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119193 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119196119194 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119197119195 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119198119196 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119232,10 +119230,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119232119230 .@"and" => .@"or",
119233119231 .@"or", .xor => .@"and",
119234119232 }, .dst0x, .lea(.tmp0x), ._, ._ },
119235 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119233 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119236119234 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119237 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119238 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
119235 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119239119236 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119240119237 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119241119238 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
......@@ -119263,11 +119260,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119263119260 },
119264119261 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119265119262 .each = .{ .once = &.{
119266 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
119263 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
119267119264 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119268 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
119265 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
119269119266 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119270 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
119267 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119271119268 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119272119269 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119273119270 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
......@@ -119294,12 +119291,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119294119291 },
119295119292 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119296119293 .each = .{ .once = &.{
119297 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
119294 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
119298119295 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119299 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
119296 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
119300119297 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119301 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119302 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119298 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119303119299 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119304119300 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119305119301 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
......@@ -119340,11 +119336,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119340119336 .@"and" => .@"or",
119341119337 .@"or", .xor => .@"and",
119342119338 }, .dst0x, .src0x, .lea(.tmp0x), ._ },
119343 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119339 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119344119340 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119345 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119341 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119346119342 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119347 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119343 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119348119344 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119349119345 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119350119346 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119384,12 +119380,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119384119380 .@"and" => .@"or",
119385119381 .@"or", .xor => .@"and",
119386119382 }, .dst0x, .lea(.tmp0x), ._, ._ },
119387 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119383 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119388119384 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119389 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119385 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119390119386 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119391 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119392 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
119387 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119393119388 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119394119389 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119395119390 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
......@@ -119419,11 +119414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119419119414 .each = .{ .once = &.{
119420119415 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
119421119416 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119422 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
119417 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
119423119418 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119424 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
119419 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
119425119420 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119426 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
119421 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119427119422 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119428119423 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119429119424 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
......@@ -119454,9 +119449,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119454119449 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119455119450 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
119456119451 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119457 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
119452 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
119458119453 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119459 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
119454 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119460119455 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119461119456 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119462119457 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
......@@ -119498,11 +119493,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119498119493 }, .dst0y, .src0y, .lea(.tmp0y), ._ },
119499119494 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119500119495 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119501 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119496 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119502119497 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119503 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119498 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119504119499 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119505 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119500 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119506119501 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119507119502 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119508119503 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119546,9 +119541,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119546119541 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119547119542 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
119548119543 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119549 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
119544 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
119550119545 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119551 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119546 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119552119547 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119553119548 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119554119549 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119579,11 +119574,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119579119574 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
119580119575 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
119581119576 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119582 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
119577 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
119583119578 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119584 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
119579 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
119585119580 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119586 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
119581 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119587119582 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119588119583 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119589119584 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
......@@ -119633,11 +119628,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119633119628 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
119634119629 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119635119630 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119636 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119631 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119637119632 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119638 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119633 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119639119634 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119640 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119635 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119641119636 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119642119637 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119643119638 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119672,11 +119667,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119672119667 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119673119668 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
119674119669 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119675 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
119670 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
119676119671 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119677 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
119672 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
119678119673 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119679 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
119674 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
119680119675 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119681119676 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
119682119677 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
......@@ -119713,9 +119708,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119713119708 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119714119709 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
119715119710 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119716 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
119711 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
119717119712 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119718 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
119713 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
119719119714 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119720119715 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
119721119716 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
......@@ -119748,12 +119743,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119748119743 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
119749119744 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
119750119745 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119751 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
119746 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
119752119747 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
119753 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
119748 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
119754119749 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
119755 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
119756 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
119750 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
119757119751 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
119758119752 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
119759119753 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
......@@ -119810,11 +119804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119810119804 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
119811119805 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119812119806 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119813 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119807 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119814119808 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119815 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119809 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119816119810 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119817 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119811 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119818119812 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119819119813 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119820119814 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119862,11 +119856,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119862119856 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119863119857 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119864119858 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119865 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119859 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119866119860 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119867 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119861 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119868119862 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119869 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119863 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119870119864 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119871119865 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119872119866 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119916,9 +119910,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119916119910 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119917119911 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
119918119912 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119919 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
119913 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
119920119914 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119921 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
119915 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119922119916 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119923119917 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119924119918 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -119964,12 +119958,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119964119958 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
119965119959 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
119966119960 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119967 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
119961 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119968119962 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119969 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
119963 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119970119964 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119971 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119972 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
119965 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119973119966 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119974119967 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119975119968 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
......@@ -120054,7 +120047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120054120047 },
120055120048 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120056120049 .each = .{ .once = &.{
120057 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
120050 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
120058120051 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120059120052 } },
120060120053 }, .{
......@@ -120079,8 +120072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120079120072 },
120080120073 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120081120074 .each = .{ .once = &.{
120082 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
120083 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
120075 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
120084120076 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120085120077 } },
120086120078 }, .{
......@@ -120105,9 +120097,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120105120097 },
120106120098 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120107120099 .each = .{ .once = &.{
120108 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
120100 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120109120101 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120110 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
120102 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120111120103 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120112120104 } },
120113120105 }, .{
......@@ -120132,10 +120124,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120132120124 },
120133120125 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120134120126 .each = .{ .once = &.{
120135 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
120127 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120136120128 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120137 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
120138 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
120129 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120139120130 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120140120131 } },
120141120132 }, .{
......@@ -120160,9 +120151,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120160120151 },
120161120152 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120162120153 .each = .{ .once = &.{
120163 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
120154 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120164120155 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
120165 .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },
120156 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
120166120157 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
120167120158 } },
120168120159 }, .{
......@@ -120185,11 +120176,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120185120176 .unused,
120186120177 .unused,
120187120178 },
120188 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120179 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120189120180 .each = .{ .once = &.{
120190 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
120181 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120191120182 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },
120192 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
120183 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
120193120184 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120194120185 } },
120195120186 }, .{
......@@ -120214,11 +120205,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120214120205 },
120215120206 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120216120207 .each = .{ .once = &.{
120217 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
120208 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
120218120209 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120219 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
120210 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120220120211 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120221 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
120212 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120222120213 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120223120214 } },
120224120215 }, .{
......@@ -120243,12 +120234,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120243120234 },
120244120235 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120245120236 .each = .{ .once = &.{
120246 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
120237 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
120247120238 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120248 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
120239 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120249120240 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120250 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
120251 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
120241 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120252120242 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120253120243 } },
120254120244 }, .{
......@@ -120286,11 +120276,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120286120276 .@"and" => .@"or",
120287120277 .@"or", .xor => .@"and",
120288120278 }, .dst0x, .src0x, .lea(.tmp0x), ._ },
120289 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120279 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120290120280 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120291 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120281 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120292120282 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120293 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120283 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120294120284 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120295120285 } },
120296120286 }, .{
......@@ -120328,12 +120318,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120328120318 .@"and" => .@"or",
120329120319 .@"or", .xor => .@"and",
120330120320 }, .dst0x, .lea(.tmp0x), ._, ._ },
120331 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120321 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120332120322 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120333 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120323 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120334120324 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120335 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
120336 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
120325 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120337120326 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120338120327 } },
120339120328 }, .{
......@@ -120360,11 +120349,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120360120349 .each = .{ .once = &.{
120361120350 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
120362120351 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120363 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
120352 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120364120353 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120365 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
120354 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120366120355 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120367 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
120356 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120368120357 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120369120358 } },
120370120359 }, .{
......@@ -120393,9 +120382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120393120382 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120394120383 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
120395120384 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120396 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
120385 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
120397120386 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120398 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
120387 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120399120388 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120400120389 } },
120401120390 }, .{
......@@ -120435,11 +120424,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120435120424 }, .dst0y, .src0y, .lea(.tmp0y), ._ },
120436120425 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120437120426 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120438 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120427 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120439120428 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120440 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120429 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120441120430 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120442 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120431 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120443120432 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120444120433 } },
120445120434 }, .{
......@@ -120481,9 +120470,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120481120470 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120482120471 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
120483120472 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120484 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
120473 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
120485120474 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120486 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120475 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120487120476 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120488120477 } },
120489120478 }, .{
......@@ -120512,11 +120501,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120512120501 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
120513120502 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
120514120503 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120515 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
120504 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120516120505 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120517 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
120506 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120518120507 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120519 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
120508 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120520120509 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120521120510 } },
120522120511 }, .{
......@@ -120564,11 +120553,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120564120553 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
120565120554 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120566120555 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120567 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120556 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120568120557 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120569 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120558 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120570120559 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120571 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120560 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120572120561 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120573120562 } },
120574120563 }, .{
......@@ -120601,11 +120590,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120601120590 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120602120591 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
120603120592 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120604 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
120593 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
120605120594 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120606 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
120595 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
120607120596 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120608 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
120597 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
120609120598 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120610120599 } },
120611120600 }, .{
......@@ -120640,9 +120629,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120640120629 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120641120630 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
120642120631 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120643 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
120632 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
120644120633 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120645 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
120634 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
120646120635 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120647120636 } },
120648120637 }, .{
......@@ -120673,12 +120662,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120673120662 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
120674120663 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
120675120664 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120676 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
120665 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
120677120666 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
120678 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
120667 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
120679120668 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
120680 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
120681 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
120669 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
120682120670 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
120683120671 } },
120684120672 }, .{
......@@ -120732,11 +120720,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120732120720 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
120733120721 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120734120722 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120735 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120723 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120736120724 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120737 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120725 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120738120726 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120739 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120727 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120740120728 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120741120729 } },
120742120730 }, .{
......@@ -120782,11 +120770,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120782120770 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120783120771 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120784120772 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120785 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120773 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120786120774 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120787 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120775 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120788120776 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120789 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120777 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120790120778 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120791120779 } },
120792120780 }, .{
......@@ -120834,9 +120822,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120834120822 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120835120823 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
120836120824 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120837 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
120825 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
120838120826 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120839 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
120827 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120840120828 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120841120829 } },
120842120830 }, .{
......@@ -120880,12 +120868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120880120868 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
120881120869 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
120882120870 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120883 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
120871 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120884120872 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120885 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
120873 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120886120874 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120887 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
120888 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
120875 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120889120876 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120890120877 } },
120891120878 }, .{
......@@ -120938,7 +120925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120938120925 },
120939120926 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120940120927 .each = .{ .once = &.{
120941 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
120928 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120942120929 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120943120930 } },
120944120931 }, .{
......@@ -120963,7 +120950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120963120950 },
120964120951 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120965120952 .each = .{ .once = &.{
120966 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
120953 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120967120954 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120968120955 } },
120969120956 }, .{
......@@ -120988,9 +120975,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120988120975 },
120989120976 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120990120977 .each = .{ .once = &.{
120991 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
120978 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
120992120979 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120993 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
120980 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
120994120981 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120995120982 } },
120996120983 }, .{
......@@ -121015,9 +121002,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121015121002 },
121016121003 .dst_temps = .{ .{ .ref = .src0 }, .unused },
121017121004 .each = .{ .once = &.{
121018 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
121005 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121019121006 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121020 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
121007 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121021121008 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121022121009 } },
121023121010 }, .{
......@@ -121042,9 +121029,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121042121029 },
121043121030 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
121044121031 .each = .{ .once = &.{
121045 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
121032 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121046121033 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
121047 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
121034 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
121048121035 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
121049121036 } },
121050121037 }, .{
......@@ -121069,9 +121056,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121069121056 },
121070121057 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
121071121058 .each = .{ .once = &.{
121072 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
121059 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121073121060 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },
121074 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
121061 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
121075121062 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121076121063 } },
121077121064 }, .{
......@@ -121098,9 +121085,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121098121085 .each = .{ .once = &.{
121099121086 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
121100121087 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
121101 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
121088 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121102121089 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121103 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
121090 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121104121091 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121105121092 } },
121106121093 }, .{
......@@ -121129,7 +121116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121129121116 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
121130121117 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
121131121118 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121132 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
121119 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
121133121120 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121134121121 } },
121135121122 }, .{
......@@ -121169,9 +121156,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121169121156 }, .dst0y, .src0y, .lea(.tmp0y), ._ },
121170121157 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121171121158 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121172 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121159 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121173121160 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121174 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
121161 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121175121162 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121176121163 } },
121177121164 }, .{
......@@ -121213,7 +121200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121213121200 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121214121201 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
121215121202 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121216 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
121203 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
121217121204 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121218121205 } },
121219121206 }, .{
......@@ -121242,9 +121229,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121242121229 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
121243121230 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
121244121231 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121245 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
121232 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121246121233 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121247 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
121234 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121248121235 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121249121236 } },
121250121237 }, .{
......@@ -121292,9 +121279,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121292121279 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
121293121280 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121294121281 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121295 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121282 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121296121283 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121297 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
121284 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121298121285 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121299121286 } },
121300121287 }, .{
......@@ -121327,9 +121314,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121327121314 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121328121315 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
121329121316 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121330 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
121317 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121331121318 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121332 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
121319 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121333121320 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121334121321 } },
121335121322 }, .{
......@@ -121364,7 +121351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121364121351 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121365121352 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
121366121353 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121367 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
121354 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
121368121355 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121369121356 } },
121370121357 }, .{
......@@ -121395,9 +121382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121395121382 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
121396121383 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
121397121384 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121398 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
121385 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121399121386 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
121400 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
121387 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121401121388 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
121402121389 } },
121403121390 }, .{
......@@ -121451,9 +121438,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121451121438 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
121452121439 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121453121440 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121454 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121441 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121455121442 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121456 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
121443 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121457121444 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121458121445 } },
121459121446 }, .{
......@@ -121499,9 +121486,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121499121486 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121500121487 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121501121488 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121502 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121489 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121503121490 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121504 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
121491 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121505121492 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121506121493 } },
121507121494 }, .{
......@@ -121549,7 +121536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121549121536 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121550121537 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
121551121538 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121552 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
121539 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
121553121540 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121554121541 } },
121555121542 }, .{
......@@ -121593,9 +121580,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121593121580 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
121594121581 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
121595121582 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121596 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121583 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121597121584 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
121598 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
121585 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121599121586 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
121600121587 } },
121601121588 }, .{
......@@ -121648,7 +121635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121648121635 },
121649121636 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
121650121637 .each = .{ .once = &.{
121651 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
121638 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121652121639 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
121653121640 } },
121654121641 }, .{
......@@ -121673,7 +121660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121673121660 },
121674121661 .dst_temps = .{ .{ .ref = .src0 }, .unused },
121675121662 .each = .{ .once = &.{
121676 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
121663 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121677121664 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121678121665 } },
121679121666 }, .{
......@@ -121700,7 +121687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121700121687 .each = .{ .once = &.{
121701121688 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
121702121689 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
121703 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
121690 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121704121691 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121705121692 } },
121706121693 }, .{
......@@ -121754,7 +121741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121754121741 .each = .{ .once = &.{
121755121742 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
121756121743 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
121757 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
121744 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
121758121745 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
121759121746 } },
121760121747 }, .{
......@@ -121810,7 +121797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121810121797 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
121811121798 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
121812121799 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121813 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
121800 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
121814121801 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121815121802 } },
121816121803 }, .{
......@@ -121858,7 +121845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121858121845 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
121859121846 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121860121847 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121861 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121848 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121862121849 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121863121850 } },
121864121851 }, .{
......@@ -121891,7 +121878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121891121878 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121892121879 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
121893121880 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121894 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
121881 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121895121882 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121896121883 } },
121897121884 }, .{
......@@ -121955,7 +121942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121955121942 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
121956121943 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
121957121944 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121958 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
121945 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121959121946 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
121960121947 } },
121961121948 }, .{
......@@ -122009,7 +121996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122009121996 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
122010121997 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
122011121998 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
122012 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
121999 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
122013122000 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
122014122001 } },
122015122002 }, .{
......@@ -122055,7 +122042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122055122042 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
122056122043 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
122057122044 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
122058 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
122045 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
122059122046 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
122060122047 } },
122061122048 }, .{
......@@ -122145,7 +122132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122145122132 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
122146122133 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
122147122134 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
122148 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
122135 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
122149122136 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
122150122137 } },
122151122138 }, .{
......@@ -122797,16 +122784,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122797122784 } },
122798122785 } },
122799122786 },
122800 .Min, .Max => unreachable,
122801 .Add => comptime &.{ .{
122787 .Min => comptime &.{ .{
122802122788 .required_features = .{ .avx, null, null, null },
122803 .dst_constraints = .{ .{ .int = .byte }, .any },
122804 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
122789 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122790 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
122805122791 .patterns = &.{
122806122792 .{ .src = .{ .to_sse, .none, .none } },
122807122793 },
122808122794 .extra_temps = .{
122809 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
122795 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122810122796 .unused,
122811122797 .unused,
122812122798 .unused,
......@@ -122821,17 +122807,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122821122807 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122822122808 .each = .{ .once = &.{
122823122809 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
122824 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
122810 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
122825122811 } },
122826122812 }, .{
122827 .required_features = .{ .sse2, null, null, null },
122828 .dst_constraints = .{ .{ .int = .byte }, .any },
122829 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
122813 .required_features = .{ .sse4_1, null, null, null },
122814 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122815 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
122830122816 .patterns = &.{
122831122817 .{ .src = .{ .to_mut_sse, .none, .none } },
122832122818 },
122833122819 .extra_temps = .{
122834 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
122820 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122835122821 .unused,
122836122822 .unused,
122837122823 .unused,
......@@ -122847,12 +122833,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122847122833 .each = .{ .once = &.{
122848122834 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
122849122835 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
122850 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
122836 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
122837 } },
122838 }, .{
122839 .required_features = .{ .sse2, null, null, null },
122840 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122841 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
122842 .patterns = &.{
122843 .{ .src = .{ .to_mut_sse, .none, .none } },
122844 },
122845 .extra_temps = .{
122846 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122847 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122848 .unused,
122849 .unused,
122850 .unused,
122851 .unused,
122852 .unused,
122853 .unused,
122854 .unused,
122855 .unused,
122856 .unused,
122857 },
122858 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122859 .each = .{ .once = &.{
122860 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
122861 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
122862 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
122863 .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ },
122864 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
122865 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
122866 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
122851122867 } },
122852122868 }, .{
122853122869 .required_features = .{ .avx, null, null, null },
122854 .dst_constraints = .{ .{ .int = .byte }, .any },
122855 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122870 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
122871 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
122856122872 .patterns = &.{
122857122873 .{ .src = .{ .to_sse, .none, .none } },
122858122874 },
......@@ -122871,15 +122887,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122871122887 },
122872122888 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122873122889 .each = .{ .once = &.{
122874 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
122875 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
122876 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
122877 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
122890 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
122891 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
122878122892 } },
122879122893 }, .{
122880122894 .required_features = .{ .sse2, null, null, null },
122881 .dst_constraints = .{ .{ .int = .byte }, .any },
122882 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122895 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
122896 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
122883122897 .patterns = &.{
122884122898 .{ .src = .{ .to_mut_sse, .none, .none } },
122885122899 },
......@@ -122899,16 +122913,102 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122899122913 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122900122914 .each = .{ .once = &.{
122901122915 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
122902 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
122903 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
122904 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
122905122916 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
122906 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
122917 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
122907122918 } },
122908122919 }, .{
122909122920 .required_features = .{ .avx, null, null, null },
122910 .dst_constraints = .{ .{ .int = .byte }, .any },
122911 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122921 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122922 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122923 .patterns = &.{
122924 .{ .src = .{ .to_sse, .none, .none } },
122925 },
122926 .extra_temps = .{
122927 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122928 .unused,
122929 .unused,
122930 .unused,
122931 .unused,
122932 .unused,
122933 .unused,
122934 .unused,
122935 .unused,
122936 .unused,
122937 .unused,
122938 },
122939 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122940 .each = .{ .once = &.{
122941 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
122942 .{ ._, .vp_b, .mins, .tmp0x, .src0x, .tmp0x, ._ },
122943 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
122944 .{ ._, .vp_b, .mins, .dst0x, .tmp0x, .dst0x, ._ },
122945 } },
122946 }, .{
122947 .required_features = .{ .sse4_1, null, null, null },
122948 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122949 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122950 .patterns = &.{
122951 .{ .src = .{ .to_mut_sse, .none, .none } },
122952 },
122953 .extra_temps = .{
122954 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122955 .unused,
122956 .unused,
122957 .unused,
122958 .unused,
122959 .unused,
122960 .unused,
122961 .unused,
122962 .unused,
122963 .unused,
122964 .unused,
122965 },
122966 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122967 .each = .{ .once = &.{
122968 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
122969 .{ ._, .p_b, .mins, .tmp0x, .src0x, ._, ._ },
122970 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
122971 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
122972 } },
122973 }, .{
122974 .required_features = .{ .sse2, null, null, null },
122975 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122976 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122977 .patterns = &.{
122978 .{ .src = .{ .to_mut_sse, .none, .none } },
122979 },
122980 .extra_temps = .{
122981 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122982 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122983 .unused,
122984 .unused,
122985 .unused,
122986 .unused,
122987 .unused,
122988 .unused,
122989 .unused,
122990 .unused,
122991 .unused,
122992 },
122993 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122994 .each = .{ .once = &.{
122995 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
122996 .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ },
122997 .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ },
122998 .{ ._, .p_, .@"and", .tmp0x, .tmp1x, ._, ._ },
122999 .{ ._, .p_, .andn, .tmp1x, .src0x, ._, ._ },
123000 .{ ._, .p_, .@"or", .tmp0x, .tmp1x, ._, ._ },
123001 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
123002 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123003 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123004 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123005 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123006 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123007 } },
123008 }, .{
123009 .required_features = .{ .avx, null, null, null },
123010 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123011 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122912123012 .patterns = &.{
122913123013 .{ .src = .{ .to_sse, .none, .none } },
122914123014 },
......@@ -122927,15 +123027,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122927123027 },
122928123028 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122929123029 .each = .{ .once = &.{
122930 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
122931 .{ ._, .vp_b, .add, .tmp0x, .src0x, .tmp0x, ._ },
123030 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123031 .{ ._, .vp_b, .minu, .tmp0x, .src0x, .tmp0x, ._ },
122932123032 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
122933 .{ ._, .vp_b, .add, .dst0x, .tmp0x, .dst0x, ._ },
123033 .{ ._, .vp_b, .minu, .dst0x, .tmp0x, .dst0x, ._ },
122934123034 } },
122935123035 }, .{
122936123036 .required_features = .{ .sse2, null, null, null },
122937 .dst_constraints = .{ .{ .int = .byte }, .any },
122938 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
123037 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123038 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122939123039 .patterns = &.{
122940123040 .{ .src = .{ .to_mut_sse, .none, .none } },
122941123041 },
......@@ -122954,16 +123054,106 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122954123054 },
122955123055 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122956123056 .each = .{ .once = &.{
122957 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
122958 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
122959 .{ ._, .p_b, .add, .tmp0x, .src0x, ._, ._ },
123057 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123058 .{ ._, .p_b, .minu, .tmp0x, .src0x, ._, ._ },
122960123059 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
122961 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123060 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
122962123061 } },
122963123062 }, .{
122964123063 .required_features = .{ .avx, null, null, null },
122965 .dst_constraints = .{ .{ .int = .byte }, .any },
122966 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123064 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123065 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
123066 .patterns = &.{
123067 .{ .src = .{ .to_sse, .none, .none } },
123068 },
123069 .extra_temps = .{
123070 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123071 .unused,
123072 .unused,
123073 .unused,
123074 .unused,
123075 .unused,
123076 .unused,
123077 .unused,
123078 .unused,
123079 .unused,
123080 .unused,
123081 },
123082 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123083 .each = .{ .once = &.{
123084 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123085 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
123086 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123087 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123088 } },
123089 }, .{
123090 .required_features = .{ .sse4_1, null, null, null },
123091 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123092 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
123093 .patterns = &.{
123094 .{ .src = .{ .to_mut_sse, .none, .none } },
123095 },
123096 .extra_temps = .{
123097 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123098 .unused,
123099 .unused,
123100 .unused,
123101 .unused,
123102 .unused,
123103 .unused,
123104 .unused,
123105 .unused,
123106 .unused,
123107 .unused,
123108 },
123109 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123110 .each = .{ .once = &.{
123111 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123112 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123113 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123114 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123115 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123116 } },
123117 }, .{
123118 .required_features = .{ .sse2, null, null, null },
123119 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123120 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
123121 .patterns = &.{
123122 .{ .src = .{ .to_mut_sse, .none, .none } },
123123 },
123124 .extra_temps = .{
123125 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123126 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123127 .unused,
123128 .unused,
123129 .unused,
123130 .unused,
123131 .unused,
123132 .unused,
123133 .unused,
123134 .unused,
123135 .unused,
123136 },
123137 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123138 .each = .{ .once = &.{
123139 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123140 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123141 .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ },
123142 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123143 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123144 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123145 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123146 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123147 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123148 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123149 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123150 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123151 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123152 } },
123153 }, .{
123154 .required_features = .{ .avx, null, null, null },
123155 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123156 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122967123157 .patterns = &.{
122968123158 .{ .src = .{ .to_sse, .none, .none } },
122969123159 },
......@@ -122982,17 +123172,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122982123172 },
122983123173 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122984123174 .each = .{ .once = &.{
122985 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
122986 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
122987 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
122988 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123175 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123176 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
122989123177 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
122990 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123178 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
122991123179 } },
122992123180 }, .{
122993123181 .required_features = .{ .sse2, null, null, null },
122994 .dst_constraints = .{ .{ .int = .byte }, .any },
122995 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123182 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123183 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122996123184 .patterns = &.{
122997123185 .{ .src = .{ .to_mut_sse, .none, .none } },
122998123186 },
......@@ -123011,25 +123199,135 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123011123199 },
123012123200 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123013123201 .each = .{ .once = &.{
123014 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
123015 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123016 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123017 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
123018 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123202 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123203 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123019123204 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123020123205 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123021 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123206 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123022123207 } },
123023123208 }, .{
123024123209 .required_features = .{ .avx, null, null, null },
123025 .dst_constraints = .{ .{ .int = .byte }, .any },
123026 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123210 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123211 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123027123212 .patterns = &.{
123028123213 .{ .src = .{ .to_sse, .none, .none } },
123029123214 },
123030123215 .extra_temps = .{
123031123216 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123032123217 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123218 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123219 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123220 .unused,
123221 .unused,
123222 .unused,
123223 .unused,
123224 .unused,
123225 .unused,
123226 .unused,
123227 },
123228 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123229 .each = .{ .once = &.{
123230 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123231 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
123232 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123233 .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ },
123234 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123235 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123236 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123237 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123238 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
123239 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123240 } },
123241 }, .{
123242 .required_features = .{ .sse4_1, null, null, null },
123243 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123244 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123245 .patterns = &.{
123246 .{ .src = .{ .to_mut_sse, .none, .none } },
123247 },
123248 .extra_temps = .{
123249 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123250 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123251 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123252 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123253 .unused,
123254 .unused,
123255 .unused,
123256 .unused,
123257 .unused,
123258 .unused,
123259 .unused,
123260 },
123261 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123262 .each = .{ .once = &.{
123263 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123264 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
123265 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123266 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123267 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123268 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123269 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123270 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123271 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
123272 .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ },
123273 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123274 } },
123275 }, .{
123276 .required_features = .{ .sse2, null, null, null },
123277 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123278 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123279 .patterns = &.{
123280 .{ .src = .{ .to_mut_sse, .none, .none } },
123281 },
123282 .extra_temps = .{
123283 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123284 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123285 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123286 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123287 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123288 .unused,
123289 .unused,
123290 .unused,
123291 .unused,
123292 .unused,
123293 .unused,
123294 },
123295 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123296 .each = .{ .once = &.{
123297 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123298 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
123299 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123300 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123301 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123302 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123303 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123304 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123305 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123306 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123307 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123308 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123309 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123310 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123311 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123312 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123313 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
123314 .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ },
123315 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123316 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123317 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123318 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123319 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123320 } },
123321 }, .{
123322 .required_features = .{ .avx, null, null, null },
123323 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123324 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123325 .patterns = &.{
123326 .{ .src = .{ .to_sse, .none, .none } },
123327 },
123328 .extra_temps = .{
123329 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123330 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123033123331 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123034123332 .unused,
123035123333 .unused,
......@@ -123043,24 +123341,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123043123341 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123044123342 .each = .{ .once = &.{
123045123343 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123046 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
123047 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123048 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123049 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
123050 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123344 .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ },
123345 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123346 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123347 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123348 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123051123349 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123052 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123350 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123053123351 } },
123054123352 }, .{
123055123353 .required_features = .{ .sse2, null, null, null },
123056 .dst_constraints = .{ .{ .int = .byte }, .any },
123057 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123354 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123355 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123058123356 .patterns = &.{
123059123357 .{ .src = .{ .to_mut_sse, .none, .none } },
123060123358 },
123061123359 .extra_temps = .{
123062123360 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123063 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123361 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123064123362 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123065123363 .unused,
123066123364 .unused,
......@@ -123074,20 +123372,120 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123074123372 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123075123373 .each = .{ .once = &.{
123076123374 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123077 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
123078 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123079 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123080 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123081 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
123082 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123375 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123376 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123377 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123378 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123379 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123083123380 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123084123381 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
123085 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123382 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123086123383 } },
123087123384 }, .{
123088123385 .required_features = .{ .avx, null, null, null },
123089 .dst_constraints = .{ .{ .int = .byte }, .any },
123090 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123386 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123387 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123388 .patterns = &.{
123389 .{ .src = .{ .to_sse, .none, .none } },
123390 },
123391 .extra_temps = .{
123392 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123393 .unused,
123394 .unused,
123395 .unused,
123396 .unused,
123397 .unused,
123398 .unused,
123399 .unused,
123400 .unused,
123401 .unused,
123402 .unused,
123403 },
123404 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123405 .each = .{ .once = &.{
123406 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123407 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
123408 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123409 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123410 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123411 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123412 } },
123413 }, .{
123414 .required_features = .{ .sse4_1, null, null, null },
123415 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123416 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123417 .patterns = &.{
123418 .{ .src = .{ .to_mut_sse, .none, .none } },
123419 },
123420 .extra_temps = .{
123421 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123422 .unused,
123423 .unused,
123424 .unused,
123425 .unused,
123426 .unused,
123427 .unused,
123428 .unused,
123429 .unused,
123430 .unused,
123431 .unused,
123432 },
123433 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123434 .each = .{ .once = &.{
123435 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123436 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123437 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123438 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123439 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123440 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123441 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123442 } },
123443 }, .{
123444 .required_features = .{ .sse2, null, null, null },
123445 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123446 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123447 .patterns = &.{
123448 .{ .src = .{ .to_mut_sse, .none, .none } },
123449 },
123450 .extra_temps = .{
123451 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123452 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123453 .unused,
123454 .unused,
123455 .unused,
123456 .unused,
123457 .unused,
123458 .unused,
123459 .unused,
123460 .unused,
123461 .unused,
123462 },
123463 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123464 .each = .{ .once = &.{
123465 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123466 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123467 .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ },
123468 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123469 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123470 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123471 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123472 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123473 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123474 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123475 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123476 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123477 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123478 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123479 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123480 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123481 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123482 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123483 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123484 } },
123485 }, .{
123486 .required_features = .{ .avx, null, null, null },
123487 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123488 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123091123489 .patterns = &.{
123092123490 .{ .src = .{ .to_sse, .none, .none } },
123093123491 },
......@@ -123106,19 +123504,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123106123504 },
123107123505 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123108123506 .each = .{ .once = &.{
123109 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
123110 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
123111 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
123112 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123113 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123114 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123507 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123508 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
123509 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123510 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123115123511 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123116 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123512 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123117123513 } },
123118123514 }, .{
123119123515 .required_features = .{ .sse2, null, null, null },
123120 .dst_constraints = .{ .{ .int = .byte }, .any },
123121 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123516 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123517 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123122123518 .patterns = &.{
123123123519 .{ .src = .{ .to_mut_sse, .none, .none } },
123124123520 },
......@@ -123137,27 +123533,147 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123137123533 },
123138123534 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123139123535 .each = .{ .once = &.{
123140 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
123141 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123142 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
123143 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123144 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123145 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
123146 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123536 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123537 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123538 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123539 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123147123540 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123148123541 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123149 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123542 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123150123543 } },
123151123544 }, .{
123152123545 .required_features = .{ .avx, null, null, null },
123153 .dst_constraints = .{ .{ .int = .byte }, .any },
123154 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123546 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123547 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123155123548 .patterns = &.{
123156123549 .{ .src = .{ .to_sse, .none, .none } },
123157123550 },
123158123551 .extra_temps = .{
123159123552 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123160123553 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123554 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123555 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123556 .unused,
123557 .unused,
123558 .unused,
123559 .unused,
123560 .unused,
123561 .unused,
123562 .unused,
123563 },
123564 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123565 .each = .{ .once = &.{
123566 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123567 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
123568 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123569 .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ },
123570 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123571 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123572 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123573 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123574 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123575 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123576 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
123577 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123578 } },
123579 }, .{
123580 .required_features = .{ .sse4_1, null, null, null },
123581 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123582 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123583 .patterns = &.{
123584 .{ .src = .{ .to_mut_sse, .none, .none } },
123585 },
123586 .extra_temps = .{
123587 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123588 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123589 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123590 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123591 .unused,
123592 .unused,
123593 .unused,
123594 .unused,
123595 .unused,
123596 .unused,
123597 .unused,
123598 },
123599 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123600 .each = .{ .once = &.{
123601 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123602 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
123603 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123604 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123605 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123606 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123607 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123608 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123609 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123610 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123611 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
123612 .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ },
123613 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
123614 } },
123615 }, .{
123616 .required_features = .{ .sse2, null, null, null },
123617 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123618 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123619 .patterns = &.{
123620 .{ .src = .{ .to_mut_sse, .none, .none } },
123621 },
123622 .extra_temps = .{
123623 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123624 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123625 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123626 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123627 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123628 .unused,
123629 .unused,
123630 .unused,
123631 .unused,
123632 .unused,
123633 .unused,
123634 },
123635 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123636 .each = .{ .once = &.{
123637 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123638 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
123639 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123640 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123641 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123642 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123643 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123644 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123645 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123646 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123647 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123648 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123649 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123650 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123651 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123652 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123653 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123654 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123655 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123656 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123657 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123658 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123659 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
123660 .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ },
123661 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
123662 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
123663 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
123664 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
123665 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
123666 } },
123667 }, .{
123668 .required_features = .{ .avx, null, null, null },
123669 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123670 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123671 .patterns = &.{
123672 .{ .src = .{ .to_sse, .none, .none } },
123673 },
123674 .extra_temps = .{
123675 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123676 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123161123677 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123162123678 .unused,
123163123679 .unused,
......@@ -123171,26 +123687,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123171123687 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123172123688 .each = .{ .once = &.{
123173123689 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123174 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
123175 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
123176 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123177 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123178 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123179 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
123180 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123690 .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ },
123691 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123692 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123693 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123694 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123695 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123696 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123181123697 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123182 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123698 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123183123699 } },
123184123700 }, .{
123185123701 .required_features = .{ .sse2, null, null, null },
123186 .dst_constraints = .{ .{ .int = .byte }, .any },
123187 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123702 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123703 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123188123704 .patterns = &.{
123189123705 .{ .src = .{ .to_mut_sse, .none, .none } },
123190123706 },
123191123707 .extra_temps = .{
123192123708 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123193 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123709 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123194123710 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123195123711 .unused,
123196123712 .unused,
......@@ -123204,27 +123720,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123204123720 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123205123721 .each = .{ .once = &.{
123206123722 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123207 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
123208 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
123209 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123210 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123211 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123212 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123213 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
123214 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123723 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123724 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123725 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123726 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123727 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123728 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123729 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123215123730 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123216123731 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
123217 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123732 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123218123733 } },
123219123734 }, .{
123220 .required_features = .{ .avx2, null, null, null },
123221 .dst_constraints = .{ .{ .int = .byte }, .any },
123222 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123735 .required_features = .{ .avx, null, null, null },
123736 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123737 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123223123738 .patterns = &.{
123224123739 .{ .src = .{ .to_sse, .none, .none } },
123225123740 },
123226123741 .extra_temps = .{
123227 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123742 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123228123743 .unused,
123229123744 .unused,
123230123745 .unused,
......@@ -123238,21 +123753,99 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123238123753 },
123239123754 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123240123755 .each = .{ .once = &.{
123241 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
123242 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
123243 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
123244 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123245 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
123246 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123247 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123248 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123756 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123757 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
123758 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123759 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123760 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123761 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123249123762 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123250 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123763 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123764 } },
123765 }, .{
123766 .required_features = .{ .sse4_1, null, null, null },
123767 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123768 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123769 .patterns = &.{
123770 .{ .src = .{ .to_mut_sse, .none, .none } },
123771 },
123772 .extra_temps = .{
123773 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123774 .unused,
123775 .unused,
123776 .unused,
123777 .unused,
123778 .unused,
123779 .unused,
123780 .unused,
123781 .unused,
123782 .unused,
123783 .unused,
123784 },
123785 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123786 .each = .{ .once = &.{
123787 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123788 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123789 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123790 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123791 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123792 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123793 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123794 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123795 .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ },
123796 } },
123797 }, .{
123798 .required_features = .{ .sse2, null, null, null },
123799 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123800 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123801 .patterns = &.{
123802 .{ .src = .{ .to_mut_sse, .none, .none } },
123803 },
123804 .extra_temps = .{
123805 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123806 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123807 .unused,
123808 .unused,
123809 .unused,
123810 .unused,
123811 .unused,
123812 .unused,
123813 .unused,
123814 .unused,
123815 .unused,
123816 },
123817 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123818 .each = .{ .once = &.{
123819 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123820 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123821 .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ },
123822 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123823 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123824 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123825 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123826 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123827 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123828 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123829 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123830 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123831 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123832 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123833 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123834 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123835 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123836 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123837 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123838 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123839 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
123840 .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ },
123841 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
123842 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
123843 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
123251123844 } },
123252123845 }, .{
123253123846 .required_features = .{ .avx, null, null, null },
123254 .dst_constraints = .{ .{ .int = .byte }, .any },
123255 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123847 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123848 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123256123849 .patterns = &.{
123257123850 .{ .src = .{ .to_sse, .none, .none } },
123258123851 },
......@@ -123271,27 +123864,131 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123271123864 },
123272123865 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123273123866 .each = .{ .once = &.{
123274 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
123275 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
123276 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
123277 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123278 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
123279 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123280 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123281 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123867 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123868 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
123869 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123870 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123871 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123872 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123282123873 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123283 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123874 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123875 } },
123876 }, .{
123877 .required_features = .{ .sse2, null, null, null },
123878 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123879 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123880 .patterns = &.{
123881 .{ .src = .{ .to_mut_sse, .none, .none } },
123882 },
123883 .extra_temps = .{
123884 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123885 .unused,
123886 .unused,
123887 .unused,
123888 .unused,
123889 .unused,
123890 .unused,
123891 .unused,
123892 .unused,
123893 .unused,
123894 .unused,
123895 },
123896 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123897 .each = .{ .once = &.{
123898 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123899 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123900 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123901 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123902 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123903 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123904 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123905 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123906 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123284123907 } },
123285123908 }, .{
123286123909 .required_features = .{ .avx2, null, null, null },
123287 .dst_constraints = .{ .{ .int = .byte }, .any },
123288 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123910 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123911 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123912 .patterns = &.{
123913 .{ .src = .{ .to_sse, .none, .none } },
123914 },
123915 .extra_temps = .{
123916 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123917 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123918 .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123919 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123920 .unused,
123921 .unused,
123922 .unused,
123923 .unused,
123924 .unused,
123925 .unused,
123926 .unused,
123927 },
123928 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123929 .each = .{ .once = &.{
123930 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123931 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
123932 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123933 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
123934 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
123935 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123936 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123937 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123938 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123939 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123940 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123941 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123942 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
123943 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123944 } },
123945 }, .{
123946 .required_features = .{ .avx, null, null, null },
123947 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123948 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123289123949 .patterns = &.{
123290123950 .{ .src = .{ .to_sse, .none, .none } },
123291123951 },
123292123952 .extra_temps = .{
123293123953 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123294123954 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
123955 .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
123956 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123957 .unused,
123958 .unused,
123959 .unused,
123960 .unused,
123961 .unused,
123962 .unused,
123963 .unused,
123964 },
123965 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123966 .each = .{ .once = &.{
123967 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123968 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
123969 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
123970 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
123971 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
123972 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123973 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123974 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123975 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
123976 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123977 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
123978 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123979 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
123980 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
123981 } },
123982 }, .{
123983 .required_features = .{ .avx2, null, null, null },
123984 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123985 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123986 .patterns = &.{
123987 .{ .src = .{ .to_sse, .none, .none } },
123988 },
123989 .extra_temps = .{
123990 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123991 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123295123992 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123296123993 .unused,
123297123994 .unused,
......@@ -123305,28 +124002,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123305124002 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123306124003 .each = .{ .once = &.{
123307124004 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123308 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
124005 .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
123309124006 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123310 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123311 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
123312 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123313 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123314 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123315 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
123316 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
124007 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124008 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124009 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124010 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124011 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124012 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124013 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123317124014 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123318 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
124015 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123319124016 } },
123320124017 }, .{
123321124018 .required_features = .{ .avx, null, null, null },
123322 .dst_constraints = .{ .{ .int = .byte }, .any },
123323 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124019 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124020 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123324124021 .patterns = &.{
123325124022 .{ .src = .{ .to_sse, .none, .none } },
123326124023 },
123327124024 .extra_temps = .{
123328124025 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123329 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124026 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123330124027 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123331124028 .unused,
123332124029 .unused,
......@@ -123340,24 +124037,90 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123340124037 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123341124038 .each = .{ .once = &.{
123342124039 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123343 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
124040 .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
123344124041 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123345 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123346 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
123347 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123348 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123349 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123350 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
123351 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
124042 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124043 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124044 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124045 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124046 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124047 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124048 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123352124049 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123353 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
124050 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123354124051 } },
123355124052 }, .{
123356 .required_features = .{ .avx512f, null, null, null },
123357 .dst_constraints = .{ .{ .int = .byte }, .any },
123358 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124053 .required_features = .{ .avx2, null, null, null },
124054 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124055 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123359124056 .patterns = &.{
123360 .{ .src = .{ .to_mem, .none, .none } },
124057 .{ .src = .{ .to_sse, .none, .none } },
124058 },
124059 .extra_temps = .{
124060 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124061 .unused,
124062 .unused,
124063 .unused,
124064 .unused,
124065 .unused,
124066 .unused,
124067 .unused,
124068 .unused,
124069 .unused,
124070 .unused,
124071 },
124072 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124073 .each = .{ .once = &.{
124074 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124075 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
124076 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124077 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124078 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124079 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124080 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124081 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124082 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
124083 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124084 } },
124085 }, .{
124086 .required_features = .{ .avx, null, null, null },
124087 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124088 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124089 .patterns = &.{
124090 .{ .src = .{ .to_sse, .none, .none } },
124091 },
124092 .extra_temps = .{
124093 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124094 .unused,
124095 .unused,
124096 .unused,
124097 .unused,
124098 .unused,
124099 .unused,
124100 .unused,
124101 .unused,
124102 .unused,
124103 .unused,
124104 },
124105 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124106 .each = .{ .once = &.{
124107 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124108 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
124109 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124110 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124111 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124112 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124113 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124114 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124115 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
124116 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124117 } },
124118 }, .{
124119 .required_features = .{ .avx2, null, null, null },
124120 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124121 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124122 .patterns = &.{
124123 .{ .src = .{ .to_sse, .none, .none } },
123361124124 },
123362124125 .extra_temps = .{
123363124126 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
......@@ -123372,31 +124135,104 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123372124135 .unused,
123373124136 .unused,
123374124137 },
123375 .dst_temps = .{ .{ .rc = .sse }, .unused },
124138 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123376124139 .each = .{ .once = &.{
123377 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
123378 .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
123379 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
123380 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123381 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
123382 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123383 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
123384 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123385 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123386 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
124140 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124141 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
124142 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124143 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124144 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124145 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124146 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124147 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123387124148 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123388 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
124149 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124150 } },
124151 }, .{
124152 .required_features = .{ .avx, null, null, null },
124153 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124154 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124155 .patterns = &.{
124156 .{ .src = .{ .to_sse, .none, .none } },
124157 },
124158 .extra_temps = .{
124159 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124160 .unused,
124161 .unused,
124162 .unused,
124163 .unused,
124164 .unused,
124165 .unused,
124166 .unused,
124167 .unused,
124168 .unused,
124169 .unused,
124170 },
124171 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124172 .each = .{ .once = &.{
124173 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124174 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
124175 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124176 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124177 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124178 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124179 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124180 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124181 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
124182 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123389124183 } },
123390124184 }, .{
123391124185 .required_features = .{ .avx512f, null, null, null },
123392 .dst_constraints = .{ .{ .int = .byte }, .any },
123393 .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124186 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124187 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any },
123394124188 .patterns = &.{
123395124189 .{ .src = .{ .to_mem, .none, .none } },
123396124190 },
123397124191 .extra_temps = .{
123398124192 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123399124193 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124194 .{ .type = .vector_64_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
124195 .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } },
124196 .unused,
124197 .unused,
124198 .unused,
124199 .unused,
124200 .unused,
124201 .unused,
124202 .unused,
124203 },
124204 .dst_temps = .{ .{ .rc = .sse }, .unused },
124205 .each = .{ .once = &.{
124206 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124207 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
124208 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
124209 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
124210 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ },
124211 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ },
124212 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
124213 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
124214 .{ ._, .vp_b, .mins, .dst0y, .dst0y, .tmp3y, ._ },
124215 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
124216 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124217 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124218 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124219 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124220 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124221 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
124222 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124223 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
124224 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124225 } },
124226 }, .{
124227 .required_features = .{ .avx512f, null, null, null },
124228 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124229 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124230 .patterns = &.{
124231 .{ .src = .{ .to_mem, .none, .none } },
124232 },
124233 .extra_temps = .{
124234 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
124235 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
123400124236 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
123401124237 .unused,
123402124238 .unused,
......@@ -123410,26 +124246,269 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123410124246 .dst_temps = .{ .{ .rc = .sse }, .unused },
123411124247 .each = .{ .once = &.{
123412124248 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123413 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
123414 .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ },
123415 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ },
123416 .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ },
123417 .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ },
124249 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
124250 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
124251 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ },
124252 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ },
124253 .{ ._, .vp_b, .minu, .dst0y, .dst0y, .tmp2y, ._ },
123418124254 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123419 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123420 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
123421 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123422 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
123423 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123424 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
123425 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
124255 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124256 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124257 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124258 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124259 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124260 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124261 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123426124262 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123427 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
124263 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124264 } },
124265 }, .{
124266 .required_features = .{ .avx512f, null, null, null },
124267 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124268 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124269 .patterns = &.{
124270 .{ .src = .{ .to_mem, .none, .none } },
124271 },
124272 .extra_temps = .{
124273 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124274 .unused,
124275 .unused,
124276 .unused,
124277 .unused,
124278 .unused,
124279 .unused,
124280 .unused,
124281 .unused,
124282 .unused,
124283 .unused,
124284 },
124285 .dst_temps = .{ .{ .rc = .sse }, .unused },
124286 .each = .{ .once = &.{
124287 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
124288 .{ ._, .vp_b, .mins, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
124289 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
124290 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124291 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124292 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124293 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124294 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124295 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124296 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124297 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
124298 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
124299 } },
124300 }, .{
124301 .required_features = .{ .avx512f, null, null, null },
124302 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124303 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124304 .patterns = &.{
124305 .{ .src = .{ .to_mem, .none, .none } },
124306 },
124307 .extra_temps = .{
124308 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124309 .unused,
124310 .unused,
124311 .unused,
124312 .unused,
124313 .unused,
124314 .unused,
124315 .unused,
124316 .unused,
124317 .unused,
124318 .unused,
124319 },
124320 .dst_temps = .{ .{ .rc = .sse }, .unused },
124321 .each = .{ .once = &.{
124322 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
124323 .{ ._, .vp_b, .minu, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
124324 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
124325 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124326 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124327 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124328 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124329 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124330 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124331 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
124332 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
124333 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123428124334 } },
123429124335 }, .{
123430124336 .required_features = .{ .avx2, null, null, null },
123431 .dst_constraints = .{ .{ .int = .byte }, .any },
123432 .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124337 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124338 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124339 .patterns = &.{
124340 .{ .src = .{ .to_mem, .none, .none } },
124341 },
124342 .extra_temps = .{
124343 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124344 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124345 .unused,
124346 .unused,
124347 .unused,
124348 .unused,
124349 .unused,
124350 .unused,
124351 .unused,
124352 .unused,
124353 .unused,
124354 },
124355 .dst_temps = .{ .{ .rc = .sse }, .unused },
124356 .clobbers = .{ .eflags = true },
124357 .each = .{ .once = &.{
124358 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
124359 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
124360 .{ .@"0:", .vp_b, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
124361 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
124362 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124363 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
124364 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124365 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124366 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124367 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124368 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124369 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124370 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124371 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
124372 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124373 } },
124374 }, .{
124375 .required_features = .{ .avx, null, null, null },
124376 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124377 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124378 .patterns = &.{
124379 .{ .src = .{ .to_mem, .none, .none } },
124380 },
124381 .extra_temps = .{
124382 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124383 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124384 .unused,
124385 .unused,
124386 .unused,
124387 .unused,
124388 .unused,
124389 .unused,
124390 .unused,
124391 .unused,
124392 .unused,
124393 },
124394 .dst_temps = .{ .{ .rc = .sse }, .unused },
124395 .clobbers = .{ .eflags = true },
124396 .each = .{ .once = &.{
124397 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
124398 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
124399 .{ .@"0:", .vp_b, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124400 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124401 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124402 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124403 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124404 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124405 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124406 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124407 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124408 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
124409 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ },
124410 } },
124411 }, .{
124412 .required_features = .{ .sse4_1, null, null, null },
124413 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124414 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124415 .patterns = &.{
124416 .{ .src = .{ .to_mem, .none, .none } },
124417 },
124418 .extra_temps = .{
124419 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124420 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124421 .unused,
124422 .unused,
124423 .unused,
124424 .unused,
124425 .unused,
124426 .unused,
124427 .unused,
124428 .unused,
124429 .unused,
124430 },
124431 .dst_temps = .{ .{ .rc = .sse }, .unused },
124432 .clobbers = .{ .eflags = true },
124433 .each = .{ .once = &.{
124434 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
124435 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
124436 .{ .@"0:", .p_b, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124437 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124438 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124439 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124440 .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ },
124441 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124442 .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ },
124443 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124444 .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ },
124445 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
124446 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
124447 .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ },
124448 } },
124449 }, .{
124450 .required_features = .{ .sse2, null, null, null },
124451 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124452 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124453 .patterns = &.{
124454 .{ .src = .{ .to_mem, .none, .none } },
124455 },
124456 .extra_temps = .{
124457 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124458 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124459 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124460 .unused,
124461 .unused,
124462 .unused,
124463 .unused,
124464 .unused,
124465 .unused,
124466 .unused,
124467 .unused,
124468 },
124469 .dst_temps = .{ .{ .rc = .sse }, .unused },
124470 .clobbers = .{ .eflags = true },
124471 .each = .{ .once = &.{
124472 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
124473 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
124474 .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ },
124475 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
124476 .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ },
124477 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
124478 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
124479 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
124480 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124481 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124482 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124483 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
124484 .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ },
124485 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
124486 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
124487 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
124488 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124489 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
124490 .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ },
124491 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
124492 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
124493 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
124494 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124495 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
124496 .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ },
124497 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
124498 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
124499 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
124500 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
124501 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
124502 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
124503 .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ },
124504 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
124505 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
124506 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
124507 } },
124508 }, .{
124509 .required_features = .{ .avx2, null, null, null },
124510 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124511 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123433124512 .patterns = &.{
123434124513 .{ .src = .{ .to_mem, .none, .none } },
123435124514 },
......@@ -123451,24 +124530,6434 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123451124530 .each = .{ .once = &.{
123452124531 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
123453124532 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
123454 .{ .@"0:", .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
124533 .{ .@"0:", .vp_b, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
123455124534 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
123456124535 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123457124536 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
123458 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123459 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
123460 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123461 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
123462 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123463 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
123464 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
124537 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124538 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124539 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124540 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124541 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124542 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124543 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123465124544 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
123466 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
124545 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123467124546 } },
123468124547 }, .{
123469124548 .required_features = .{ .avx, null, null, null },
123470 .dst_constraints = .{ .{ .int = .byte }, .any },
123471 .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124549 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124550 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124551 .patterns = &.{
124552 .{ .src = .{ .to_mem, .none, .none } },
124553 },
124554 .extra_temps = .{
124555 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124556 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124557 .unused,
124558 .unused,
124559 .unused,
124560 .unused,
124561 .unused,
124562 .unused,
124563 .unused,
124564 .unused,
124565 .unused,
124566 },
124567 .dst_temps = .{ .{ .rc = .sse }, .unused },
124568 .clobbers = .{ .eflags = true },
124569 .each = .{ .once = &.{
124570 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
124571 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
124572 .{ .@"0:", .vp_b, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124573 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124574 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124575 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124576 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124577 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124578 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124579 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124580 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124581 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
124582 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
124583 } },
124584 }, .{
124585 .required_features = .{ .sse2, null, null, null },
124586 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124587 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124588 .patterns = &.{
124589 .{ .src = .{ .to_mem, .none, .none } },
124590 },
124591 .extra_temps = .{
124592 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124593 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124594 .unused,
124595 .unused,
124596 .unused,
124597 .unused,
124598 .unused,
124599 .unused,
124600 .unused,
124601 .unused,
124602 .unused,
124603 },
124604 .dst_temps = .{ .{ .rc = .sse }, .unused },
124605 .clobbers = .{ .eflags = true },
124606 .each = .{ .once = &.{
124607 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
124608 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
124609 .{ .@"0:", .p_b, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124610 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124611 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124612 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124613 .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ },
124614 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124615 .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ },
124616 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124617 .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ },
124618 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
124619 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
124620 .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ },
124621 } },
124622 }, .{
124623 .required_features = .{ .avx512f, null, null, null },
124624 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124625 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124626 .patterns = &.{
124627 .{ .src = .{ .to_mem, .none, .none } },
124628 },
124629 .extra_temps = .{
124630 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124631 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124632 .{ .type = .vector_64_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
124633 .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } },
124634 .unused,
124635 .unused,
124636 .unused,
124637 .unused,
124638 .unused,
124639 .unused,
124640 .unused,
124641 },
124642 .dst_temps = .{ .{ .rc = .sse }, .unused },
124643 .clobbers = .{ .eflags = true },
124644 .each = .{ .once = &.{
124645 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124646 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
124647 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
124648 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
124649 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ },
124650 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
124651 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
124652 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
124653 .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
124654 .{ .@"0:", .vp_b, .mins, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ },
124655 .{ ._, .vp_b, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
124656 .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
124657 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124658 .{ ._, .vp_b, .mins, .dst0y, .dst0y, .tmp3y, ._ },
124659 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
124660 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124661 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124662 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124663 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124664 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124665 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
124666 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124667 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
124668 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124669 } },
124670 }, .{
124671 .required_features = .{ .avx2, null, null, null },
124672 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124673 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124674 .patterns = &.{
124675 .{ .src = .{ .to_mem, .none, .none } },
124676 },
124677 .extra_temps = .{
124678 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124679 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124680 .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
124681 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124682 .unused,
124683 .unused,
124684 .unused,
124685 .unused,
124686 .unused,
124687 .unused,
124688 .unused,
124689 },
124690 .dst_temps = .{ .{ .rc = .sse }, .unused },
124691 .clobbers = .{ .eflags = true },
124692 .each = .{ .once = &.{
124693 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124694 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
124695 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
124696 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
124697 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
124698 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
124699 .{ .@"0:", .vp_b, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
124700 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
124701 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124702 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
124703 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124704 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124705 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124706 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124707 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124708 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
124709 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124710 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
124711 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124712 } },
124713 }, .{
124714 .required_features = .{ .avx, null, null, null },
124715 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124716 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124717 .patterns = &.{
124718 .{ .src = .{ .to_mem, .none, .none } },
124719 },
124720 .extra_temps = .{
124721 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124722 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124723 .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
124724 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124725 .unused,
124726 .unused,
124727 .unused,
124728 .unused,
124729 .unused,
124730 .unused,
124731 .unused,
124732 },
124733 .dst_temps = .{ .{ .rc = .sse }, .unused },
124734 .clobbers = .{ .eflags = true },
124735 .each = .{ .once = &.{
124736 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124737 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
124738 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
124739 .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
124740 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
124741 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
124742 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
124743 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124744 .{ .@"0:", .vp_b, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124745 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124746 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124747 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124748 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124749 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124750 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124751 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
124752 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124753 .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ },
124754 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ },
124755 } },
124756 }, .{
124757 .required_features = .{ .sse4_1, null, null, null },
124758 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124759 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124760 .patterns = &.{
124761 .{ .src = .{ .to_mem, .none, .none } },
124762 },
124763 .extra_temps = .{
124764 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124765 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124766 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
124767 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124768 .unused,
124769 .unused,
124770 .unused,
124771 .unused,
124772 .unused,
124773 .unused,
124774 .unused,
124775 },
124776 .dst_temps = .{ .{ .rc = .sse }, .unused },
124777 .clobbers = .{ .eflags = true },
124778 .each = .{ .once = &.{
124779 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124780 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
124781 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
124782 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
124783 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
124784 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
124785 .{ .@"0:", .p_b, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124786 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124787 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124788 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124789 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
124790 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124791 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
124792 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
124793 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
124794 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
124795 .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ },
124796 .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ },
124797 } },
124798 }, .{
124799 .required_features = .{ .sse2, null, null, null },
124800 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
124801 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124802 .patterns = &.{
124803 .{ .src = .{ .to_mem, .none, .none } },
124804 },
124805 .extra_temps = .{
124806 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124807 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
124808 .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
124809 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124810 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
124811 .unused,
124812 .unused,
124813 .unused,
124814 .unused,
124815 .unused,
124816 .unused,
124817 },
124818 .dst_temps = .{ .{ .rc = .sse }, .unused },
124819 .clobbers = .{ .eflags = true },
124820 .each = .{ .once = &.{
124821 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124822 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
124823 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
124824 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
124825 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
124826 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
124827 .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ },
124828 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
124829 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
124830 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
124831 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
124832 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
124833 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124834 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124835 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124836 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
124837 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
124838 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
124839 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
124840 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
124841 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
124842 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
124843 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
124844 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
124845 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
124846 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
124847 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
124848 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
124849 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
124850 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
124851 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
124852 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
124853 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
124854 .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ },
124855 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
124856 .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ },
124857 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
124858 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
124859 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
124860 } },
124861 }, .{
124862 .required_features = .{ .avx512f, null, null, null },
124863 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124864 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any },
124865 .patterns = &.{
124866 .{ .src = .{ .to_mem, .none, .none } },
124867 },
124868 .extra_temps = .{
124869 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124870 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
124871 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
124872 .unused,
124873 .unused,
124874 .unused,
124875 .unused,
124876 .unused,
124877 .unused,
124878 .unused,
124879 .unused,
124880 },
124881 .dst_temps = .{ .{ .rc = .sse }, .unused },
124882 .clobbers = .{ .eflags = true },
124883 .each = .{ .once = &.{
124884 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124885 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
124886 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
124887 .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
124888 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
124889 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
124890 .{ .@"0:", .vp_b, .minu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ },
124891 .{ ._, .vp_b, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
124892 .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
124893 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124894 .{ ._, .vp_b, .minu, .dst0y, .dst0y, .tmp2y, ._ },
124895 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124896 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124897 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124898 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124899 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124900 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124901 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124902 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124903 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
124904 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124905 } },
124906 }, .{
124907 .required_features = .{ .avx2, null, null, null },
124908 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124909 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124910 .patterns = &.{
124911 .{ .src = .{ .to_mem, .none, .none } },
124912 },
124913 .extra_temps = .{
124914 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124915 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
124916 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124917 .unused,
124918 .unused,
124919 .unused,
124920 .unused,
124921 .unused,
124922 .unused,
124923 .unused,
124924 .unused,
124925 },
124926 .dst_temps = .{ .{ .rc = .sse }, .unused },
124927 .clobbers = .{ .eflags = true },
124928 .each = .{ .once = &.{
124929 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124930 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
124931 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
124932 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
124933 .{ .@"0:", .vp_b, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
124934 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
124935 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124936 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124937 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124938 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124939 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124940 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124941 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124942 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124943 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124944 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
124945 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124946 } },
124947 }, .{
124948 .required_features = .{ .avx, null, null, null },
124949 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124950 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
124951 .patterns = &.{
124952 .{ .src = .{ .to_mem, .none, .none } },
124953 },
124954 .extra_temps = .{
124955 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124956 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
124957 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124958 .unused,
124959 .unused,
124960 .unused,
124961 .unused,
124962 .unused,
124963 .unused,
124964 .unused,
124965 .unused,
124966 },
124967 .dst_temps = .{ .{ .rc = .sse }, .unused },
124968 .clobbers = .{ .eflags = true },
124969 .each = .{ .once = &.{
124970 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124971 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
124972 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
124973 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
124974 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124975 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124976 .{ .@"0:", .vp_b, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124977 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124978 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124979 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124980 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124981 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124982 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124983 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124984 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124985 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
124986 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
124987 } },
124988 }, .{
124989 .required_features = .{ .sse2, null, null, null },
124990 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
124991 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
124992 .patterns = &.{
124993 .{ .src = .{ .to_mem, .none, .none } },
124994 },
124995 .extra_temps = .{
124996 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
124997 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
124998 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
124999 .unused,
125000 .unused,
125001 .unused,
125002 .unused,
125003 .unused,
125004 .unused,
125005 .unused,
125006 .unused,
125007 },
125008 .dst_temps = .{ .{ .rc = .sse }, .unused },
125009 .clobbers = .{ .eflags = true },
125010 .each = .{ .once = &.{
125011 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125012 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
125013 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
125014 .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
125015 .{ .@"0:", .p_b, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
125016 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125017 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125018 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125019 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
125020 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125021 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
125022 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
125023 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
125024 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
125025 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
125026 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
125027 } },
125028 }, .{
125029 .required_features = .{ .cmov, .slow_incdec, null, null },
125030 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
125031 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125032 .patterns = &.{
125033 .{ .src = .{ .to_mem, .none, .none } },
125034 },
125035 .extra_temps = .{
125036 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125037 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
125038 .unused,
125039 .unused,
125040 .unused,
125041 .unused,
125042 .unused,
125043 .unused,
125044 .unused,
125045 .unused,
125046 .unused,
125047 },
125048 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125049 .clobbers = .{ .eflags = true },
125050 .each = .{ .once = &.{
125051 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125052 .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125053 .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125054 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125055 .{ ._, ._g, .cmov, .dst0d, .tmp1d, ._, ._ },
125056 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
125057 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125058 } },
125059 }, .{
125060 .required_features = .{ .cmov, null, null, null },
125061 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
125062 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125063 .patterns = &.{
125064 .{ .src = .{ .to_mem, .none, .none } },
125065 },
125066 .extra_temps = .{
125067 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125068 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
125069 .unused,
125070 .unused,
125071 .unused,
125072 .unused,
125073 .unused,
125074 .unused,
125075 .unused,
125076 .unused,
125077 .unused,
125078 },
125079 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125080 .clobbers = .{ .eflags = true },
125081 .each = .{ .once = &.{
125082 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125083 .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125084 .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125085 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125086 .{ ._, ._g, .cmov, .dst0d, .tmp1d, ._, ._ },
125087 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
125088 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
125089 } },
125090 }, .{
125091 .required_features = .{ .slow_incdec, null, null, null },
125092 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
125093 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125094 .patterns = &.{
125095 .{ .src = .{ .to_mem, .none, .none } },
125096 },
125097 .extra_temps = .{
125098 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125099 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
125100 .unused,
125101 .unused,
125102 .unused,
125103 .unused,
125104 .unused,
125105 .unused,
125106 .unused,
125107 .unused,
125108 .unused,
125109 },
125110 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125111 .clobbers = .{ .eflags = true },
125112 .each = .{ .once = &.{
125113 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125114 .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125115 .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125116 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125117 .{ ._, ._ng, .j, .@"1f", ._, ._, ._ },
125118 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
125119 .{ .@"1:", ._, .sub, .tmp0d, .si(1), ._, ._ },
125120 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125121 } },
125122 }, .{
125123 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
125124 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125125 .patterns = &.{
125126 .{ .src = .{ .to_mem, .none, .none } },
125127 },
125128 .extra_temps = .{
125129 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125130 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
125131 .unused,
125132 .unused,
125133 .unused,
125134 .unused,
125135 .unused,
125136 .unused,
125137 .unused,
125138 .unused,
125139 .unused,
125140 },
125141 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125142 .clobbers = .{ .eflags = true },
125143 .each = .{ .once = &.{
125144 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125145 .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125146 .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125147 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125148 .{ ._, ._ng, .j, .@"1f", ._, ._, ._ },
125149 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
125150 .{ .@"1:", ._c, .de, .tmp0d, ._, ._, ._ },
125151 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
125152 } },
125153 }, .{
125154 .required_features = .{ .cmov, .slow_incdec, null, null },
125155 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
125156 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125157 .patterns = &.{
125158 .{ .src = .{ .to_mem, .none, .none } },
125159 },
125160 .extra_temps = .{
125161 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125162 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
125163 .unused,
125164 .unused,
125165 .unused,
125166 .unused,
125167 .unused,
125168 .unused,
125169 .unused,
125170 .unused,
125171 .unused,
125172 },
125173 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125174 .clobbers = .{ .eflags = true },
125175 .each = .{ .once = &.{
125176 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125177 .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125178 .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125179 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125180 .{ ._, ._a, .cmov, .dst0d, .tmp1d, ._, ._ },
125181 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
125182 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125183 } },
125184 }, .{
125185 .required_features = .{ .cmov, null, null, null },
125186 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
125187 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125188 .patterns = &.{
125189 .{ .src = .{ .to_mem, .none, .none } },
125190 },
125191 .extra_temps = .{
125192 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125193 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
125194 .unused,
125195 .unused,
125196 .unused,
125197 .unused,
125198 .unused,
125199 .unused,
125200 .unused,
125201 .unused,
125202 .unused,
125203 },
125204 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125205 .clobbers = .{ .eflags = true },
125206 .each = .{ .once = &.{
125207 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125208 .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125209 .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125210 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125211 .{ ._, ._a, .cmov, .dst0d, .tmp1d, ._, ._ },
125212 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
125213 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
125214 } },
125215 }, .{
125216 .required_features = .{ .slow_incdec, null, null, null },
125217 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
125218 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125219 .patterns = &.{
125220 .{ .src = .{ .to_mem, .none, .none } },
125221 },
125222 .extra_temps = .{
125223 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125224 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
125225 .unused,
125226 .unused,
125227 .unused,
125228 .unused,
125229 .unused,
125230 .unused,
125231 .unused,
125232 .unused,
125233 .unused,
125234 },
125235 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125236 .clobbers = .{ .eflags = true },
125237 .each = .{ .once = &.{
125238 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125239 .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125240 .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125241 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125242 .{ ._, ._na, .j, .@"1f", ._, ._, ._ },
125243 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
125244 .{ .@"1:", ._, .sub, .tmp0d, .si(1), ._, ._ },
125245 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125246 } },
125247 }, .{
125248 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
125249 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
125250 .patterns = &.{
125251 .{ .src = .{ .to_mem, .none, .none } },
125252 },
125253 .extra_temps = .{
125254 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
125255 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
125256 .unused,
125257 .unused,
125258 .unused,
125259 .unused,
125260 .unused,
125261 .unused,
125262 .unused,
125263 .unused,
125264 .unused,
125265 },
125266 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
125267 .clobbers = .{ .eflags = true },
125268 .each = .{ .once = &.{
125269 .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ },
125270 .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ },
125271 .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ },
125272 .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ },
125273 .{ ._, ._na, .j, .@"1f", ._, ._, ._ },
125274 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
125275 .{ .@"1:", ._c, .de, .tmp0d, ._, ._, ._ },
125276 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
125277 } },
125278 }, .{
125279 .required_features = .{ .avx, null, null, null },
125280 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125281 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
125282 .patterns = &.{
125283 .{ .src = .{ .to_sse, .none, .none } },
125284 },
125285 .extra_temps = .{
125286 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125287 .unused,
125288 .unused,
125289 .unused,
125290 .unused,
125291 .unused,
125292 .unused,
125293 .unused,
125294 .unused,
125295 .unused,
125296 .unused,
125297 },
125298 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125299 .each = .{ .once = &.{
125300 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125301 .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ },
125302 } },
125303 }, .{
125304 .required_features = .{ .sse2, null, null, null },
125305 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125306 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
125307 .patterns = &.{
125308 .{ .src = .{ .to_mut_sse, .none, .none } },
125309 },
125310 .extra_temps = .{
125311 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125312 .unused,
125313 .unused,
125314 .unused,
125315 .unused,
125316 .unused,
125317 .unused,
125318 .unused,
125319 .unused,
125320 .unused,
125321 .unused,
125322 },
125323 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125324 .each = .{ .once = &.{
125325 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125326 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125327 } },
125328 }, .{
125329 .required_features = .{ .avx, null, null, null },
125330 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125331 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
125332 .patterns = &.{
125333 .{ .src = .{ .to_sse, .none, .none } },
125334 },
125335 .extra_temps = .{
125336 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125337 .unused,
125338 .unused,
125339 .unused,
125340 .unused,
125341 .unused,
125342 .unused,
125343 .unused,
125344 .unused,
125345 .unused,
125346 .unused,
125347 },
125348 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125349 .each = .{ .once = &.{
125350 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125351 .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ },
125352 } },
125353 }, .{
125354 .required_features = .{ .sse4_1, null, null, null },
125355 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125356 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
125357 .patterns = &.{
125358 .{ .src = .{ .to_mut_sse, .none, .none } },
125359 },
125360 .extra_temps = .{
125361 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125362 .unused,
125363 .unused,
125364 .unused,
125365 .unused,
125366 .unused,
125367 .unused,
125368 .unused,
125369 .unused,
125370 .unused,
125371 .unused,
125372 },
125373 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125374 .each = .{ .once = &.{
125375 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125376 .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ },
125377 } },
125378 }, .{
125379 .required_features = .{ .sse2, null, null, null },
125380 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125381 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
125382 .patterns = &.{
125383 .{ .src = .{ .to_mut_sse, .none, .none } },
125384 },
125385 .extra_temps = .{
125386 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125387 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125388 .unused,
125389 .unused,
125390 .unused,
125391 .unused,
125392 .unused,
125393 .unused,
125394 .unused,
125395 .unused,
125396 .unused,
125397 },
125398 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125399 .each = .{ .once = &.{
125400 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125401 .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ },
125402 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
125403 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
125404 } },
125405 }, .{
125406 .required_features = .{ .avx, null, null, null },
125407 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125408 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
125409 .patterns = &.{
125410 .{ .src = .{ .to_sse, .none, .none } },
125411 },
125412 .extra_temps = .{
125413 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125414 .unused,
125415 .unused,
125416 .unused,
125417 .unused,
125418 .unused,
125419 .unused,
125420 .unused,
125421 .unused,
125422 .unused,
125423 .unused,
125424 },
125425 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125426 .each = .{ .once = &.{
125427 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125428 .{ ._, .vp_w, .mins, .tmp0x, .src0x, .tmp0x, ._ },
125429 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125430 .{ ._, .vp_w, .mins, .dst0x, .tmp0x, .dst0x, ._ },
125431 } },
125432 }, .{
125433 .required_features = .{ .sse2, null, null, null },
125434 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125435 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
125436 .patterns = &.{
125437 .{ .src = .{ .to_sse, .none, .none } },
125438 },
125439 .extra_temps = .{
125440 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125441 .unused,
125442 .unused,
125443 .unused,
125444 .unused,
125445 .unused,
125446 .unused,
125447 .unused,
125448 .unused,
125449 .unused,
125450 .unused,
125451 },
125452 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125453 .each = .{ .once = &.{
125454 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125455 .{ ._, .p_w, .mins, .tmp0x, .src0x, ._, ._ },
125456 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125457 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125458 } },
125459 }, .{
125460 .required_features = .{ .avx, null, null, null },
125461 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125462 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
125463 .patterns = &.{
125464 .{ .src = .{ .to_sse, .none, .none } },
125465 },
125466 .extra_temps = .{
125467 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125468 .unused,
125469 .unused,
125470 .unused,
125471 .unused,
125472 .unused,
125473 .unused,
125474 .unused,
125475 .unused,
125476 .unused,
125477 .unused,
125478 },
125479 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125480 .each = .{ .once = &.{
125481 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125482 .{ ._, .vp_w, .minu, .tmp0x, .src0x, .tmp0x, ._ },
125483 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125484 .{ ._, .vp_w, .minu, .dst0x, .tmp0x, .dst0x, ._ },
125485 } },
125486 }, .{
125487 .required_features = .{ .sse4_1, null, null, null },
125488 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125489 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
125490 .patterns = &.{
125491 .{ .src = .{ .to_mut_sse, .none, .none } },
125492 },
125493 .extra_temps = .{
125494 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125495 .unused,
125496 .unused,
125497 .unused,
125498 .unused,
125499 .unused,
125500 .unused,
125501 .unused,
125502 .unused,
125503 .unused,
125504 .unused,
125505 },
125506 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125507 .each = .{ .once = &.{
125508 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125509 .{ ._, .p_w, .minu, .tmp0x, .src0x, ._, ._ },
125510 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125511 .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ },
125512 } },
125513 }, .{
125514 .required_features = .{ .sse2, null, null, null },
125515 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125516 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
125517 .patterns = &.{
125518 .{ .src = .{ .to_sse, .none, .none } },
125519 },
125520 .extra_temps = .{
125521 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125522 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125523 .unused,
125524 .unused,
125525 .unused,
125526 .unused,
125527 .unused,
125528 .unused,
125529 .unused,
125530 .unused,
125531 .unused,
125532 },
125533 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125534 .each = .{ .once = &.{
125535 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
125536 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
125537 .{ ._, .p_w, .subus, .tmp1x, .src0x, ._, ._ },
125538 .{ ._, .p_w, .sub, .tmp0x, .tmp1x, ._, ._ },
125539 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125540 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
125541 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
125542 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
125543 } },
125544 }, .{
125545 .required_features = .{ .avx, null, null, null },
125546 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125547 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
125548 .patterns = &.{
125549 .{ .src = .{ .to_sse, .none, .none } },
125550 },
125551 .extra_temps = .{
125552 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125553 .unused,
125554 .unused,
125555 .unused,
125556 .unused,
125557 .unused,
125558 .unused,
125559 .unused,
125560 .unused,
125561 .unused,
125562 .unused,
125563 },
125564 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125565 .each = .{ .once = &.{
125566 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125567 .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ },
125568 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
125569 .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp0x, ._ },
125570 } },
125571 }, .{
125572 .required_features = .{ .sse2, null, null, null },
125573 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125574 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
125575 .patterns = &.{
125576 .{ .src = .{ .to_mut_sse, .none, .none } },
125577 },
125578 .extra_temps = .{
125579 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125580 .unused,
125581 .unused,
125582 .unused,
125583 .unused,
125584 .unused,
125585 .unused,
125586 .unused,
125587 .unused,
125588 .unused,
125589 .unused,
125590 },
125591 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125592 .each = .{ .once = &.{
125593 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125594 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125595 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
125596 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125597 } },
125598 }, .{
125599 .required_features = .{ .avx, null, null, null },
125600 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125601 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
125602 .patterns = &.{
125603 .{ .src = .{ .to_sse, .none, .none } },
125604 },
125605 .extra_temps = .{
125606 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125607 .unused,
125608 .unused,
125609 .unused,
125610 .unused,
125611 .unused,
125612 .unused,
125613 .unused,
125614 .unused,
125615 .unused,
125616 .unused,
125617 },
125618 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125619 .each = .{ .once = &.{
125620 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125621 .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ },
125622 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
125623 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp0x, ._ },
125624 } },
125625 }, .{
125626 .required_features = .{ .sse4_1, null, null, null },
125627 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125628 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
125629 .patterns = &.{
125630 .{ .src = .{ .to_mut_sse, .none, .none } },
125631 },
125632 .extra_temps = .{
125633 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125634 .unused,
125635 .unused,
125636 .unused,
125637 .unused,
125638 .unused,
125639 .unused,
125640 .unused,
125641 .unused,
125642 .unused,
125643 .unused,
125644 },
125645 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125646 .each = .{ .once = &.{
125647 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125648 .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ },
125649 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
125650 .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ },
125651 } },
125652 }, .{
125653 .required_features = .{ .sse2, null, null, null },
125654 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125655 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
125656 .patterns = &.{
125657 .{ .src = .{ .to_mut_sse, .none, .none } },
125658 },
125659 .extra_temps = .{
125660 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125661 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125662 .unused,
125663 .unused,
125664 .unused,
125665 .unused,
125666 .unused,
125667 .unused,
125668 .unused,
125669 .unused,
125670 .unused,
125671 },
125672 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125673 .each = .{ .once = &.{
125674 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125675 .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ },
125676 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
125677 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
125678 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
125679 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
125680 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
125681 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
125682 } },
125683 }, .{
125684 .required_features = .{ .avx2, null, null, null },
125685 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125686 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125687 .patterns = &.{
125688 .{ .src = .{ .mem, .none, .none } },
125689 .{ .src = .{ .to_sse, .none, .none } },
125690 },
125691 .extra_temps = .{
125692 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125693 .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
125694 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125695 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
125696 .unused,
125697 .unused,
125698 .unused,
125699 .unused,
125700 .unused,
125701 .unused,
125702 .unused,
125703 },
125704 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125705 .each = .{ .once = &.{
125706 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125707 .{ ._, .vp_w, .broadcast, .tmp2x, .lea(.tmp0w), ._, ._ },
125708 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
125709 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },
125710 .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ },
125711 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125712 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
125713 } },
125714 }, .{
125715 .required_features = .{ .avx, null, null, null },
125716 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125717 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125718 .patterns = &.{
125719 .{ .src = .{ .mem, .none, .none } },
125720 .{ .src = .{ .to_sse, .none, .none } },
125721 },
125722 .extra_temps = .{
125723 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125724 .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
125725 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125726 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
125727 .unused,
125728 .unused,
125729 .unused,
125730 .unused,
125731 .unused,
125732 .unused,
125733 .unused,
125734 },
125735 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125736 .each = .{ .once = &.{
125737 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125738 .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ },
125739 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
125740 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },
125741 .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ },
125742 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125743 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
125744 } },
125745 }, .{
125746 .required_features = .{ .sse4_1, null, null, null },
125747 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125748 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125749 .patterns = &.{
125750 .{ .src = .{ .to_mut_sse, .none, .none } },
125751 },
125752 .extra_temps = .{
125753 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125754 .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
125755 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
125756 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125757 .unused,
125758 .unused,
125759 .unused,
125760 .unused,
125761 .unused,
125762 .unused,
125763 .unused,
125764 },
125765 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125766 .each = .{ .once = &.{
125767 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125768 .{ ._, ._, .movddup, .tmp3x, .lea(.tmp0q), ._, ._ },
125769 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
125770 .{ ._, .p_, .xor, .dst0x, .tmp3x, ._, ._ },
125771 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
125772 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125773 .{ ._, .p_, .xor, .dst0x, .tmp3x, ._, ._ },
125774 } },
125775 }, .{
125776 .required_features = .{ .sse2, null, null, null },
125777 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125778 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125779 .patterns = &.{
125780 .{ .src = .{ .to_mut_sse, .none, .none } },
125781 },
125782 .extra_temps = .{
125783 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125784 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
125785 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
125786 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125787 .unused,
125788 .unused,
125789 .unused,
125790 .unused,
125791 .unused,
125792 .unused,
125793 .unused,
125794 },
125795 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125796 .each = .{ .once = &.{
125797 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125798 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
125799 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
125800 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
125801 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
125802 .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ },
125803 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
125804 .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ },
125805 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
125806 .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ },
125807 } },
125808 }, .{
125809 .required_features = .{ .avx, null, null, null },
125810 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125811 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
125812 .patterns = &.{
125813 .{ .src = .{ .to_sse, .none, .none } },
125814 },
125815 .extra_temps = .{
125816 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125817 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
125818 .unused,
125819 .unused,
125820 .unused,
125821 .unused,
125822 .unused,
125823 .unused,
125824 .unused,
125825 .unused,
125826 .unused,
125827 },
125828 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125829 .each = .{ .once = &.{
125830 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125831 .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ },
125832 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125833 } },
125834 }, .{
125835 .required_features = .{ .sse4_1, null, null, null },
125836 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125837 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
125838 .patterns = &.{
125839 .{ .src = .{ .to_mut_sse, .none, .none } },
125840 },
125841 .extra_temps = .{
125842 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125843 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
125844 .unused,
125845 .unused,
125846 .unused,
125847 .unused,
125848 .unused,
125849 .unused,
125850 .unused,
125851 .unused,
125852 .unused,
125853 },
125854 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125855 .each = .{ .once = &.{
125856 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125857 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
125858 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125859 } },
125860 }, .{
125861 .required_features = .{ .sse2, null, null, null },
125862 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125863 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
125864 .patterns = &.{
125865 .{ .src = .{ .to_mut_sse, .none, .none } },
125866 },
125867 .extra_temps = .{
125868 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125869 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
125870 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125871 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
125872 .unused,
125873 .unused,
125874 .unused,
125875 .unused,
125876 .unused,
125877 .unused,
125878 .unused,
125879 },
125880 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125881 .each = .{ .once = &.{
125882 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125883 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
125884 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125885 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
125886 .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ },
125887 .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ },
125888 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125889 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
125890 .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ },
125891 .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ },
125892 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
125893 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
125894 .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ },
125895 .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ },
125896 } },
125897 }, .{
125898 .required_features = .{ .avx, null, null, null },
125899 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125900 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125901 .patterns = &.{
125902 .{ .src = .{ .to_sse, .none, .none } },
125903 },
125904 .extra_temps = .{
125905 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125906 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
125907 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125908 .unused,
125909 .unused,
125910 .unused,
125911 .unused,
125912 .unused,
125913 .unused,
125914 .unused,
125915 .unused,
125916 },
125917 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125918 .each = .{ .once = &.{
125919 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125920 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
125921 .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ },
125922 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125923 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
125924 } },
125925 }, .{
125926 .required_features = .{ .sse4_1, null, null, null },
125927 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125928 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125929 .patterns = &.{
125930 .{ .src = .{ .to_mut_sse, .none, .none } },
125931 },
125932 .extra_temps = .{
125933 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
125934 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
125935 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125936 .unused,
125937 .unused,
125938 .unused,
125939 .unused,
125940 .unused,
125941 .unused,
125942 .unused,
125943 .unused,
125944 },
125945 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125946 .each = .{ .once = &.{
125947 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
125948 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
125949 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
125950 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
125951 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
125952 } },
125953 }, .{
125954 .required_features = .{ .sse2, null, null, null },
125955 .dst_constraints = .{ .{ .signed_int = .word }, .any },
125956 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
125957 .patterns = &.{
125958 .{ .src = .{ .to_mut_sse, .none, .none } },
125959 },
125960 .extra_temps = .{
125961 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
125962 .unused,
125963 .unused,
125964 .unused,
125965 .unused,
125966 .unused,
125967 .unused,
125968 .unused,
125969 .unused,
125970 .unused,
125971 .unused,
125972 },
125973 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125974 .each = .{ .once = &.{
125975 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125976 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125977 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125978 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125979 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
125980 .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ },
125981 } },
125982 }, .{
125983 .required_features = .{ .avx, null, null, null },
125984 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125985 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
125986 .patterns = &.{
125987 .{ .src = .{ .to_sse, .none, .none } },
125988 },
125989 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125990 .each = .{ .once = &.{
125991 .{ ._, .vph_w, .minposu, .dst0x, .src0x, ._, ._ },
125992 } },
125993 }, .{
125994 .required_features = .{ .sse4_1, null, null, null },
125995 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
125996 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
125997 .patterns = &.{
125998 .{ .src = .{ .to_sse, .none, .none } },
125999 },
126000 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126001 .each = .{ .once = &.{
126002 .{ ._, .ph_w, .minposu, .dst0x, .src0x, ._, ._ },
126003 } },
126004 }, .{
126005 .required_features = .{ .sse2, null, null, null },
126006 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126007 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
126008 .patterns = &.{
126009 .{ .src = .{ .to_mut_sse, .none, .none } },
126010 },
126011 .extra_temps = .{
126012 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126013 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126014 .unused,
126015 .unused,
126016 .unused,
126017 .unused,
126018 .unused,
126019 .unused,
126020 .unused,
126021 .unused,
126022 .unused,
126023 },
126024 .dst_temps = .{ .{ .ref = .src0 }, .unused },
126025 .each = .{ .once = &.{
126026 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
126027 .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ },
126028 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
126029 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
126030 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
126031 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
126032 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
126033 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
126034 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
126035 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
126036 .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ },
126037 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
126038 } },
126039 }, .{
126040 .required_features = .{ .avx2, null, null, null },
126041 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126042 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126043 .patterns = &.{
126044 .{ .src = .{ .mem, .none, .none } },
126045 .{ .src = .{ .to_sse, .none, .none } },
126046 },
126047 .extra_temps = .{
126048 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126049 .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126050 .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } },
126051 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126052 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126053 .unused,
126054 .unused,
126055 .unused,
126056 .unused,
126057 .unused,
126058 .unused,
126059 },
126060 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126061 .each = .{ .once = &.{
126062 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126063 .{ ._, .vp_w, .broadcast, .tmp2y, .lea(.tmp0w), ._, ._ },
126064 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
126065 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },
126066 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
126067 .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
126068 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ },
126069 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126070 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
126071 } },
126072 }, .{
126073 .required_features = .{ .avx, null, null, null },
126074 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126075 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126076 .patterns = &.{
126077 .{ .src = .{ .mem, .none, .none } },
126078 .{ .src = .{ .to_sse, .none, .none } },
126079 },
126080 .extra_temps = .{
126081 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126082 .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126083 .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } },
126084 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126085 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126086 .unused,
126087 .unused,
126088 .unused,
126089 .unused,
126090 .unused,
126091 .unused,
126092 },
126093 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126094 .each = .{ .once = &.{
126095 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126096 .{ ._, .v_ss, .broadcast, .tmp2y, .lea(.tmp0d), ._, ._ },
126097 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
126098 .{ ._, .v_ps, .xor, .dst0y, .tmp2y, .src0y, ._ },
126099 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
126100 .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
126101 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ },
126102 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126103 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
126104 } },
126105 }, .{
126106 .required_features = .{ .avx2, null, null, null },
126107 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126108 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126109 .patterns = &.{
126110 .{ .src = .{ .to_sse, .none, .none } },
126111 },
126112 .extra_temps = .{
126113 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126114 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126115 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126116 .unused,
126117 .unused,
126118 .unused,
126119 .unused,
126120 .unused,
126121 .unused,
126122 .unused,
126123 .unused,
126124 },
126125 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126126 .each = .{ .once = &.{
126127 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126128 .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
126129 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126130 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ },
126131 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126132 } },
126133 }, .{
126134 .required_features = .{ .avx, null, null, null },
126135 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126136 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126137 .patterns = &.{
126138 .{ .src = .{ .to_sse, .none, .none } },
126139 },
126140 .extra_temps = .{
126141 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126142 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126143 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126144 .unused,
126145 .unused,
126146 .unused,
126147 .unused,
126148 .unused,
126149 .unused,
126150 .unused,
126151 .unused,
126152 },
126153 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126154 .each = .{ .once = &.{
126155 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126156 .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
126157 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126158 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ },
126159 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126160 } },
126161 }, .{
126162 .required_features = .{ .avx2, null, null, null },
126163 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126164 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126165 .patterns = &.{
126166 .{ .src = .{ .to_sse, .none, .none } },
126167 },
126168 .extra_temps = .{
126169 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126170 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126171 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126172 .unused,
126173 .unused,
126174 .unused,
126175 .unused,
126176 .unused,
126177 .unused,
126178 .unused,
126179 .unused,
126180 },
126181 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126182 .each = .{ .once = &.{
126183 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126184 .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ },
126185 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
126186 .{ ._, .v_dqa, .mov, .tmp0x, .lea(.tmp1x), ._, ._ },
126187 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ },
126188 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126189 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ },
126190 } },
126191 }, .{
126192 .required_features = .{ .avx, null, null, null },
126193 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126194 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126195 .patterns = &.{
126196 .{ .src = .{ .to_sse, .none, .none } },
126197 },
126198 .extra_temps = .{
126199 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126200 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126201 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126202 .unused,
126203 .unused,
126204 .unused,
126205 .unused,
126206 .unused,
126207 .unused,
126208 .unused,
126209 .unused,
126210 },
126211 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126212 .each = .{ .once = &.{
126213 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126214 .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ },
126215 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
126216 .{ ._, .v_dqa, .mov, .tmp0x, .lea(.tmp1x), ._, ._ },
126217 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ },
126218 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126219 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ },
126220 } },
126221 }, .{
126222 .required_features = .{ .avx2, null, null, null },
126223 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126224 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126225 .patterns = &.{
126226 .{ .src = .{ .to_sse, .none, .none } },
126227 },
126228 .extra_temps = .{
126229 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126230 .unused,
126231 .unused,
126232 .unused,
126233 .unused,
126234 .unused,
126235 .unused,
126236 .unused,
126237 .unused,
126238 .unused,
126239 .unused,
126240 },
126241 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126242 .each = .{ .once = &.{
126243 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126244 .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ },
126245 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126246 } },
126247 }, .{
126248 .required_features = .{ .avx, null, null, null },
126249 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126250 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126251 .patterns = &.{
126252 .{ .src = .{ .to_sse, .none, .none } },
126253 },
126254 .extra_temps = .{
126255 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126256 .unused,
126257 .unused,
126258 .unused,
126259 .unused,
126260 .unused,
126261 .unused,
126262 .unused,
126263 .unused,
126264 .unused,
126265 .unused,
126266 },
126267 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126268 .each = .{ .once = &.{
126269 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126270 .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ },
126271 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126272 } },
126273 }, .{
126274 .required_features = .{ .avx512f, null, null, null },
126275 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126276 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any },
126277 .patterns = &.{
126278 .{ .src = .{ .to_mem, .none, .none } },
126279 },
126280 .extra_temps = .{
126281 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126282 .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126283 .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } },
126284 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126285 .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } },
126286 .unused,
126287 .unused,
126288 .unused,
126289 .unused,
126290 .unused,
126291 .unused,
126292 },
126293 .dst_temps = .{ .{ .rc = .sse }, .unused },
126294 .each = .{ .once = &.{
126295 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126296 .{ ._, .vp_w, .broadcast, .tmp2y, .lea(.tmp0w), ._, ._ },
126297 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
126298 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ },
126299 .{ ._, .vp_, .xor, .tmp4y, .tmp2y, .memd(.src0y, 32), ._ },
126300 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
126301 .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ },
126302 .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp4y, ._ },
126303 .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
126304 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ },
126305 .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
126306 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126307 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
126308 } },
126309 }, .{
126310 .required_features = .{ .avx512f, null, null, null },
126311 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126312 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any },
126313 .patterns = &.{
126314 .{ .src = .{ .to_mem, .none, .none } },
126315 },
126316 .extra_temps = .{
126317 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126318 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126319 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
126320 .unused,
126321 .unused,
126322 .unused,
126323 .unused,
126324 .unused,
126325 .unused,
126326 .unused,
126327 .unused,
126328 },
126329 .dst_temps = .{ .{ .rc = .sse }, .unused },
126330 .each = .{ .once = &.{
126331 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126332 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
126333 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
126334 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ },
126335 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ },
126336 .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp2y, ._ },
126337 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126338 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ },
126339 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126340 } },
126341 }, .{
126342 .required_features = .{ .avx512f, null, null, null },
126343 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126344 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any },
126345 .patterns = &.{
126346 .{ .src = .{ .to_mem, .none, .none } },
126347 },
126348 .extra_temps = .{
126349 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126350 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
126351 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126352 .unused,
126353 .unused,
126354 .unused,
126355 .unused,
126356 .unused,
126357 .unused,
126358 .unused,
126359 .unused,
126360 },
126361 .dst_temps = .{ .{ .rc = .sse }, .unused },
126362 .each = .{ .once = &.{
126363 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
126364 .{ ._, .vp_w, .mins, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
126365 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
126366 .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp0x, ._ },
126367 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
126368 .{ ._, .v_dqa, .mov, .tmp0x, .lea(.tmp1x), ._, ._ },
126369 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ },
126370 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126371 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ },
126372 } },
126373 }, .{
126374 .required_features = .{ .avx512f, null, null, null },
126375 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126376 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any },
126377 .patterns = &.{
126378 .{ .src = .{ .to_mem, .none, .none } },
126379 },
126380 .extra_temps = .{
126381 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126382 .unused,
126383 .unused,
126384 .unused,
126385 .unused,
126386 .unused,
126387 .unused,
126388 .unused,
126389 .unused,
126390 .unused,
126391 .unused,
126392 },
126393 .dst_temps = .{ .{ .rc = .sse }, .unused },
126394 .each = .{ .once = &.{
126395 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
126396 .{ ._, .vp_w, .minu, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
126397 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
126398 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp0x, ._ },
126399 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126400 } },
126401 }, .{
126402 .required_features = .{ .avx2, null, null, null },
126403 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126404 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126405 .patterns = &.{
126406 .{ .src = .{ .to_mem, .none, .none } },
126407 },
126408 .extra_temps = .{
126409 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126410 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126411 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126412 .unused,
126413 .unused,
126414 .unused,
126415 .unused,
126416 .unused,
126417 .unused,
126418 .unused,
126419 .unused,
126420 },
126421 .dst_temps = .{ .{ .rc = .sse }, .unused },
126422 .clobbers = .{ .eflags = true },
126423 .each = .{ .once = &.{
126424 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
126425 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
126426 .{ .@"0:", .vp_w, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
126427 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
126428 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126429 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
126430 .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp1x, ._ },
126431 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
126432 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
126433 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ },
126434 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126435 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ },
126436 } },
126437 }, .{
126438 .required_features = .{ .avx, null, null, null },
126439 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126440 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
126441 .patterns = &.{
126442 .{ .src = .{ .to_mem, .none, .none } },
126443 },
126444 .extra_temps = .{
126445 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126446 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126447 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126448 .unused,
126449 .unused,
126450 .unused,
126451 .unused,
126452 .unused,
126453 .unused,
126454 .unused,
126455 .unused,
126456 },
126457 .dst_temps = .{ .{ .rc = .sse }, .unused },
126458 .clobbers = .{ .eflags = true },
126459 .each = .{ .once = &.{
126460 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
126461 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
126462 .{ .@"0:", .vp_w, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126463 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126464 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126465 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126466 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
126467 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
126468 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126469 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
126470 } },
126471 }, .{
126472 .required_features = .{ .sse4_1, null, null, null },
126473 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126474 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
126475 .patterns = &.{
126476 .{ .src = .{ .to_mem, .none, .none } },
126477 },
126478 .extra_temps = .{
126479 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126480 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126481 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126482 .unused,
126483 .unused,
126484 .unused,
126485 .unused,
126486 .unused,
126487 .unused,
126488 .unused,
126489 .unused,
126490 },
126491 .dst_temps = .{ .{ .rc = .sse }, .unused },
126492 .clobbers = .{ .eflags = true },
126493 .each = .{ .once = &.{
126494 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
126495 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
126496 .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126497 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126498 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126499 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126500 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
126501 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
126502 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126503 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
126504 } },
126505 }, .{
126506 .required_features = .{ .sse2, null, null, null },
126507 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126508 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
126509 .patterns = &.{
126510 .{ .src = .{ .to_mem, .none, .none } },
126511 },
126512 .extra_temps = .{
126513 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126514 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126515 .unused,
126516 .unused,
126517 .unused,
126518 .unused,
126519 .unused,
126520 .unused,
126521 .unused,
126522 .unused,
126523 .unused,
126524 },
126525 .dst_temps = .{ .{ .rc = .sse }, .unused },
126526 .clobbers = .{ .eflags = true },
126527 .each = .{ .once = &.{
126528 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
126529 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
126530 .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126531 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126532 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126533 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126534 .{ ._, .p_w, .mins, .dst0x, .tmp1x, ._, ._ },
126535 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126536 .{ ._, .p_w, .mins, .dst0x, .tmp1x, ._, ._ },
126537 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
126538 .{ ._, .p_w, .mins, .dst0x, .tmp1x, ._, ._ },
126539 } },
126540 }, .{
126541 .required_features = .{ .avx2, null, null, null },
126542 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126543 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126544 .patterns = &.{
126545 .{ .src = .{ .to_mem, .none, .none } },
126546 },
126547 .extra_temps = .{
126548 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126549 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126550 .unused,
126551 .unused,
126552 .unused,
126553 .unused,
126554 .unused,
126555 .unused,
126556 .unused,
126557 .unused,
126558 .unused,
126559 },
126560 .dst_temps = .{ .{ .rc = .sse }, .unused },
126561 .clobbers = .{ .eflags = true },
126562 .each = .{ .once = &.{
126563 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
126564 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
126565 .{ .@"0:", .vp_w, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
126566 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
126567 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126568 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
126569 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp1x, ._ },
126570 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126571 } },
126572 }, .{
126573 .required_features = .{ .avx, null, null, null },
126574 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126575 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
126576 .patterns = &.{
126577 .{ .src = .{ .to_mem, .none, .none } },
126578 },
126579 .extra_temps = .{
126580 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126581 .unused,
126582 .unused,
126583 .unused,
126584 .unused,
126585 .unused,
126586 .unused,
126587 .unused,
126588 .unused,
126589 .unused,
126590 .unused,
126591 },
126592 .dst_temps = .{ .{ .rc = .sse }, .unused },
126593 .clobbers = .{ .eflags = true },
126594 .each = .{ .once = &.{
126595 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
126596 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
126597 .{ .@"0:", .vp_w, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126598 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126599 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126600 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126601 } },
126602 }, .{
126603 .required_features = .{ .sse4_1, null, null, null },
126604 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126605 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
126606 .patterns = &.{
126607 .{ .src = .{ .to_mem, .none, .none } },
126608 },
126609 .extra_temps = .{
126610 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126611 .unused,
126612 .unused,
126613 .unused,
126614 .unused,
126615 .unused,
126616 .unused,
126617 .unused,
126618 .unused,
126619 .unused,
126620 .unused,
126621 },
126622 .dst_temps = .{ .{ .rc = .sse }, .unused },
126623 .clobbers = .{ .eflags = true },
126624 .each = .{ .once = &.{
126625 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
126626 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
126627 .{ .@"0:", .p_w, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126628 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126629 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126630 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126631 } },
126632 }, .{
126633 .required_features = .{ .sse2, null, null, null },
126634 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126635 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
126636 .patterns = &.{
126637 .{ .src = .{ .to_mem, .none, .none } },
126638 },
126639 .extra_temps = .{
126640 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126641 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126642 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126643 .unused,
126644 .unused,
126645 .unused,
126646 .unused,
126647 .unused,
126648 .unused,
126649 .unused,
126650 .unused,
126651 },
126652 .dst_temps = .{ .{ .rc = .sse }, .unused },
126653 .clobbers = .{ .eflags = true },
126654 .each = .{ .once = &.{
126655 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
126656 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
126657 .{ .@"0:", ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
126658 .{ ._, .p_w, .subus, .tmp1x, .memi(.src0x, .tmp0), ._, ._ },
126659 .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ },
126660 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126661 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126662 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126663 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
126664 .{ ._, .p_w, .subus, .tmp2x, .tmp1x, ._, ._ },
126665 .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
126666 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126667 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
126668 .{ ._, .p_w, .subus, .tmp2x, .tmp1x, ._, ._ },
126669 .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
126670 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
126671 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
126672 .{ ._, .p_w, .subus, .tmp2x, .tmp1x, ._, ._ },
126673 .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
126674 } },
126675 }, .{
126676 .required_features = .{ .avx512f, null, null, null },
126677 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126678 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any },
126679 .patterns = &.{
126680 .{ .src = .{ .to_mem, .none, .none } },
126681 },
126682 .extra_temps = .{
126683 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126684 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
126685 .{ .type = .vector_32_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
126686 .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } },
126687 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126688 .unused,
126689 .unused,
126690 .unused,
126691 .unused,
126692 .unused,
126693 .unused,
126694 },
126695 .dst_temps = .{ .{ .rc = .sse }, .unused },
126696 .clobbers = .{ .eflags = true },
126697 .each = .{ .once = &.{
126698 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126699 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
126700 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
126701 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
126702 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ },
126703 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
126704 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
126705 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
126706 .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
126707 .{ .@"0:", .vp_w, .mins, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ },
126708 .{ ._, .vp_w, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
126709 .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
126710 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126711 .{ ._, .vp_w, .mins, .dst0y, .dst0y, .tmp3y, ._ },
126712 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
126713 .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp3x, ._ },
126714 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
126715 .{ ._, .v_dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ },
126716 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ },
126717 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126718 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ },
126719 } },
126720 }, .{
126721 .required_features = .{ .avx2, null, null, null },
126722 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126723 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126724 .patterns = &.{
126725 .{ .src = .{ .to_mem, .none, .none } },
126726 },
126727 .extra_temps = .{
126728 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126729 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
126730 .{ .type = .vector_16_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
126731 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126732 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126733 .unused,
126734 .unused,
126735 .unused,
126736 .unused,
126737 .unused,
126738 .unused,
126739 },
126740 .dst_temps = .{ .{ .rc = .sse }, .unused },
126741 .clobbers = .{ .eflags = true },
126742 .each = .{ .once = &.{
126743 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126744 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
126745 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
126746 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
126747 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
126748 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
126749 .{ .@"0:", .vp_w, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
126750 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
126751 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126752 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
126753 .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp3x, ._ },
126754 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
126755 .{ ._, .v_dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ },
126756 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ },
126757 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126758 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ },
126759 } },
126760 }, .{
126761 .required_features = .{ .avx, null, null, null },
126762 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126763 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
126764 .patterns = &.{
126765 .{ .src = .{ .to_mem, .none, .none } },
126766 },
126767 .extra_temps = .{
126768 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126769 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
126770 .{ .type = .vector_16_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
126771 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126772 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126773 .unused,
126774 .unused,
126775 .unused,
126776 .unused,
126777 .unused,
126778 .unused,
126779 },
126780 .dst_temps = .{ .{ .rc = .sse }, .unused },
126781 .clobbers = .{ .eflags = true },
126782 .each = .{ .once = &.{
126783 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126784 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
126785 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
126786 .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
126787 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
126788 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
126789 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
126790 .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp3x, ._ },
126791 .{ .@"0:", .vp_w, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126792 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126793 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126794 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
126795 .{ ._, .v_dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ },
126796 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ },
126797 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126798 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ },
126799 } },
126800 }, .{
126801 .required_features = .{ .sse4_1, null, null, null },
126802 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126803 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
126804 .patterns = &.{
126805 .{ .src = .{ .to_mem, .none, .none } },
126806 },
126807 .extra_temps = .{
126808 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126809 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
126810 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
126811 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
126812 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126813 .unused,
126814 .unused,
126815 .unused,
126816 .unused,
126817 .unused,
126818 .unused,
126819 },
126820 .dst_temps = .{ .{ .rc = .sse }, .unused },
126821 .clobbers = .{ .eflags = true },
126822 .each = .{ .once = &.{
126823 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126824 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
126825 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
126826 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
126827 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
126828 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
126829 .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126830 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126831 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126832 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
126833 .{ ._, ._dqa, .mov, .tmp4x, .lea(.tmp0x), ._, ._ },
126834 .{ ._, .p_, .xor, .dst0x, .tmp4x, ._, ._ },
126835 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126836 .{ ._, .p_, .xor, .dst0x, .tmp4x, ._, ._ },
126837 } },
126838 }, .{
126839 .required_features = .{ .sse2, null, null, null },
126840 .dst_constraints = .{ .{ .signed_int = .word }, .any },
126841 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
126842 .patterns = &.{
126843 .{ .src = .{ .to_mem, .none, .none } },
126844 },
126845 .extra_temps = .{
126846 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126847 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
126848 .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
126849 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
126850 .unused,
126851 .unused,
126852 .unused,
126853 .unused,
126854 .unused,
126855 .unused,
126856 .unused,
126857 },
126858 .dst_temps = .{ .{ .rc = .sse }, .unused },
126859 .clobbers = .{ .eflags = true },
126860 .each = .{ .once = &.{
126861 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126862 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
126863 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
126864 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
126865 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
126866 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
126867 .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126868 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126869 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126870 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
126871 .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ },
126872 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
126873 .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ },
126874 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ },
126875 .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ },
126876 } },
126877 }, .{
126878 .required_features = .{ .avx512f, null, null, null },
126879 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126880 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any },
126881 .patterns = &.{
126882 .{ .src = .{ .to_mem, .none, .none } },
126883 },
126884 .extra_temps = .{
126885 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126886 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126887 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
126888 .unused,
126889 .unused,
126890 .unused,
126891 .unused,
126892 .unused,
126893 .unused,
126894 .unused,
126895 .unused,
126896 },
126897 .dst_temps = .{ .{ .rc = .sse }, .unused },
126898 .clobbers = .{ .eflags = true },
126899 .each = .{ .once = &.{
126900 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126901 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
126902 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
126903 .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
126904 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
126905 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
126906 .{ .@"0:", .vp_w, .minu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ },
126907 .{ ._, .vp_w, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
126908 .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
126909 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126910 .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp2y, ._ },
126911 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126912 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ },
126913 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126914 } },
126915 }, .{
126916 .required_features = .{ .avx2, null, null, null },
126917 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126918 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126919 .patterns = &.{
126920 .{ .src = .{ .to_mem, .none, .none } },
126921 },
126922 .extra_temps = .{
126923 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126924 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126925 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126926 .unused,
126927 .unused,
126928 .unused,
126929 .unused,
126930 .unused,
126931 .unused,
126932 .unused,
126933 .unused,
126934 },
126935 .dst_temps = .{ .{ .rc = .sse }, .unused },
126936 .clobbers = .{ .eflags = true },
126937 .each = .{ .once = &.{
126938 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126939 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
126940 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
126941 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
126942 .{ .@"0:", .vp_w, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
126943 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
126944 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126945 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126946 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ },
126947 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126948 } },
126949 }, .{
126950 .required_features = .{ .avx, null, null, null },
126951 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126952 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
126953 .patterns = &.{
126954 .{ .src = .{ .to_mem, .none, .none } },
126955 },
126956 .extra_temps = .{
126957 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126958 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126959 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
126960 .unused,
126961 .unused,
126962 .unused,
126963 .unused,
126964 .unused,
126965 .unused,
126966 .unused,
126967 .unused,
126968 },
126969 .dst_temps = .{ .{ .rc = .sse }, .unused },
126970 .clobbers = .{ .eflags = true },
126971 .each = .{ .once = &.{
126972 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
126973 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
126974 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
126975 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
126976 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126977 .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ },
126978 .{ .@"0:", .vp_w, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126979 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126980 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126981 .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ },
126982 } },
126983 }, .{
126984 .required_features = .{ .sse4_1, null, null, null },
126985 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
126986 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
126987 .patterns = &.{
126988 .{ .src = .{ .to_mem, .none, .none } },
126989 },
126990 .extra_temps = .{
126991 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
126992 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
126993 .unused,
126994 .unused,
126995 .unused,
126996 .unused,
126997 .unused,
126998 .unused,
126999 .unused,
127000 .unused,
127001 .unused,
127002 },
127003 .dst_temps = .{ .{ .rc = .sse }, .unused },
127004 .clobbers = .{ .eflags = true },
127005 .each = .{ .once = &.{
127006 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127007 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
127008 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
127009 .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
127010 .{ .@"0:", .p_w, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
127011 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
127012 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
127013 .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ },
127014 } },
127015 }, .{
127016 .required_features = .{ .sse2, null, null, null },
127017 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
127018 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
127019 .patterns = &.{
127020 .{ .src = .{ .to_mem, .none, .none } },
127021 },
127022 .extra_temps = .{
127023 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
127024 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
127025 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
127026 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
127027 .unused,
127028 .unused,
127029 .unused,
127030 .unused,
127031 .unused,
127032 .unused,
127033 .unused,
127034 },
127035 .dst_temps = .{ .{ .rc = .sse }, .unused },
127036 .clobbers = .{ .eflags = true },
127037 .each = .{ .once = &.{
127038 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127039 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
127040 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
127041 .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
127042 .{ .@"0:", ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127043 .{ ._, .p_w, .subus, .tmp2x, .memi(.src0x, .tmp0), ._, ._ },
127044 .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
127045 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
127046 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
127047 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127048 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
127049 .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ },
127050 .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ },
127051 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127052 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
127053 .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ },
127054 .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ },
127055 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127056 .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ },
127057 .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ },
127058 .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ },
127059 } },
127060 }, .{
127061 .required_features = .{ .cmov, null, null, null },
127062 .dst_constraints = .{ .{ .signed_int = .word }, .any },
127063 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
127064 .patterns = &.{
127065 .{ .src = .{ .to_mem, .none, .none } },
127066 },
127067 .extra_temps = .{
127068 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
127069 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
127070 .unused,
127071 .unused,
127072 .unused,
127073 .unused,
127074 .unused,
127075 .unused,
127076 .unused,
127077 .unused,
127078 .unused,
127079 },
127080 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
127081 .clobbers = .{ .eflags = true },
127082 .each = .{ .once = &.{
127083 .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ },
127084 .{ ._, ._, .movsx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ },
127085 .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ },
127086 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
127087 .{ ._, ._g, .cmov, .dst0d, .tmp1d, ._, ._ },
127088 .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ },
127089 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
127090 } },
127091 }, .{
127092 .dst_constraints = .{ .{ .signed_int = .word }, .any },
127093 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
127094 .patterns = &.{
127095 .{ .src = .{ .to_mem, .none, .none } },
127096 },
127097 .extra_temps = .{
127098 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
127099 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
127100 .unused,
127101 .unused,
127102 .unused,
127103 .unused,
127104 .unused,
127105 .unused,
127106 .unused,
127107 .unused,
127108 .unused,
127109 },
127110 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
127111 .clobbers = .{ .eflags = true },
127112 .each = .{ .once = &.{
127113 .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ },
127114 .{ ._, ._, .movsx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ },
127115 .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ },
127116 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
127117 .{ ._, ._ng, .j, .@"1f", ._, ._, ._ },
127118 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
127119 .{ .@"1:", ._, .sub, .tmp0d, .si(2), ._, ._ },
127120 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
127121 } },
127122 }, .{
127123 .required_features = .{ .cmov, null, null, null },
127124 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
127125 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
127126 .patterns = &.{
127127 .{ .src = .{ .to_mem, .none, .none } },
127128 },
127129 .extra_temps = .{
127130 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
127131 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
127132 .unused,
127133 .unused,
127134 .unused,
127135 .unused,
127136 .unused,
127137 .unused,
127138 .unused,
127139 .unused,
127140 .unused,
127141 },
127142 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
127143 .clobbers = .{ .eflags = true },
127144 .each = .{ .once = &.{
127145 .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ },
127146 .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ },
127147 .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ },
127148 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
127149 .{ ._, ._a, .cmov, .dst0d, .tmp1d, ._, ._ },
127150 .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ },
127151 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
127152 } },
127153 }, .{
127154 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
127155 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
127156 .patterns = &.{
127157 .{ .src = .{ .to_mem, .none, .none } },
127158 },
127159 .extra_temps = .{
127160 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
127161 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
127162 .unused,
127163 .unused,
127164 .unused,
127165 .unused,
127166 .unused,
127167 .unused,
127168 .unused,
127169 .unused,
127170 .unused,
127171 },
127172 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
127173 .clobbers = .{ .eflags = true },
127174 .each = .{ .once = &.{
127175 .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ },
127176 .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ },
127177 .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ },
127178 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
127179 .{ ._, ._na, .j, .@"1f", ._, ._, ._ },
127180 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
127181 .{ .@"1:", ._, .sub, .tmp0d, .si(2), ._, ._ },
127182 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
127183 } },
127184 }, .{
127185 .required_features = .{ .avx, null, null, null },
127186 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127187 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
127188 .patterns = &.{
127189 .{ .src = .{ .to_sse, .none, .none } },
127190 },
127191 .extra_temps = .{
127192 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127193 .unused,
127194 .unused,
127195 .unused,
127196 .unused,
127197 .unused,
127198 .unused,
127199 .unused,
127200 .unused,
127201 .unused,
127202 .unused,
127203 },
127204 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127205 .each = .{ .once = &.{
127206 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127207 .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ },
127208 } },
127209 }, .{
127210 .required_features = .{ .sse4_1, null, null, null },
127211 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127212 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
127213 .patterns = &.{
127214 .{ .src = .{ .to_mut_sse, .none, .none } },
127215 },
127216 .extra_temps = .{
127217 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127218 .unused,
127219 .unused,
127220 .unused,
127221 .unused,
127222 .unused,
127223 .unused,
127224 .unused,
127225 .unused,
127226 .unused,
127227 .unused,
127228 },
127229 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127230 .each = .{ .once = &.{
127231 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127232 .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ },
127233 } },
127234 }, .{
127235 .required_features = .{ .sse2, null, null, null },
127236 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127237 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
127238 .patterns = &.{
127239 .{ .src = .{ .to_mut_sse, .none, .none } },
127240 },
127241 .extra_temps = .{
127242 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127243 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127244 .unused,
127245 .unused,
127246 .unused,
127247 .unused,
127248 .unused,
127249 .unused,
127250 .unused,
127251 .unused,
127252 .unused,
127253 },
127254 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127255 .each = .{ .once = &.{
127256 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127257 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
127258 .{ ._, .p_d, .cmpgt, .tmp1x, .src0x, ._, ._ },
127259 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
127260 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
127261 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
127262 } },
127263 }, .{
127264 .required_features = .{ .avx, null, null, null },
127265 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127266 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any },
127267 .patterns = &.{
127268 .{ .src = .{ .to_sse, .none, .none } },
127269 },
127270 .extra_temps = .{
127271 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127272 .unused,
127273 .unused,
127274 .unused,
127275 .unused,
127276 .unused,
127277 .unused,
127278 .unused,
127279 .unused,
127280 .unused,
127281 .unused,
127282 },
127283 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127284 .each = .{ .once = &.{
127285 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127286 .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ },
127287 } },
127288 }, .{
127289 .required_features = .{ .sse4_1, null, null, null },
127290 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127291 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any },
127292 .patterns = &.{
127293 .{ .src = .{ .to_mut_sse, .none, .none } },
127294 },
127295 .extra_temps = .{
127296 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127297 .unused,
127298 .unused,
127299 .unused,
127300 .unused,
127301 .unused,
127302 .unused,
127303 .unused,
127304 .unused,
127305 .unused,
127306 .unused,
127307 },
127308 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127309 .each = .{ .once = &.{
127310 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127311 .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ },
127312 } },
127313 }, .{
127314 .required_features = .{ .sse2, null, null, null },
127315 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127316 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any },
127317 .patterns = &.{
127318 .{ .src = .{ .to_mut_sse, .none, .none } },
127319 },
127320 .extra_temps = .{
127321 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127322 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
127323 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127324 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127325 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127326 .unused,
127327 .unused,
127328 .unused,
127329 .unused,
127330 .unused,
127331 .unused,
127332 },
127333 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127334 .each = .{ .once = &.{
127335 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127336 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
127337 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
127338 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127339 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
127340 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
127341 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
127342 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
127343 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
127344 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
127345 } },
127346 }, .{
127347 .required_features = .{ .avx, null, null, null },
127348 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127349 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127350 .patterns = &.{
127351 .{ .src = .{ .to_sse, .none, .none } },
127352 },
127353 .extra_temps = .{
127354 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127355 .unused,
127356 .unused,
127357 .unused,
127358 .unused,
127359 .unused,
127360 .unused,
127361 .unused,
127362 .unused,
127363 .unused,
127364 .unused,
127365 },
127366 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127367 .each = .{ .once = &.{
127368 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127369 .{ ._, .vp_d, .mins, .tmp0x, .src0x, .tmp0x, ._ },
127370 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
127371 .{ ._, .vp_d, .mins, .dst0x, .tmp0x, .dst0x, ._ },
127372 } },
127373 }, .{
127374 .required_features = .{ .sse4_1, null, null, null },
127375 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127376 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127377 .patterns = &.{
127378 .{ .src = .{ .to_sse, .none, .none } },
127379 },
127380 .extra_temps = .{
127381 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127382 .unused,
127383 .unused,
127384 .unused,
127385 .unused,
127386 .unused,
127387 .unused,
127388 .unused,
127389 .unused,
127390 .unused,
127391 .unused,
127392 },
127393 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127394 .each = .{ .once = &.{
127395 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127396 .{ ._, .p_d, .mins, .tmp0x, .src0x, ._, ._ },
127397 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
127398 .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ },
127399 } },
127400 }, .{
127401 .required_features = .{ .sse2, null, null, null },
127402 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127403 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127404 .patterns = &.{
127405 .{ .src = .{ .to_mut_sse, .none, .none } },
127406 },
127407 .extra_temps = .{
127408 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127409 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127410 .unused,
127411 .unused,
127412 .unused,
127413 .unused,
127414 .unused,
127415 .unused,
127416 .unused,
127417 .unused,
127418 .unused,
127419 },
127420 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127421 .each = .{ .once = &.{
127422 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
127423 .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ },
127424 .{ ._, .p_d, .cmpgt, .tmp1x, .tmp0x, ._, ._ },
127425 .{ ._, .p_, .@"and", .tmp0x, .tmp1x, ._, ._ },
127426 .{ ._, .p_, .andn, .tmp1x, .src0x, ._, ._ },
127427 .{ ._, .p_, .@"or", .tmp0x, .tmp1x, ._, ._ },
127428 .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ },
127429 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
127430 .{ ._, .p_d, .cmpgt, .tmp1x, .dst0x, ._, ._ },
127431 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
127432 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
127433 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
127434 } },
127435 }, .{
127436 .required_features = .{ .avx, null, null, null },
127437 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127438 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127439 .patterns = &.{
127440 .{ .src = .{ .to_sse, .none, .none } },
127441 },
127442 .extra_temps = .{
127443 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127444 .unused,
127445 .unused,
127446 .unused,
127447 .unused,
127448 .unused,
127449 .unused,
127450 .unused,
127451 .unused,
127452 .unused,
127453 .unused,
127454 },
127455 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127456 .each = .{ .once = &.{
127457 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127458 .{ ._, .vp_d, .minu, .tmp0x, .src0x, .tmp0x, ._ },
127459 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
127460 .{ ._, .vp_d, .minu, .dst0x, .tmp0x, .dst0x, ._ },
127461 } },
127462 }, .{
127463 .required_features = .{ .sse4_1, null, null, null },
127464 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127465 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127466 .patterns = &.{
127467 .{ .src = .{ .to_mut_sse, .none, .none } },
127468 },
127469 .extra_temps = .{
127470 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127471 .unused,
127472 .unused,
127473 .unused,
127474 .unused,
127475 .unused,
127476 .unused,
127477 .unused,
127478 .unused,
127479 .unused,
127480 .unused,
127481 },
127482 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127483 .each = .{ .once = &.{
127484 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
127485 .{ ._, .p_d, .minu, .tmp0x, .src0x, ._, ._ },
127486 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
127487 .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ },
127488 } },
127489 }, .{
127490 .required_features = .{ .sse2, null, null, null },
127491 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127492 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127493 .patterns = &.{
127494 .{ .src = .{ .to_mut_sse, .none, .none } },
127495 },
127496 .extra_temps = .{
127497 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127498 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
127499 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127500 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127501 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127502 .unused,
127503 .unused,
127504 .unused,
127505 .unused,
127506 .unused,
127507 .unused,
127508 },
127509 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127510 .each = .{ .once = &.{
127511 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127512 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
127513 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
127514 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127515 .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ },
127516 .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ },
127517 .{ ._, .p_, .@"and", .tmp3x, .tmp4x, ._, ._ },
127518 .{ ._, .p_, .andn, .tmp4x, .dst0x, ._, ._ },
127519 .{ ._, .p_, .@"or", .tmp3x, .tmp4x, ._, ._ },
127520 .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ },
127521 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
127522 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
127523 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
127524 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
127525 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
127526 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
127527 } },
127528 }, .{
127529 .required_features = .{ .avx, null, null, null },
127530 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127531 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127532 .patterns = &.{
127533 .{ .src = .{ .to_sse, .none, .none } },
127534 },
127535 .extra_temps = .{
127536 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
127537 .unused,
127538 .unused,
127539 .unused,
127540 .unused,
127541 .unused,
127542 .unused,
127543 .unused,
127544 .unused,
127545 .unused,
127546 .unused,
127547 },
127548 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127549 .each = .{ .once = &.{
127550 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
127551 .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ },
127552 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127553 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
127554 } },
127555 }, .{
127556 .required_features = .{ .sse4_1, null, null, null },
127557 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127558 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127559 .patterns = &.{
127560 .{ .src = .{ .to_mut_sse, .none, .none } },
127561 },
127562 .extra_temps = .{
127563 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127564 .unused,
127565 .unused,
127566 .unused,
127567 .unused,
127568 .unused,
127569 .unused,
127570 .unused,
127571 .unused,
127572 .unused,
127573 .unused,
127574 },
127575 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127576 .each = .{ .once = &.{
127577 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
127578 .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ },
127579 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127580 .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ },
127581 } },
127582 }, .{
127583 .required_features = .{ .sse2, null, null, null },
127584 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127585 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127586 .patterns = &.{
127587 .{ .src = .{ .to_mut_sse, .none, .none } },
127588 },
127589 .extra_temps = .{
127590 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127591 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127592 .unused,
127593 .unused,
127594 .unused,
127595 .unused,
127596 .unused,
127597 .unused,
127598 .unused,
127599 .unused,
127600 .unused,
127601 },
127602 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127603 .each = .{ .once = &.{
127604 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
127605 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
127606 .{ ._, .p_d, .cmpgt, .tmp1x, .src0x, ._, ._ },
127607 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
127608 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
127609 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
127610 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127611 .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ },
127612 .{ ._, .p_d, .cmpgt, .tmp1x, .dst0x, ._, ._ },
127613 .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ },
127614 .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ },
127615 .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ },
127616 } },
127617 }, .{
127618 .required_features = .{ .avx, null, null, null },
127619 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127620 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127621 .patterns = &.{
127622 .{ .src = .{ .to_sse, .none, .none } },
127623 },
127624 .extra_temps = .{
127625 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127626 .unused,
127627 .unused,
127628 .unused,
127629 .unused,
127630 .unused,
127631 .unused,
127632 .unused,
127633 .unused,
127634 .unused,
127635 .unused,
127636 },
127637 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127638 .each = .{ .once = &.{
127639 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
127640 .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ },
127641 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127642 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
127643 } },
127644 }, .{
127645 .required_features = .{ .sse4_1, null, null, null },
127646 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127647 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127648 .patterns = &.{
127649 .{ .src = .{ .to_mut_sse, .none, .none } },
127650 },
127651 .extra_temps = .{
127652 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127653 .unused,
127654 .unused,
127655 .unused,
127656 .unused,
127657 .unused,
127658 .unused,
127659 .unused,
127660 .unused,
127661 .unused,
127662 .unused,
127663 },
127664 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127665 .each = .{ .once = &.{
127666 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
127667 .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ },
127668 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127669 .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ },
127670 } },
127671 }, .{
127672 .required_features = .{ .sse2, null, null, null },
127673 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127674 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
127675 .patterns = &.{
127676 .{ .src = .{ .to_mut_sse, .none, .none } },
127677 },
127678 .extra_temps = .{
127679 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127680 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
127681 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127682 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127683 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127684 .unused,
127685 .unused,
127686 .unused,
127687 .unused,
127688 .unused,
127689 .unused,
127690 },
127691 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127692 .each = .{ .once = &.{
127693 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127694 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
127695 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
127696 .{ ._, .p_d, .shuf, .tmp3x, .src0x, .ui(0b11_10), ._ },
127697 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
127698 .{ ._, .p_d, .cmpgt, .tmp4x, .src0x, ._, ._ },
127699 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
127700 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
127701 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
127702 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127703 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
127704 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
127705 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
127706 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
127707 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
127708 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
127709 } },
127710 }, .{
127711 .required_features = .{ .avx2, null, null, null },
127712 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127713 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127714 .patterns = &.{
127715 .{ .src = .{ .to_sse, .none, .none } },
127716 },
127717 .extra_temps = .{
127718 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127719 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
127720 .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
127721 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127722 .unused,
127723 .unused,
127724 .unused,
127725 .unused,
127726 .unused,
127727 .unused,
127728 .unused,
127729 },
127730 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127731 .each = .{ .once = &.{
127732 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127733 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
127734 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
127735 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
127736 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
127737 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127738 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127739 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127740 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127741 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127742 } },
127743 }, .{
127744 .required_features = .{ .avx, null, null, null },
127745 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127746 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127747 .patterns = &.{
127748 .{ .src = .{ .to_sse, .none, .none } },
127749 },
127750 .extra_temps = .{
127751 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127752 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
127753 .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
127754 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127755 .unused,
127756 .unused,
127757 .unused,
127758 .unused,
127759 .unused,
127760 .unused,
127761 .unused,
127762 },
127763 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127764 .each = .{ .once = &.{
127765 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127766 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
127767 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
127768 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
127769 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
127770 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127771 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127772 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127773 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127774 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127775 } },
127776 }, .{
127777 .required_features = .{ .avx2, null, null, null },
127778 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127779 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127780 .patterns = &.{
127781 .{ .src = .{ .to_sse, .none, .none } },
127782 },
127783 .extra_temps = .{
127784 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127785 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
127786 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127787 .unused,
127788 .unused,
127789 .unused,
127790 .unused,
127791 .unused,
127792 .unused,
127793 .unused,
127794 .unused,
127795 },
127796 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127797 .each = .{ .once = &.{
127798 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127799 .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
127800 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
127801 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
127802 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127803 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
127804 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127805 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
127806 } },
127807 }, .{
127808 .required_features = .{ .avx, null, null, null },
127809 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127810 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127811 .patterns = &.{
127812 .{ .src = .{ .to_sse, .none, .none } },
127813 },
127814 .extra_temps = .{
127815 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127816 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
127817 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127818 .unused,
127819 .unused,
127820 .unused,
127821 .unused,
127822 .unused,
127823 .unused,
127824 .unused,
127825 .unused,
127826 },
127827 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127828 .each = .{ .once = &.{
127829 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127830 .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
127831 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
127832 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
127833 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127834 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
127835 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127836 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
127837 } },
127838 }, .{
127839 .required_features = .{ .avx2, null, null, null },
127840 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127841 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127842 .patterns = &.{
127843 .{ .src = .{ .to_sse, .none, .none } },
127844 },
127845 .extra_temps = .{
127846 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127847 .unused,
127848 .unused,
127849 .unused,
127850 .unused,
127851 .unused,
127852 .unused,
127853 .unused,
127854 .unused,
127855 .unused,
127856 .unused,
127857 },
127858 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127859 .each = .{ .once = &.{
127860 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
127861 .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ },
127862 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127863 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
127864 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127865 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
127866 } },
127867 }, .{
127868 .required_features = .{ .avx, null, null, null },
127869 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127870 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127871 .patterns = &.{
127872 .{ .src = .{ .to_sse, .none, .none } },
127873 },
127874 .extra_temps = .{
127875 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
127876 .unused,
127877 .unused,
127878 .unused,
127879 .unused,
127880 .unused,
127881 .unused,
127882 .unused,
127883 .unused,
127884 .unused,
127885 .unused,
127886 },
127887 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127888 .each = .{ .once = &.{
127889 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
127890 .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ },
127891 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127892 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
127893 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127894 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
127895 } },
127896 }, .{
127897 .required_features = .{ .avx2, null, null, null },
127898 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127899 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127900 .patterns = &.{
127901 .{ .src = .{ .to_sse, .none, .none } },
127902 },
127903 .extra_temps = .{
127904 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127905 .unused,
127906 .unused,
127907 .unused,
127908 .unused,
127909 .unused,
127910 .unused,
127911 .unused,
127912 .unused,
127913 .unused,
127914 .unused,
127915 },
127916 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127917 .each = .{ .once = &.{
127918 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
127919 .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ },
127920 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127921 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
127922 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127923 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
127924 } },
127925 }, .{
127926 .required_features = .{ .avx, null, null, null },
127927 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127928 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
127929 .patterns = &.{
127930 .{ .src = .{ .to_sse, .none, .none } },
127931 },
127932 .extra_temps = .{
127933 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
127934 .unused,
127935 .unused,
127936 .unused,
127937 .unused,
127938 .unused,
127939 .unused,
127940 .unused,
127941 .unused,
127942 .unused,
127943 .unused,
127944 },
127945 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127946 .each = .{ .once = &.{
127947 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
127948 .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ },
127949 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127950 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
127951 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127952 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
127953 } },
127954 }, .{
127955 .required_features = .{ .avx512f, null, null, null },
127956 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
127957 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any },
127958 .patterns = &.{
127959 .{ .src = .{ .to_mem, .none, .none } },
127960 },
127961 .extra_temps = .{
127962 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
127963 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
127964 .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
127965 .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } },
127966 .unused,
127967 .unused,
127968 .unused,
127969 .unused,
127970 .unused,
127971 .unused,
127972 .unused,
127973 },
127974 .dst_temps = .{ .{ .rc = .sse }, .unused },
127975 .each = .{ .once = &.{
127976 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
127977 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
127978 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
127979 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
127980 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ },
127981 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ },
127982 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
127983 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
127984 .{ ._, .vp_d, .mins, .dst0y, .dst0y, .tmp3y, ._ },
127985 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
127986 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127987 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127988 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127989 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
127990 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
127991 } },
127992 }, .{
127993 .required_features = .{ .avx512f, null, null, null },
127994 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
127995 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any },
127996 .patterns = &.{
127997 .{ .src = .{ .to_mem, .none, .none } },
127998 },
127999 .extra_temps = .{
128000 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
128001 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
128002 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
128003 .unused,
128004 .unused,
128005 .unused,
128006 .unused,
128007 .unused,
128008 .unused,
128009 .unused,
128010 .unused,
128011 },
128012 .dst_temps = .{ .{ .rc = .sse }, .unused },
128013 .each = .{ .once = &.{
128014 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128015 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
128016 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
128017 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ },
128018 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ },
128019 .{ ._, .vp_d, .minu, .dst0y, .dst0y, .tmp2y, ._ },
128020 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128021 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128022 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128023 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128024 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128025 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128026 } },
128027 }, .{
128028 .required_features = .{ .avx512f, null, null, null },
128029 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128030 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any },
128031 .patterns = &.{
128032 .{ .src = .{ .to_mem, .none, .none } },
128033 },
128034 .extra_temps = .{
128035 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128036 .unused,
128037 .unused,
128038 .unused,
128039 .unused,
128040 .unused,
128041 .unused,
128042 .unused,
128043 .unused,
128044 .unused,
128045 .unused,
128046 },
128047 .dst_temps = .{ .{ .rc = .sse }, .unused },
128048 .each = .{ .once = &.{
128049 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
128050 .{ ._, .vp_d, .mins, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
128051 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
128052 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
128053 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128054 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
128055 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128056 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ },
128057 } },
128058 }, .{
128059 .required_features = .{ .avx512f, null, null, null },
128060 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128061 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any },
128062 .patterns = &.{
128063 .{ .src = .{ .to_mem, .none, .none } },
128064 },
128065 .extra_temps = .{
128066 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128067 .unused,
128068 .unused,
128069 .unused,
128070 .unused,
128071 .unused,
128072 .unused,
128073 .unused,
128074 .unused,
128075 .unused,
128076 .unused,
128077 },
128078 .dst_temps = .{ .{ .rc = .sse }, .unused },
128079 .each = .{ .once = &.{
128080 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
128081 .{ ._, .vp_d, .minu, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
128082 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
128083 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
128084 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128085 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
128086 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128087 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ },
128088 } },
128089 }, .{
128090 .required_features = .{ .avx2, null, null, null },
128091 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128092 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
128093 .patterns = &.{
128094 .{ .src = .{ .to_mem, .none, .none } },
128095 },
128096 .extra_temps = .{
128097 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128098 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128099 .unused,
128100 .unused,
128101 .unused,
128102 .unused,
128103 .unused,
128104 .unused,
128105 .unused,
128106 .unused,
128107 .unused,
128108 },
128109 .dst_temps = .{ .{ .rc = .sse }, .unused },
128110 .clobbers = .{ .eflags = true },
128111 .each = .{ .once = &.{
128112 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
128113 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
128114 .{ .@"0:", .vp_d, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
128115 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
128116 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128117 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
128118 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ },
128119 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128120 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ },
128121 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128122 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ },
128123 } },
128124 }, .{
128125 .required_features = .{ .avx, null, null, null },
128126 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128127 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128128 .patterns = &.{
128129 .{ .src = .{ .to_mem, .none, .none } },
128130 },
128131 .extra_temps = .{
128132 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128133 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128134 .unused,
128135 .unused,
128136 .unused,
128137 .unused,
128138 .unused,
128139 .unused,
128140 .unused,
128141 .unused,
128142 .unused,
128143 },
128144 .dst_temps = .{ .{ .rc = .sse }, .unused },
128145 .clobbers = .{ .eflags = true },
128146 .each = .{ .once = &.{
128147 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
128148 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
128149 .{ .@"0:", .vp_d, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
128150 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128151 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128152 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128153 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ },
128154 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128155 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ },
128156 } },
128157 }, .{
128158 .required_features = .{ .sse4_1, null, null, null },
128159 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128160 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128161 .patterns = &.{
128162 .{ .src = .{ .to_mem, .none, .none } },
128163 },
128164 .extra_temps = .{
128165 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128166 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128167 .unused,
128168 .unused,
128169 .unused,
128170 .unused,
128171 .unused,
128172 .unused,
128173 .unused,
128174 .unused,
128175 .unused,
128176 },
128177 .dst_temps = .{ .{ .rc = .sse }, .unused },
128178 .clobbers = .{ .eflags = true },
128179 .each = .{ .once = &.{
128180 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
128181 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
128182 .{ .@"0:", .p_d, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
128183 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128184 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128185 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128186 .{ ._, .p_d, .mins, .dst0x, .tmp1x, ._, ._ },
128187 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128188 .{ ._, .p_d, .mins, .dst0x, .tmp1x, ._, ._ },
128189 } },
128190 }, .{
128191 .required_features = .{ .sse2, null, null, null },
128192 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128193 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128194 .patterns = &.{
128195 .{ .src = .{ .to_mem, .none, .none } },
128196 },
128197 .extra_temps = .{
128198 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128199 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128200 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128201 .unused,
128202 .unused,
128203 .unused,
128204 .unused,
128205 .unused,
128206 .unused,
128207 .unused,
128208 .unused,
128209 },
128210 .dst_temps = .{ .{ .rc = .sse }, .unused },
128211 .clobbers = .{ .eflags = true },
128212 .each = .{ .once = &.{
128213 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
128214 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
128215 .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ },
128216 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
128217 .{ ._, .p_d, .cmpgt, .tmp2x, .dst0x, ._, ._ },
128218 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
128219 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
128220 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
128221 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128222 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128223 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128224 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
128225 .{ ._, .p_d, .cmpgt, .tmp2x, .dst0x, ._, ._ },
128226 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
128227 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
128228 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
128229 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128230 .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
128231 .{ ._, .p_d, .cmpgt, .tmp2x, .dst0x, ._, ._ },
128232 .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ },
128233 .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ },
128234 .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ },
128235 } },
128236 }, .{
128237 .required_features = .{ .avx2, null, null, null },
128238 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128239 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
128240 .patterns = &.{
128241 .{ .src = .{ .to_mem, .none, .none } },
128242 },
128243 .extra_temps = .{
128244 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128245 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128246 .unused,
128247 .unused,
128248 .unused,
128249 .unused,
128250 .unused,
128251 .unused,
128252 .unused,
128253 .unused,
128254 .unused,
128255 },
128256 .dst_temps = .{ .{ .rc = .sse }, .unused },
128257 .clobbers = .{ .eflags = true },
128258 .each = .{ .once = &.{
128259 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
128260 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
128261 .{ .@"0:", .vp_d, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
128262 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
128263 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128264 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
128265 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ },
128266 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128267 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ },
128268 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128269 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ },
128270 } },
128271 }, .{
128272 .required_features = .{ .avx, null, null, null },
128273 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128274 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128275 .patterns = &.{
128276 .{ .src = .{ .to_mem, .none, .none } },
128277 },
128278 .extra_temps = .{
128279 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128280 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128281 .unused,
128282 .unused,
128283 .unused,
128284 .unused,
128285 .unused,
128286 .unused,
128287 .unused,
128288 .unused,
128289 .unused,
128290 },
128291 .dst_temps = .{ .{ .rc = .sse }, .unused },
128292 .clobbers = .{ .eflags = true },
128293 .each = .{ .once = &.{
128294 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
128295 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
128296 .{ .@"0:", .vp_d, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
128297 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128298 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128299 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128300 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ },
128301 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128302 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ },
128303 } },
128304 }, .{
128305 .required_features = .{ .sse4_1, null, null, null },
128306 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128307 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128308 .patterns = &.{
128309 .{ .src = .{ .to_mem, .none, .none } },
128310 },
128311 .extra_temps = .{
128312 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128313 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128314 .unused,
128315 .unused,
128316 .unused,
128317 .unused,
128318 .unused,
128319 .unused,
128320 .unused,
128321 .unused,
128322 .unused,
128323 },
128324 .dst_temps = .{ .{ .rc = .sse }, .unused },
128325 .clobbers = .{ .eflags = true },
128326 .each = .{ .once = &.{
128327 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
128328 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
128329 .{ .@"0:", .p_d, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
128330 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128331 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128332 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128333 .{ ._, .p_d, .minu, .dst0x, .tmp1x, ._, ._ },
128334 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128335 .{ ._, .p_d, .minu, .dst0x, .tmp1x, ._, ._ },
128336 } },
128337 }, .{
128338 .required_features = .{ .sse2, null, null, null },
128339 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128340 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128341 .patterns = &.{
128342 .{ .src = .{ .to_mem, .none, .none } },
128343 },
128344 .extra_temps = .{
128345 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128346 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
128347 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128348 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128349 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128350 .unused,
128351 .unused,
128352 .unused,
128353 .unused,
128354 .unused,
128355 .unused,
128356 },
128357 .dst_temps = .{ .{ .rc = .sse }, .unused },
128358 .clobbers = .{ .eflags = true },
128359 .each = .{ .once = &.{
128360 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128361 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
128362 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
128363 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
128364 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
128365 .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ },
128366 .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ },
128367 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
128368 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
128369 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
128370 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
128371 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
128372 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128373 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128374 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128375 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
128376 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
128377 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
128378 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
128379 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
128380 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128381 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
128382 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
128383 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
128384 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
128385 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
128386 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
128387 } },
128388 }, .{
128389 .required_features = .{ .avx512f, null, null, null },
128390 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128391 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any },
128392 .patterns = &.{
128393 .{ .src = .{ .to_mem, .none, .none } },
128394 },
128395 .extra_temps = .{
128396 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128397 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
128398 .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
128399 .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } },
128400 .unused,
128401 .unused,
128402 .unused,
128403 .unused,
128404 .unused,
128405 .unused,
128406 .unused,
128407 },
128408 .dst_temps = .{ .{ .rc = .sse }, .unused },
128409 .clobbers = .{ .eflags = true },
128410 .each = .{ .once = &.{
128411 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128412 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
128413 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
128414 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
128415 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ },
128416 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
128417 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
128418 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
128419 .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
128420 .{ .@"0:", .vp_d, .mins, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ },
128421 .{ ._, .vp_d, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
128422 .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
128423 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128424 .{ ._, .vp_d, .mins, .dst0y, .dst0y, .tmp3y, ._ },
128425 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
128426 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128427 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128428 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128429 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128430 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128431 } },
128432 }, .{
128433 .required_features = .{ .avx2, null, null, null },
128434 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128435 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
128436 .patterns = &.{
128437 .{ .src = .{ .to_mem, .none, .none } },
128438 },
128439 .extra_temps = .{
128440 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128441 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
128442 .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
128443 .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } },
128444 .unused,
128445 .unused,
128446 .unused,
128447 .unused,
128448 .unused,
128449 .unused,
128450 .unused,
128451 },
128452 .dst_temps = .{ .{ .rc = .sse }, .unused },
128453 .clobbers = .{ .eflags = true },
128454 .each = .{ .once = &.{
128455 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128456 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
128457 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
128458 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
128459 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
128460 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
128461 .{ .@"0:", .vp_d, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
128462 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
128463 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128464 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
128465 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128466 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128467 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128468 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128469 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128470 } },
128471 }, .{
128472 .required_features = .{ .avx, null, null, null },
128473 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128474 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
128475 .patterns = &.{
128476 .{ .src = .{ .to_mem, .none, .none } },
128477 },
128478 .extra_temps = .{
128479 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128480 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
128481 .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
128482 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128483 .unused,
128484 .unused,
128485 .unused,
128486 .unused,
128487 .unused,
128488 .unused,
128489 .unused,
128490 },
128491 .dst_temps = .{ .{ .rc = .sse }, .unused },
128492 .clobbers = .{ .eflags = true },
128493 .each = .{ .once = &.{
128494 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128495 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
128496 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
128497 .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
128498 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
128499 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
128500 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
128501 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128502 .{ .@"0:", .vp_d, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
128503 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128504 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128505 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128506 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128507 .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128508 .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ },
128509 } },
128510 }, .{
128511 .required_features = .{ .sse4_1, null, null, null },
128512 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128513 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128514 .patterns = &.{
128515 .{ .src = .{ .to_mem, .none, .none } },
128516 },
128517 .extra_temps = .{
128518 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128519 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
128520 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
128521 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128522 .unused,
128523 .unused,
128524 .unused,
128525 .unused,
128526 .unused,
128527 .unused,
128528 .unused,
128529 },
128530 .dst_temps = .{ .{ .rc = .sse }, .unused },
128531 .clobbers = .{ .eflags = true },
128532 .each = .{ .once = &.{
128533 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128534 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
128535 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
128536 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
128537 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
128538 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
128539 .{ .@"0:", .p_d, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
128540 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128541 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128542 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128543 .{ ._, .p_d, .mins, .dst0x, .tmp3x, ._, ._ },
128544 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128545 .{ ._, .p_d, .mins, .dst0x, .tmp3x, ._, ._ },
128546 } },
128547 }, .{
128548 .required_features = .{ .sse2, null, null, null },
128549 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128550 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128551 .patterns = &.{
128552 .{ .src = .{ .to_mem, .none, .none } },
128553 },
128554 .extra_temps = .{
128555 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128556 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
128557 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
128558 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128559 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128560 .unused,
128561 .unused,
128562 .unused,
128563 .unused,
128564 .unused,
128565 .unused,
128566 },
128567 .dst_temps = .{ .{ .rc = .sse }, .unused },
128568 .clobbers = .{ .eflags = true },
128569 .each = .{ .once = &.{
128570 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128571 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
128572 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
128573 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
128574 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
128575 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
128576 .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ },
128577 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
128578 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
128579 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
128580 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
128581 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
128582 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128583 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128584 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128585 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
128586 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
128587 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
128588 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
128589 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
128590 .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ },
128591 .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ },
128592 .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ },
128593 .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ },
128594 .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ },
128595 .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ },
128596 } },
128597 }, .{
128598 .required_features = .{ .avx512f, null, null, null },
128599 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128600 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any },
128601 .patterns = &.{
128602 .{ .src = .{ .to_mem, .none, .none } },
128603 },
128604 .extra_temps = .{
128605 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128606 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
128607 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
128608 .unused,
128609 .unused,
128610 .unused,
128611 .unused,
128612 .unused,
128613 .unused,
128614 .unused,
128615 .unused,
128616 },
128617 .dst_temps = .{ .{ .rc = .sse }, .unused },
128618 .clobbers = .{ .eflags = true },
128619 .each = .{ .once = &.{
128620 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128621 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
128622 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
128623 .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ },
128624 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
128625 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
128626 .{ .@"0:", .vp_d, .minu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ },
128627 .{ ._, .vp_d, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
128628 .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ },
128629 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128630 .{ ._, .vp_d, .minu, .dst0y, .dst0y, .tmp2y, ._ },
128631 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128632 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128633 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128634 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128635 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128636 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128637 } },
128638 }, .{
128639 .required_features = .{ .avx2, null, null, null },
128640 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128641 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
128642 .patterns = &.{
128643 .{ .src = .{ .to_mem, .none, .none } },
128644 },
128645 .extra_temps = .{
128646 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128647 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
128648 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128649 .unused,
128650 .unused,
128651 .unused,
128652 .unused,
128653 .unused,
128654 .unused,
128655 .unused,
128656 .unused,
128657 },
128658 .dst_temps = .{ .{ .rc = .sse }, .unused },
128659 .clobbers = .{ .eflags = true },
128660 .each = .{ .once = &.{
128661 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128662 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
128663 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
128664 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
128665 .{ .@"0:", .vp_d, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
128666 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
128667 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128668 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128669 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128670 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128671 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128672 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128673 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128674 } },
128675 }, .{
128676 .required_features = .{ .avx, null, null, null },
128677 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128678 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
128679 .patterns = &.{
128680 .{ .src = .{ .to_mem, .none, .none } },
128681 },
128682 .extra_temps = .{
128683 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128684 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
128685 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128686 .unused,
128687 .unused,
128688 .unused,
128689 .unused,
128690 .unused,
128691 .unused,
128692 .unused,
128693 .unused,
128694 },
128695 .dst_temps = .{ .{ .rc = .sse }, .unused },
128696 .clobbers = .{ .eflags = true },
128697 .each = .{ .once = &.{
128698 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128699 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
128700 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
128701 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
128702 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128703 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128704 .{ .@"0:", .vp_d, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
128705 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128706 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128707 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128708 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128709 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128710 .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ },
128711 } },
128712 }, .{
128713 .required_features = .{ .sse4_1, null, null, null },
128714 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128715 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128716 .patterns = &.{
128717 .{ .src = .{ .to_mem, .none, .none } },
128718 },
128719 .extra_temps = .{
128720 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128721 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
128722 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
128723 .unused,
128724 .unused,
128725 .unused,
128726 .unused,
128727 .unused,
128728 .unused,
128729 .unused,
128730 .unused,
128731 },
128732 .dst_temps = .{ .{ .rc = .sse }, .unused },
128733 .clobbers = .{ .eflags = true },
128734 .each = .{ .once = &.{
128735 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128736 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
128737 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
128738 .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
128739 .{ .@"0:", .p_d, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
128740 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128741 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128742 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128743 .{ ._, .p_d, .minu, .dst0x, .tmp2x, ._, ._ },
128744 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128745 .{ ._, .p_d, .minu, .dst0x, .tmp2x, ._, ._ },
128746 } },
128747 }, .{
128748 .required_features = .{ .sse2, null, null, null },
128749 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128750 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
128751 .patterns = &.{
128752 .{ .src = .{ .to_mem, .none, .none } },
128753 },
128754 .extra_temps = .{
128755 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128756 .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
128757 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128758 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
128759 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128760 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
128761 .unused,
128762 .unused,
128763 .unused,
128764 .unused,
128765 .unused,
128766 },
128767 .dst_temps = .{ .{ .rc = .sse }, .unused },
128768 .clobbers = .{ .eflags = true },
128769 .each = .{ .once = &.{
128770 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
128771 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
128772 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
128773 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
128774 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
128775 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
128776 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
128777 .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ },
128778 .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ },
128779 .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
128780 .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ },
128781 .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ },
128782 .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ },
128783 .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ },
128784 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
128785 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128786 .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
128787 .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
128788 .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ },
128789 .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ },
128790 .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ },
128791 .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ },
128792 .{ ._, .p_w, .shufl, .tmp4x, .dst0x, .ui(0b11_10), ._ },
128793 .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
128794 .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ },
128795 .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ },
128796 .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ },
128797 .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ },
128798 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
128799 } },
128800 }, .{
128801 .required_features = .{ .cmov, null, null, null },
128802 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128803 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
128804 .patterns = &.{
128805 .{ .src = .{ .to_mem, .none, .none } },
128806 },
128807 .extra_temps = .{
128808 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128809 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
128810 .unused,
128811 .unused,
128812 .unused,
128813 .unused,
128814 .unused,
128815 .unused,
128816 .unused,
128817 .unused,
128818 .unused,
128819 },
128820 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
128821 .clobbers = .{ .eflags = true },
128822 .each = .{ .once = &.{
128823 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ },
128824 .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ },
128825 .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ },
128826 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
128827 .{ ._, ._g, .cmov, .dst0d, .tmp1d, ._, ._ },
128828 .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ },
128829 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128830 } },
128831 }, .{
128832 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
128833 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
128834 .patterns = &.{
128835 .{ .src = .{ .to_mem, .none, .none } },
128836 },
128837 .extra_temps = .{
128838 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128839 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
128840 .unused,
128841 .unused,
128842 .unused,
128843 .unused,
128844 .unused,
128845 .unused,
128846 .unused,
128847 .unused,
128848 .unused,
128849 },
128850 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
128851 .clobbers = .{ .eflags = true },
128852 .each = .{ .once = &.{
128853 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ },
128854 .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ },
128855 .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ },
128856 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
128857 .{ ._, ._ng, .j, .@"1f", ._, ._, ._ },
128858 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
128859 .{ .@"1:", ._, .sub, .tmp0d, .si(4), ._, ._ },
128860 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128861 } },
128862 }, .{
128863 .required_features = .{ .cmov, null, null, null },
128864 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128865 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
128866 .patterns = &.{
128867 .{ .src = .{ .to_mem, .none, .none } },
128868 },
128869 .extra_temps = .{
128870 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128871 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128872 .unused,
128873 .unused,
128874 .unused,
128875 .unused,
128876 .unused,
128877 .unused,
128878 .unused,
128879 .unused,
128880 .unused,
128881 },
128882 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
128883 .clobbers = .{ .eflags = true },
128884 .each = .{ .once = &.{
128885 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ },
128886 .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ },
128887 .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ },
128888 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
128889 .{ ._, ._a, .cmov, .dst0d, .tmp1d, ._, ._ },
128890 .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ },
128891 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128892 } },
128893 }, .{
128894 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
128895 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
128896 .patterns = &.{
128897 .{ .src = .{ .to_mem, .none, .none } },
128898 },
128899 .extra_temps = .{
128900 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128901 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
128902 .unused,
128903 .unused,
128904 .unused,
128905 .unused,
128906 .unused,
128907 .unused,
128908 .unused,
128909 .unused,
128910 .unused,
128911 },
128912 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
128913 .clobbers = .{ .eflags = true },
128914 .each = .{ .once = &.{
128915 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ },
128916 .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ },
128917 .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ },
128918 .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ },
128919 .{ ._, ._na, .j, .@"1f", ._, ._, ._ },
128920 .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ },
128921 .{ .@"1:", ._, .sub, .tmp0d, .si(4), ._, ._ },
128922 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128923 } },
128924 }, .{
128925 .required_features = .{ .avx, null, null, null },
128926 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
128927 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
128928 .patterns = &.{
128929 .{ .src = .{ .to_sse, .none, .none } },
128930 },
128931 .extra_temps = .{
128932 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
128933 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
128934 .unused,
128935 .unused,
128936 .unused,
128937 .unused,
128938 .unused,
128939 .unused,
128940 .unused,
128941 .unused,
128942 .unused,
128943 },
128944 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128945 .each = .{ .once = &.{
128946 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
128947 .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ },
128948 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x },
128949 } },
128950 }, .{
128951 .required_features = .{ .sse4_2, null, null, null },
128952 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
128953 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
128954 .patterns = &.{
128955 .{ .src = .{ .to_mut_sse, .none, .none } },
128956 },
128957 .extra_temps = .{
128958 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
128959 .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } },
128960 .unused,
128961 .unused,
128962 .unused,
128963 .unused,
128964 .unused,
128965 .unused,
128966 .unused,
128967 .unused,
128968 .unused,
128969 },
128970 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128971 .each = .{ .once = &.{
128972 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
128973 .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ },
128974 .{ ._, .p_q, .cmpgt, .tmp1x, .tmp0x, ._, ._ },
128975 .{ ._, .p_b, .blendv, .dst0x, .tmp0x, .tmp1x, ._ },
128976 } },
128977 }, .{
128978 .required_features = .{ .avx, null, null, null },
128979 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
128980 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
128981 .patterns = &.{
128982 .{ .src = .{ .mem, .none, .none } },
128983 .{ .src = .{ .to_sse, .none, .none } },
128984 },
128985 .extra_temps = .{
128986 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
128987 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
128988 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
128989 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
128990 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
128991 .unused,
128992 .unused,
128993 .unused,
128994 .unused,
128995 .unused,
128996 .unused,
128997 },
128998 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128999 .each = .{ .once = &.{
129000 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129001 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
129002 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },
129003 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129004 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129005 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129006 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129007 } },
129008 }, .{
129009 .required_features = .{ .sse4_2, null, null, null },
129010 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129011 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129012 .patterns = &.{
129013 .{ .src = .{ .to_mut_sse, .none, .none } },
129014 },
129015 .extra_temps = .{
129016 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129017 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129018 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129019 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129020 .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } },
129021 .unused,
129022 .unused,
129023 .unused,
129024 .unused,
129025 .unused,
129026 .unused,
129027 },
129028 .dst_temps = .{ .{ .ref = .src0 }, .unused },
129029 .each = .{ .once = &.{
129030 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129031 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
129032 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
129033 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129034 .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ },
129035 .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ },
129036 .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ },
129037 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
129038 } },
129039 }, .{
129040 .required_features = .{ .avx2, null, null, null },
129041 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129042 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129043 .patterns = &.{
129044 .{ .src = .{ .to_sse, .none, .none } },
129045 },
129046 .extra_temps = .{
129047 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129048 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129049 .unused,
129050 .unused,
129051 .unused,
129052 .unused,
129053 .unused,
129054 .unused,
129055 .unused,
129056 .unused,
129057 .unused,
129058 },
129059 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129060 .each = .{ .once = &.{
129061 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
129062 .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ },
129063 .{ ._, .vp_b, .blendv, .tmp0x, .src0x, .tmp0x, .tmp1x },
129064 .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ },
129065 .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ },
129066 .{ ._, .vp_b, .blendv, .dst0x, .tmp0x, .dst0x, .tmp1x },
129067 } },
129068 }, .{
129069 .required_features = .{ .avx, null, null, null },
129070 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129071 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129072 .patterns = &.{
129073 .{ .src = .{ .to_sse, .none, .none } },
129074 },
129075 .extra_temps = .{
129076 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129077 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129078 .unused,
129079 .unused,
129080 .unused,
129081 .unused,
129082 .unused,
129083 .unused,
129084 .unused,
129085 .unused,
129086 .unused,
129087 },
129088 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129089 .each = .{ .once = &.{
129090 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
129091 .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ },
129092 .{ ._, .vp_b, .blendv, .tmp0x, .src0x, .tmp0x, .tmp1x },
129093 .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ },
129094 .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ },
129095 .{ ._, .vp_b, .blendv, .dst0x, .tmp0x, .dst0x, .tmp1x },
129096 } },
129097 }, .{
129098 .required_features = .{ .avx2, null, null, null },
129099 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129100 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129101 .patterns = &.{
129102 .{ .src = .{ .mem, .none, .none } },
129103 .{ .src = .{ .to_sse, .none, .none } },
129104 },
129105 .extra_temps = .{
129106 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129107 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129108 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129109 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129110 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129111 .unused,
129112 .unused,
129113 .unused,
129114 .unused,
129115 .unused,
129116 .unused,
129117 },
129118 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129119 .each = .{ .once = &.{
129120 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129121 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129122 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },
129123 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129124 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129125 .{ ._, .vp_b, .blendv, .tmp3x, .dst0x, .tmp3x, .tmp4x },
129126 .{ ._, .v_i128, .extract, .dst0x, .dst0y, .ui(1), ._ },
129127 .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ },
129128 .{ ._, .vp_b, .blendv, .dst0x, .tmp3x, .dst0x, .tmp4x },
129129 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129130 } },
129131 }, .{
129132 .required_features = .{ .avx, null, null, null },
129133 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129134 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129135 .patterns = &.{
129136 .{ .src = .{ .mem, .none, .none } },
129137 .{ .src = .{ .to_sse, .none, .none } },
129138 },
129139 .extra_temps = .{
129140 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129141 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129142 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129143 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129144 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129145 .unused,
129146 .unused,
129147 .unused,
129148 .unused,
129149 .unused,
129150 .unused,
129151 },
129152 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129153 .each = .{ .once = &.{
129154 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129155 .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129156 .{ ._, .v_pd, .xor, .dst0y, .tmp2y, .src0y, ._ },
129157 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129158 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129159 .{ ._, .vp_b, .blendv, .tmp3x, .dst0x, .tmp3x, .tmp4x },
129160 .{ ._, .v_f128, .extract, .dst0x, .dst0y, .ui(1), ._ },
129161 .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ },
129162 .{ ._, .vp_b, .blendv, .dst0x, .tmp3x, .dst0x, .tmp4x },
129163 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129164 } },
129165 }, .{
129166 .required_features = .{ .avx2, null, null, null },
129167 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129168 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129169 .patterns = &.{
129170 .{ .src = .{ .to_sse, .none, .none } },
129171 },
129172 .extra_temps = .{
129173 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129174 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129175 .unused,
129176 .unused,
129177 .unused,
129178 .unused,
129179 .unused,
129180 .unused,
129181 .unused,
129182 .unused,
129183 .unused,
129184 },
129185 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129186 .each = .{ .once = &.{
129187 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
129188 .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ },
129189 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x },
129190 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129191 .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ },
129192 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x },
129193 } },
129194 }, .{
129195 .required_features = .{ .avx, null, null, null },
129196 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129197 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129198 .patterns = &.{
129199 .{ .src = .{ .to_sse, .none, .none } },
129200 },
129201 .extra_temps = .{
129202 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129203 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129204 .unused,
129205 .unused,
129206 .unused,
129207 .unused,
129208 .unused,
129209 .unused,
129210 .unused,
129211 .unused,
129212 .unused,
129213 },
129214 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129215 .each = .{ .once = &.{
129216 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
129217 .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ },
129218 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x },
129219 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129220 .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ },
129221 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x },
129222 } },
129223 }, .{
129224 .required_features = .{ .avx2, null, null, null },
129225 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129226 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129227 .patterns = &.{
129228 .{ .src = .{ .mem, .none, .none } },
129229 .{ .src = .{ .to_sse, .none, .none } },
129230 },
129231 .extra_temps = .{
129232 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129233 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129234 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129235 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129236 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129237 .unused,
129238 .unused,
129239 .unused,
129240 .unused,
129241 .unused,
129242 .unused,
129243 },
129244 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129245 .each = .{ .once = &.{
129246 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129247 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129248 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },
129249 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129250 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129251 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129252 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129253 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129254 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129255 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129256 } },
129257 }, .{
129258 .required_features = .{ .avx, null, null, null },
129259 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129260 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129261 .patterns = &.{
129262 .{ .src = .{ .mem, .none, .none } },
129263 .{ .src = .{ .to_sse, .none, .none } },
129264 },
129265 .extra_temps = .{
129266 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129267 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129268 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129269 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129270 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129271 .unused,
129272 .unused,
129273 .unused,
129274 .unused,
129275 .unused,
129276 .unused,
129277 },
129278 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129279 .each = .{ .once = &.{
129280 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129281 .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129282 .{ ._, .v_pd, .xor, .dst0y, .tmp2y, .src0y, ._ },
129283 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129284 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129285 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129286 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129287 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129288 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129289 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129290 } },
129291 }, .{
129292 .required_features = .{ .avx512f, null, null, null },
129293 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129294 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any },
129295 .patterns = &.{
129296 .{ .src = .{ .to_mem, .none, .none } },
129297 },
129298 .extra_temps = .{
129299 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129300 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
129301 .{ .type = .vector_8_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
129302 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129303 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129304 .unused,
129305 .unused,
129306 .unused,
129307 .unused,
129308 .unused,
129309 .unused,
129310 },
129311 .dst_temps = .{ .{ .rc = .sse }, .unused },
129312 .each = .{ .once = &.{
129313 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129314 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
129315 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
129316 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
129317 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ },
129318 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ },
129319 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129320 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
129321 .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ },
129322 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y },
129323 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129324 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129325 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129326 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129327 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129328 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129329 } },
129330 }, .{
129331 .required_features = .{ .avx512f, null, null, null },
129332 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129333 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any },
129334 .patterns = &.{
129335 .{ .src = .{ .to_mem, .none, .none } },
129336 },
129337 .extra_temps = .{
129338 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129339 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129340 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129341 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
129342 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129343 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129344 .unused,
129345 .unused,
129346 .unused,
129347 .unused,
129348 .unused,
129349 },
129350 .dst_temps = .{ .{ .rc = .sse }, .unused },
129351 .each = .{ .once = &.{
129352 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129353 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129354 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
129355 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ },
129356 .{ ._, .vp_, .xor, .tmp4y, .tmp2y, .memd(.src0y, 32), ._ },
129357 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129358 .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ },
129359 .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ },
129360 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y },
129361 .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
129362 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129363 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129364 .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
129365 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129366 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129367 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129368 } },
129369 }, .{
129370 .required_features = .{ .avx512f, null, null, null },
129371 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129372 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any },
129373 .patterns = &.{
129374 .{ .src = .{ .to_mem, .none, .none } },
129375 },
129376 .extra_temps = .{
129377 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129378 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129379 .unused,
129380 .unused,
129381 .unused,
129382 .unused,
129383 .unused,
129384 .unused,
129385 .unused,
129386 .unused,
129387 .unused,
129388 },
129389 .dst_temps = .{ .{ .rc = .sse }, .unused },
129390 .each = .{ .once = &.{
129391 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
129392 .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ },
129393 .{ ._, .vp_q, .cmpgt, .tmp1y, .dst0y, .tmp0y, ._ },
129394 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y },
129395 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
129396 .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ },
129397 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x },
129398 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129399 .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ },
129400 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x },
129401 } },
129402 }, .{
129403 .required_features = .{ .avx512f, null, null, null },
129404 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129405 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any },
129406 .patterns = &.{
129407 .{ .src = .{ .to_mem, .none, .none } },
129408 },
129409 .extra_temps = .{
129410 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
129411 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129412 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129413 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129414 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129415 .unused,
129416 .unused,
129417 .unused,
129418 .unused,
129419 .unused,
129420 .unused,
129421 },
129422 .dst_temps = .{ .{ .rc = .sse }, .unused },
129423 .each = .{ .once = &.{
129424 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129425 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129426 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ },
129427 .{ ._, .vp_, .xor, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ },
129428 .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ },
129429 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y },
129430 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129431 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129432 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129433 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129434 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129435 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129436 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129437 } },
129438 }, .{
129439 .required_features = .{ .avx2, null, null, null },
129440 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129441 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129442 .patterns = &.{
129443 .{ .src = .{ .to_mem, .none, .none } },
129444 },
129445 .extra_temps = .{
129446 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129447 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129448 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129449 .unused,
129450 .unused,
129451 .unused,
129452 .unused,
129453 .unused,
129454 .unused,
129455 .unused,
129456 .unused,
129457 },
129458 .dst_temps = .{ .{ .rc = .sse }, .unused },
129459 .clobbers = .{ .eflags = true },
129460 .each = .{ .once = &.{
129461 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
129462 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
129463 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memi(.src0y, .tmp0), ._, ._ },
129464 .{ ._, .vp_q, .cmpgt, .tmp2y, .dst0y, .tmp1y, ._ },
129465 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp1y, .tmp2y },
129466 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
129467 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129468 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
129469 .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ },
129470 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x },
129471 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129472 .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ },
129473 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x },
129474 } },
129475 }, .{
129476 .required_features = .{ .avx, null, null, null },
129477 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129478 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129479 .patterns = &.{
129480 .{ .src = .{ .to_mem, .none, .none } },
129481 },
129482 .extra_temps = .{
129483 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129484 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129485 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129486 .unused,
129487 .unused,
129488 .unused,
129489 .unused,
129490 .unused,
129491 .unused,
129492 .unused,
129493 .unused,
129494 },
129495 .dst_temps = .{ .{ .rc = .sse }, .unused },
129496 .clobbers = .{ .eflags = true },
129497 .each = .{ .once = &.{
129498 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
129499 .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
129500 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ },
129501 .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ },
129502 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x },
129503 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129504 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129505 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129506 .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ },
129507 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x },
129508 } },
129509 }, .{
129510 .required_features = .{ .sse4_2, null, null, null },
129511 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129512 .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129513 .patterns = &.{
129514 .{ .src = .{ .to_mem, .none, .none } },
129515 },
129516 .extra_temps = .{
129517 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129518 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129519 .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } },
129520 .unused,
129521 .unused,
129522 .unused,
129523 .unused,
129524 .unused,
129525 .unused,
129526 .unused,
129527 .unused,
129528 },
129529 .dst_temps = .{ .{ .rc = .sse }, .unused },
129530 .clobbers = .{ .eflags = true },
129531 .each = .{ .once = &.{
129532 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
129533 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
129534 .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ },
129535 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
129536 .{ ._, .p_q, .cmpgt, .tmp2x, .tmp1x, ._, ._ },
129537 .{ ._, .p_b, .blendv, .dst0x, .tmp1x, .tmp2x, ._ },
129538 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129539 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129540 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129541 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
129542 .{ ._, .p_q, .cmpgt, .tmp2x, .tmp1x, ._, ._ },
129543 .{ ._, .p_b, .blendv, .dst0x, .tmp1x, .tmp2x, ._ },
129544 } },
129545 }, .{
129546 .required_features = .{ .avx2, null, null, null },
129547 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129548 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129549 .patterns = &.{
129550 .{ .src = .{ .to_mem, .none, .none } },
129551 },
129552 .extra_temps = .{
129553 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129554 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129555 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129556 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129557 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129558 .unused,
129559 .unused,
129560 .unused,
129561 .unused,
129562 .unused,
129563 .unused,
129564 },
129565 .dst_temps = .{ .{ .rc = .sse }, .unused },
129566 .clobbers = .{ .eflags = true },
129567 .each = .{ .once = &.{
129568 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129569 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129570 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
129571 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .memad(.src0y, .add_unaligned_size, -32), ._ },
129572 .{ .@"0:", .vp_, .xor, .tmp3y, .tmp2y, .memi(.src0y, .tmp0), ._ },
129573 .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ },
129574 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y },
129575 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
129576 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129577 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129578 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129579 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129580 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129581 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129582 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129583 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129584 } },
129585 }, .{
129586 .required_features = .{ .avx, null, null, null },
129587 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129588 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129589 .patterns = &.{
129590 .{ .src = .{ .to_mem, .none, .none } },
129591 },
129592 .extra_temps = .{
129593 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129594 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129595 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129596 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129597 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129598 .unused,
129599 .unused,
129600 .unused,
129601 .unused,
129602 .unused,
129603 .unused,
129604 },
129605 .dst_temps = .{ .{ .rc = .sse }, .unused },
129606 .clobbers = .{ .eflags = true },
129607 .each = .{ .once = &.{
129608 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129609 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
129610 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
129611 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .memad(.src0x, .add_unaligned_size, -16), ._ },
129612 .{ .@"0:", .vp_, .xor, .tmp3x, .tmp2x, .memi(.src0x, .tmp0), ._ },
129613 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129614 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129615 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129616 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129617 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129618 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129619 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129620 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129621 } },
129622 }, .{
129623 .required_features = .{ .sse4_2, null, null, null },
129624 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129625 .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129626 .patterns = &.{
129627 .{ .src = .{ .to_mem, .none, .none } },
129628 },
129629 .extra_temps = .{
129630 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129631 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129632 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129633 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129634 .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } },
129635 .unused,
129636 .unused,
129637 .unused,
129638 .unused,
129639 .unused,
129640 .unused,
129641 },
129642 .dst_temps = .{ .{ .rc = .sse }, .unused },
129643 .clobbers = .{ .eflags = true },
129644 .each = .{ .once = &.{
129645 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129646 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
129647 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ },
129648 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ },
129649 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
129650 .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ },
129651 .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ },
129652 .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ },
129653 .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ },
129654 .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ },
129655 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129656 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129657 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129658 .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ },
129659 .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ },
129660 .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ },
129661 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
129662 } },
129663 }, .{
129664 .required_features = .{ .avx512f, null, null, null },
129665 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129666 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any },
129667 .patterns = &.{
129668 .{ .src = .{ .to_mem, .none, .none } },
129669 },
129670 .extra_temps = .{
129671 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129672 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
129673 .{ .type = .vector_8_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
129674 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129675 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129676 .unused,
129677 .unused,
129678 .unused,
129679 .unused,
129680 .unused,
129681 .unused,
129682 },
129683 .dst_temps = .{ .{ .rc = .sse }, .unused },
129684 .clobbers = .{ .eflags = true },
129685 .each = .{ .once = &.{
129686 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129687 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
129688 .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ },
129689 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
129690 .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ },
129691 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ },
129692 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129693 .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ },
129694 .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ },
129695 .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ },
129696 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y },
129697 .{ .@"0:", .v_dqa, .mov, .tmp3y, .memi(.src0y, .tmp0), ._, ._ },
129698 .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ },
129699 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y },
129700 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
129701 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129702 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129703 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129704 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129705 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129706 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129707 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129708 } },
129709 }, .{
129710 .required_features = .{ .avx2, null, null, null },
129711 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129712 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129713 .patterns = &.{
129714 .{ .src = .{ .to_mem, .none, .none } },
129715 },
129716 .extra_temps = .{
129717 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129718 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
129719 .{ .type = .vector_4_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
129720 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129721 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129722 .unused,
129723 .unused,
129724 .unused,
129725 .unused,
129726 .unused,
129727 .unused,
129728 },
129729 .dst_temps = .{ .{ .rc = .sse }, .unused },
129730 .clobbers = .{ .eflags = true },
129731 .each = .{ .once = &.{
129732 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129733 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
129734 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
129735 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
129736 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129737 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
129738 .{ .@"0:", .v_dqa, .mov, .tmp3y, .memi(.src0y, .tmp0), ._, ._ },
129739 .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ },
129740 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y },
129741 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
129742 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129743 .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129744 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129745 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129746 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129747 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129748 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129749 } },
129750 }, .{
129751 .required_features = .{ .avx, null, null, null },
129752 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129753 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129754 .patterns = &.{
129755 .{ .src = .{ .to_mem, .none, .none } },
129756 },
129757 .extra_temps = .{
129758 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129759 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
129760 .{ .type = .vector_4_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
129761 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129762 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129763 .unused,
129764 .unused,
129765 .unused,
129766 .unused,
129767 .unused,
129768 .unused,
129769 },
129770 .dst_temps = .{ .{ .rc = .sse }, .unused },
129771 .clobbers = .{ .eflags = true },
129772 .each = .{ .once = &.{
129773 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129774 .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ },
129775 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
129776 .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ },
129777 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129778 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
129779 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
129780 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129781 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129782 .{ .@"0:", .v_dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ },
129783 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129784 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129785 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129786 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129787 .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129788 .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ },
129789 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x },
129790 } },
129791 }, .{
129792 .required_features = .{ .sse4_2, null, null, null },
129793 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
129794 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129795 .patterns = &.{
129796 .{ .src = .{ .to_mem, .none, .none } },
129797 },
129798 .extra_temps = .{
129799 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129800 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
129801 .{ .type = .vector_2_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } },
129802 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129803 .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } },
129804 .unused,
129805 .unused,
129806 .unused,
129807 .unused,
129808 .unused,
129809 .unused,
129810 },
129811 .dst_temps = .{ .{ .rc = .sse }, .unused },
129812 .clobbers = .{ .eflags = true },
129813 .each = .{ .once = &.{
129814 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129815 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
129816 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
129817 .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
129818 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
129819 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
129820 .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ },
129821 .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ },
129822 .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ },
129823 .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ },
129824 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129825 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129826 .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ },
129827 .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ },
129828 .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ },
129829 .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ },
129830 } },
129831 }, .{
129832 .required_features = .{ .avx512f, null, null, null },
129833 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129834 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any },
129835 .patterns = &.{
129836 .{ .src = .{ .to_mem, .none, .none } },
129837 },
129838 .extra_temps = .{
129839 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129840 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129841 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129842 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
129843 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129844 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129845 .unused,
129846 .unused,
129847 .unused,
129848 .unused,
129849 .unused,
129850 },
129851 .dst_temps = .{ .{ .rc = .sse }, .unused },
129852 .clobbers = .{ .eflags = true },
129853 .each = .{ .once = &.{
129854 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129855 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129856 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
129857 .{ ._, .vp_, .xor, .tmp4y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
129858 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .memad(.src0y, .add_size, -64), ._ },
129859 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129860 .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ },
129861 .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ },
129862 .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ },
129863 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y },
129864 .{ .@"0:", .vp_, .xor, .tmp4y, .tmp2y, .memi(.src0y, .tmp0), ._ },
129865 .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ },
129866 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y },
129867 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
129868 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129869 .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
129870 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129871 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129872 .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
129873 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129874 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129875 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129876 } },
129877 }, .{
129878 .required_features = .{ .avx2, null, null, null },
129879 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129880 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129881 .patterns = &.{
129882 .{ .src = .{ .to_mem, .none, .none } },
129883 },
129884 .extra_temps = .{
129885 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129886 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129887 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129888 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
129889 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129890
129891 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129892 .unused,
129893 .unused,
129894 .unused,
129895 .unused,
129896 .unused,
129897 },
129898 .dst_temps = .{ .{ .rc = .sse }, .unused },
129899 .clobbers = .{ .eflags = true },
129900 .each = .{ .once = &.{
129901 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129902 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129903 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
129904 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
129905 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129906 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ },
129907 .{ .@"0:", .vp_, .xor, .tmp4y, .tmp2y, .memi(.src0y, .tmp0), ._ },
129908 .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ },
129909 .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y },
129910 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
129911 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129912 .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
129913 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129914 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129915 .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
129916 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129917 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129918 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129919 } },
129920 }, .{
129921 .required_features = .{ .avx, null, null, null },
129922 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129923 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
129924 .patterns = &.{
129925 .{ .src = .{ .to_mem, .none, .none } },
129926 },
129927 .extra_temps = .{
129928 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129929 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129930 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
129931 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
129932
129933 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129934 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129935 .unused,
129936 .unused,
129937 .unused,
129938 .unused,
129939 .unused,
129940 },
129941 .dst_temps = .{ .{ .rc = .sse }, .unused },
129942 .clobbers = .{ .eflags = true },
129943 .each = .{ .once = &.{
129944 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129945 .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
129946 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
129947 .{ ._, .v_ps, .xor, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ },
129948 .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ },
129949 .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ },
129950 .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ },
129951 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129952 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129953 .{ .@"0:", .vp_, .xor, .tmp4x, .tmp2x, .memi(.src0x, .tmp0), ._ },
129954 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129955 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129956 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129957 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129958 .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
129959 .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ },
129960 .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x },
129961 .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ },
129962 } },
129963 }, .{
129964 .required_features = .{ .sse4_2, null, null, null },
129965 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
129966 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
129967 .patterns = &.{
129968 .{ .src = .{ .to_mem, .none, .none } },
129969 },
129970 .extra_temps = .{
129971 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
129972 .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } },
129973 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129974 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } },
129975 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
129976 .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } },
129977 .unused,
129978 .unused,
129979 .unused,
129980 .unused,
129981 .unused,
129982 },
129983 .dst_temps = .{ .{ .rc = .sse }, .unused },
129984 .clobbers = .{ .eflags = true },
129985 .each = .{ .once = &.{
129986 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
129987 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
129988 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
129989 .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ },
129990 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
129991 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
129992 .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ },
129993 .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ },
129994 .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ },
129995 .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ },
129996 .{ ._, .p_q, .cmpgt, .tmp5x, .tmp4x, ._, ._ },
129997 .{ ._, .p_b, .blendv, .dst0x, .tmp4x, .tmp5x, ._ },
129998 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129999 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130000 .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ },
130001 .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ },
130002 .{ ._, .p_q, .cmpgt, .tmp5x, .tmp4x, ._, ._ },
130003 .{ ._, .p_b, .blendv, .dst0x, .tmp4x, .tmp5x, ._ },
130004 .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ },
130005 } },
130006 }, .{
130007 .required_features = .{ .@"64bit", .cmov, null, null },
130008 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
130009 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130010 .patterns = &.{
130011 .{ .src = .{ .to_mem, .none, .none } },
130012 },
130013 .extra_temps = .{
130014 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
130015 .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
130016 .unused,
130017 .unused,
130018 .unused,
130019 .unused,
130020 .unused,
130021 .unused,
130022 .unused,
130023 .unused,
130024 .unused,
130025 },
130026 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
130027 .clobbers = .{ .eflags = true },
130028 .each = .{ .once = &.{
130029 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ },
130030 .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ },
130031 .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ },
130032 .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ },
130033 .{ ._, ._g, .cmov, .dst0q, .tmp1q, ._, ._ },
130034 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
130035 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130036 } },
130037 }, .{
130038 .required_features = .{ .@"64bit", null, null, null },
130039 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
130040 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130041 .patterns = &.{
130042 .{ .src = .{ .to_mem, .none, .none } },
130043 },
130044 .extra_temps = .{
130045 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
130046 .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
130047 .unused,
130048 .unused,
130049 .unused,
130050 .unused,
130051 .unused,
130052 .unused,
130053 .unused,
130054 .unused,
130055 .unused,
130056 },
130057 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
130058 .clobbers = .{ .eflags = true },
130059 .each = .{ .once = &.{
130060 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ },
130061 .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ },
130062 .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ },
130063 .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ },
130064 .{ ._, ._ng, .j, .@"1f", ._, ._, ._ },
130065 .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ },
130066 .{ .@"1:", ._, .sub, .tmp0d, .si(8), ._, ._ },
130067 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130068 } },
130069 }, .{
130070 .required_features = .{ .@"64bit", .cmov, null, null },
130071 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
130072 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130073 .patterns = &.{
130074 .{ .src = .{ .to_mem, .none, .none } },
130075 },
130076 .extra_temps = .{
130077 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
130078 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
130079 .unused,
130080 .unused,
130081 .unused,
130082 .unused,
130083 .unused,
130084 .unused,
130085 .unused,
130086 .unused,
130087 .unused,
130088 },
130089 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
130090 .clobbers = .{ .eflags = true },
130091 .each = .{ .once = &.{
130092 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ },
130093 .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ },
130094 .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ },
130095 .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ },
130096 .{ ._, ._a, .cmov, .dst0q, .tmp1q, ._, ._ },
130097 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
130098 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130099 } },
130100 }, .{
130101 .required_features = .{ .@"64bit", null, null, null },
130102 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
130103 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130104 .patterns = &.{
130105 .{ .src = .{ .to_mem, .none, .none } },
130106 },
130107 .extra_temps = .{
130108 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
130109 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
130110 .unused,
130111 .unused,
130112 .unused,
130113 .unused,
130114 .unused,
130115 .unused,
130116 .unused,
130117 .unused,
130118 .unused,
130119 },
130120 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
130121 .clobbers = .{ .eflags = true },
130122 .each = .{ .once = &.{
130123 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ },
130124 .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ },
130125 .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ },
130126 .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ },
130127 .{ ._, ._na, .j, .@"1f", ._, ._, ._ },
130128 .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ },
130129 .{ .@"1:", ._, .sub, .tmp0d, .si(8), ._, ._ },
130130 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130131 } },
130132 }, .{
130133 .required_features = .{ .@"64bit", .cmov, null, null },
130134 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
130135 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130136 .patterns = &.{
130137 .{ .src = .{ .to_mem, .none, .none } },
130138 },
130139 .extra_temps = .{
130140 .{ .type = .u32, .kind = .{ .reg = .rdi } },
130141 .{ .type = .usize, .kind = .{ .reg = .rsi } },
130142 .{ .type = .isize, .kind = .{ .reg = .rcx } },
130143 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130144 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
130145 .unused,
130146 .unused,
130147 .unused,
130148 .unused,
130149 .unused,
130150 .unused,
130151 },
130152 .dst_temps = .{ .mem, .unused },
130153 .clobbers = .{ .eflags = true },
130154 .each = .{ .once = &.{
130155 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
130156 .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
130157 .{ .@"0:", ._, .mov, .tmp2p, .sia(1, .dst0, .sub_size_div_8), ._, ._ },
130158 .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ },
130159 .{ ._, ._c, .cl, ._, ._, ._, ._ },
130160 .{ .@"1:", ._, .mov, .tmp4q, .leasiad(.tmp1q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ },
130161 .{ ._, ._, .sbb, .tmp4q, .leasiad(.tmp3q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ },
130162 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
130163 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
130164 .{ ._, ._, .mov, .tmp4q, .leaad(.tmp1q, .add_src0_elem_size, -8), ._, ._ },
130165 .{ ._, ._, .sbb, .tmp4q, .leaad(.tmp3q, .add_src0_elem_size, -8), ._, ._ },
130166 .{ ._, ._nl, .cmov, .tmp1p, .tmp3p, ._, ._ },
130167 .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
130168 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130169 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
130170 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
130171 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
130172 } },
130173 }, .{
130174 .required_features = .{ .@"64bit", null, null, null },
130175 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
130176 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130177 .patterns = &.{
130178 .{ .src = .{ .to_mem, .none, .none } },
130179 },
130180 .extra_temps = .{
130181 .{ .type = .u32, .kind = .{ .reg = .rdi } },
130182 .{ .type = .usize, .kind = .{ .reg = .rsi } },
130183 .{ .type = .isize, .kind = .{ .reg = .rcx } },
130184 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130185 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
130186 .unused,
130187 .unused,
130188 .unused,
130189 .unused,
130190 .unused,
130191 .unused,
130192 },
130193 .dst_temps = .{ .mem, .unused },
130194 .clobbers = .{ .eflags = true },
130195 .each = .{ .once = &.{
130196 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
130197 .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
130198 .{ .@"0:", ._, .mov, .tmp2p, .sia(1, .dst0, .sub_size_div_8), ._, ._ },
130199 .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ },
130200 .{ ._, ._c, .cl, ._, ._, ._, ._ },
130201 .{ .@"1:", ._, .mov, .tmp4q, .leasiad(.tmp1q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ },
130202 .{ ._, ._, .sbb, .tmp4q, .leasiad(.tmp3q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ },
130203 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
130204 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
130205 .{ ._, ._, .mov, .tmp4q, .leaad(.tmp1q, .add_src0_elem_size, -8), ._, ._ },
130206 .{ ._, ._, .sbb, .tmp4q, .leaad(.tmp3q, .add_src0_elem_size, -8), ._, ._ },
130207 .{ ._, ._l, .j, .@"1f", ._, ._, ._ },
130208 .{ ._, ._, .mov, .tmp1p, .tmp3p, ._, ._ },
130209 .{ .@"1:", ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
130210 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130211 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
130212 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
130213 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
130214 } },
130215 }, .{
130216 .required_features = .{ .@"64bit", .cmov, null, null },
130217 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
130218 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130219 .patterns = &.{
130220 .{ .src = .{ .to_mem, .none, .none } },
130221 },
130222 .extra_temps = .{
130223 .{ .type = .u32, .kind = .{ .reg = .rdi } },
130224 .{ .type = .usize, .kind = .{ .reg = .rsi } },
130225 .{ .type = .isize, .kind = .{ .reg = .rcx } },
130226 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130227 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
130228 .unused,
130229 .unused,
130230 .unused,
130231 .unused,
130232 .unused,
130233 .unused,
130234 },
130235 .dst_temps = .{ .mem, .unused },
130236 .clobbers = .{ .eflags = true },
130237 .each = .{ .once = &.{
130238 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
130239 .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
130240 .{ .@"0:", ._, .mov, .tmp2p, .sa(.dst0, .sub_size_div_8), ._, ._ },
130241 .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ },
130242 .{ ._, ._c, .cl, ._, ._, ._, ._ },
130243 .{ .@"1:", ._, .mov, .tmp4q, .leasia(.tmp1q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ },
130244 .{ ._, ._, .sbb, .tmp4q, .leasia(.tmp3q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ },
130245 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
130246 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
130247 .{ ._, ._nb, .cmov, .tmp1p, .tmp3p, ._, ._ },
130248 .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
130249 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130250 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
130251 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
130252 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
130253 } },
130254 }, .{
130255 .required_features = .{ .@"64bit", null, null, null },
130256 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
130257 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
130258 .patterns = &.{
130259 .{ .src = .{ .to_mem, .none, .none } },
130260 },
130261 .extra_temps = .{
130262 .{ .type = .u32, .kind = .{ .reg = .rdi } },
130263 .{ .type = .usize, .kind = .{ .reg = .rsi } },
130264 .{ .type = .isize, .kind = .{ .reg = .rcx } },
130265 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130266 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
130267 .unused,
130268 .unused,
130269 .unused,
130270 .unused,
130271 .unused,
130272 .unused,
130273 },
130274 .dst_temps = .{ .mem, .unused },
130275 .clobbers = .{ .eflags = true },
130276 .each = .{ .once = &.{
130277 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ },
130278 .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ },
130279 .{ .@"0:", ._, .mov, .tmp2p, .sa(.dst0, .sub_size_div_8), ._, ._ },
130280 .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ },
130281 .{ ._, ._c, .cl, ._, ._, ._, ._ },
130282 .{ .@"1:", ._, .mov, .tmp4q, .leasia(.tmp1q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ },
130283 .{ ._, ._, .sbb, .tmp4q, .leasia(.tmp3q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ },
130284 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
130285 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
130286 .{ ._, ._b, .j, .@"1f", ._, ._, ._ },
130287 .{ ._, ._, .mov, .tmp1p, .tmp3p, ._, ._ },
130288 .{ .@"1:", ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ },
130289 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130290 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
130291 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
130292 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
130293 } },
130294 } },
130295 .Max => unreachable,
130296 .Add => comptime &.{ .{
130297 .required_features = .{ .avx, null, null, null },
130298 .dst_constraints = .{ .{ .int = .byte }, .any },
130299 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
130300 .patterns = &.{
130301 .{ .src = .{ .to_sse, .none, .none } },
130302 },
130303 .extra_temps = .{
130304 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130305 .unused,
130306 .unused,
130307 .unused,
130308 .unused,
130309 .unused,
130310 .unused,
130311 .unused,
130312 .unused,
130313 .unused,
130314 .unused,
130315 },
130316 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130317 .each = .{ .once = &.{
130318 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
130319 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
130320 } },
130321 }, .{
130322 .required_features = .{ .sse2, null, null, null },
130323 .dst_constraints = .{ .{ .int = .byte }, .any },
130324 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
130325 .patterns = &.{
130326 .{ .src = .{ .to_mut_sse, .none, .none } },
130327 },
130328 .extra_temps = .{
130329 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130330 .unused,
130331 .unused,
130332 .unused,
130333 .unused,
130334 .unused,
130335 .unused,
130336 .unused,
130337 .unused,
130338 .unused,
130339 .unused,
130340 },
130341 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130342 .each = .{ .once = &.{
130343 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
130344 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
130345 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130346 } },
130347 }, .{
130348 .required_features = .{ .avx, null, null, null },
130349 .dst_constraints = .{ .{ .int = .byte }, .any },
130350 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
130351 .patterns = &.{
130352 .{ .src = .{ .to_sse, .none, .none } },
130353 },
130354 .extra_temps = .{
130355 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130356 .unused,
130357 .unused,
130358 .unused,
130359 .unused,
130360 .unused,
130361 .unused,
130362 .unused,
130363 .unused,
130364 .unused,
130365 .unused,
130366 },
130367 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130368 .each = .{ .once = &.{
130369 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
130370 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
130371 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
130372 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130373 } },
130374 }, .{
130375 .required_features = .{ .sse2, null, null, null },
130376 .dst_constraints = .{ .{ .int = .byte }, .any },
130377 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
130378 .patterns = &.{
130379 .{ .src = .{ .to_mut_sse, .none, .none } },
130380 },
130381 .extra_temps = .{
130382 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130383 .unused,
130384 .unused,
130385 .unused,
130386 .unused,
130387 .unused,
130388 .unused,
130389 .unused,
130390 .unused,
130391 .unused,
130392 .unused,
130393 },
130394 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130395 .each = .{ .once = &.{
130396 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
130397 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130398 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
130399 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
130400 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130401 } },
130402 }, .{
130403 .required_features = .{ .avx, null, null, null },
130404 .dst_constraints = .{ .{ .int = .byte }, .any },
130405 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
130406 .patterns = &.{
130407 .{ .src = .{ .to_sse, .none, .none } },
130408 },
130409 .extra_temps = .{
130410 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130411 .unused,
130412 .unused,
130413 .unused,
130414 .unused,
130415 .unused,
130416 .unused,
130417 .unused,
130418 .unused,
130419 .unused,
130420 .unused,
130421 },
130422 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130423 .each = .{ .once = &.{
130424 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
130425 .{ ._, .vp_b, .add, .tmp0x, .src0x, .tmp0x, ._ },
130426 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
130427 .{ ._, .vp_b, .add, .dst0x, .tmp0x, .dst0x, ._ },
130428 } },
130429 }, .{
130430 .required_features = .{ .sse2, null, null, null },
130431 .dst_constraints = .{ .{ .int = .byte }, .any },
130432 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
130433 .patterns = &.{
130434 .{ .src = .{ .to_mut_sse, .none, .none } },
130435 },
130436 .extra_temps = .{
130437 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130438 .unused,
130439 .unused,
130440 .unused,
130441 .unused,
130442 .unused,
130443 .unused,
130444 .unused,
130445 .unused,
130446 .unused,
130447 .unused,
130448 },
130449 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130450 .each = .{ .once = &.{
130451 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
130452 .{ ._, .p_b, .add, .tmp0x, .src0x, ._, ._ },
130453 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
130454 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130455 } },
130456 }, .{
130457 .required_features = .{ .avx, null, null, null },
130458 .dst_constraints = .{ .{ .int = .byte }, .any },
130459 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
130460 .patterns = &.{
130461 .{ .src = .{ .to_sse, .none, .none } },
130462 },
130463 .extra_temps = .{
130464 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130465 .unused,
130466 .unused,
130467 .unused,
130468 .unused,
130469 .unused,
130470 .unused,
130471 .unused,
130472 .unused,
130473 .unused,
130474 .unused,
130475 },
130476 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130477 .each = .{ .once = &.{
130478 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
130479 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
130480 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130481 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130482 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
130483 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130484 } },
130485 }, .{
130486 .required_features = .{ .sse2, null, null, null },
130487 .dst_constraints = .{ .{ .int = .byte }, .any },
130488 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
130489 .patterns = &.{
130490 .{ .src = .{ .to_mut_sse, .none, .none } },
130491 },
130492 .extra_temps = .{
130493 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130494 .unused,
130495 .unused,
130496 .unused,
130497 .unused,
130498 .unused,
130499 .unused,
130500 .unused,
130501 .unused,
130502 .unused,
130503 .unused,
130504 },
130505 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130506 .each = .{ .once = &.{
130507 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
130508 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130509 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130510 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130511 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
130512 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
130513 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130514 } },
130515 }, .{
130516 .required_features = .{ .avx, null, null, null },
130517 .dst_constraints = .{ .{ .int = .byte }, .any },
130518 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
130519 .patterns = &.{
130520 .{ .src = .{ .to_sse, .none, .none } },
130521 },
130522 .extra_temps = .{
130523 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130524 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130525 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130526 .unused,
130527 .unused,
130528 .unused,
130529 .unused,
130530 .unused,
130531 .unused,
130532 .unused,
130533 .unused,
130534 },
130535 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130536 .each = .{ .once = &.{
130537 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130538 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
130539 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130540 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130541 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130542 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130543 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
130544 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130545 } },
130546 }, .{
130547 .required_features = .{ .sse2, null, null, null },
130548 .dst_constraints = .{ .{ .int = .byte }, .any },
130549 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
130550 .patterns = &.{
130551 .{ .src = .{ .to_mut_sse, .none, .none } },
130552 },
130553 .extra_temps = .{
130554 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130555 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130556 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130557 .unused,
130558 .unused,
130559 .unused,
130560 .unused,
130561 .unused,
130562 .unused,
130563 .unused,
130564 .unused,
130565 },
130566 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130567 .each = .{ .once = &.{
130568 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130569 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
130570 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130571 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130572 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130573 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130574 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
130575 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
130576 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130577 } },
130578 }, .{
130579 .required_features = .{ .avx, null, null, null },
130580 .dst_constraints = .{ .{ .int = .byte }, .any },
130581 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
130582 .patterns = &.{
130583 .{ .src = .{ .to_sse, .none, .none } },
130584 },
130585 .extra_temps = .{
130586 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130587 .unused,
130588 .unused,
130589 .unused,
130590 .unused,
130591 .unused,
130592 .unused,
130593 .unused,
130594 .unused,
130595 .unused,
130596 .unused,
130597 },
130598 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130599 .each = .{ .once = &.{
130600 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
130601 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
130602 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130603 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130604 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130605 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130606 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
130607 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130608 } },
130609 }, .{
130610 .required_features = .{ .sse2, null, null, null },
130611 .dst_constraints = .{ .{ .int = .byte }, .any },
130612 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
130613 .patterns = &.{
130614 .{ .src = .{ .to_mut_sse, .none, .none } },
130615 },
130616 .extra_temps = .{
130617 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130618 .unused,
130619 .unused,
130620 .unused,
130621 .unused,
130622 .unused,
130623 .unused,
130624 .unused,
130625 .unused,
130626 .unused,
130627 .unused,
130628 },
130629 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130630 .each = .{ .once = &.{
130631 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
130632 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130633 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130634 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130635 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130636 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130637 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
130638 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
130639 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
130640 } },
130641 }, .{
130642 .required_features = .{ .avx, null, null, null },
130643 .dst_constraints = .{ .{ .int = .byte }, .any },
130644 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
130645 .patterns = &.{
130646 .{ .src = .{ .to_sse, .none, .none } },
130647 },
130648 .extra_temps = .{
130649 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130650 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130651 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130652 .unused,
130653 .unused,
130654 .unused,
130655 .unused,
130656 .unused,
130657 .unused,
130658 .unused,
130659 .unused,
130660 },
130661 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130662 .each = .{ .once = &.{
130663 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130664 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
130665 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130666 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130667 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130668 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130669 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130670 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130671 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
130672 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130673 } },
130674 }, .{
130675 .required_features = .{ .sse2, null, null, null },
130676 .dst_constraints = .{ .{ .int = .byte }, .any },
130677 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
130678 .patterns = &.{
130679 .{ .src = .{ .to_mut_sse, .none, .none } },
130680 },
130681 .extra_temps = .{
130682 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130683 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130684 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130685 .unused,
130686 .unused,
130687 .unused,
130688 .unused,
130689 .unused,
130690 .unused,
130691 .unused,
130692 .unused,
130693 },
130694 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130695 .each = .{ .once = &.{
130696 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130697 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
130698 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130699 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130700 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130701 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130702 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130703 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130704 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
130705 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
130706 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
130707 } },
130708 }, .{
130709 .required_features = .{ .avx2, null, null, null },
130710 .dst_constraints = .{ .{ .int = .byte }, .any },
130711 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
130712 .patterns = &.{
130713 .{ .src = .{ .to_sse, .none, .none } },
130714 },
130715 .extra_temps = .{
130716 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130717 .unused,
130718 .unused,
130719 .unused,
130720 .unused,
130721 .unused,
130722 .unused,
130723 .unused,
130724 .unused,
130725 .unused,
130726 .unused,
130727 },
130728 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130729 .each = .{ .once = &.{
130730 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
130731 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
130732 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130733 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130734 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130735 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130736 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130737 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130738 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
130739 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130740 } },
130741 }, .{
130742 .required_features = .{ .avx, null, null, null },
130743 .dst_constraints = .{ .{ .int = .byte }, .any },
130744 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
130745 .patterns = &.{
130746 .{ .src = .{ .to_sse, .none, .none } },
130747 },
130748 .extra_temps = .{
130749 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130750 .unused,
130751 .unused,
130752 .unused,
130753 .unused,
130754 .unused,
130755 .unused,
130756 .unused,
130757 .unused,
130758 .unused,
130759 .unused,
130760 },
130761 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130762 .each = .{ .once = &.{
130763 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
130764 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },
130765 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130766 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130767 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130768 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130769 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130770 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130771 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
130772 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130773 } },
130774 }, .{
130775 .required_features = .{ .avx2, null, null, null },
130776 .dst_constraints = .{ .{ .int = .byte }, .any },
130777 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
130778 .patterns = &.{
130779 .{ .src = .{ .to_sse, .none, .none } },
130780 },
130781 .extra_temps = .{
130782 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130783 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130784 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130785 .unused,
130786 .unused,
130787 .unused,
130788 .unused,
130789 .unused,
130790 .unused,
130791 .unused,
130792 .unused,
130793 },
130794 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130795 .each = .{ .once = &.{
130796 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130797 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
130798 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
130799 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130800 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130801 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130802 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130803 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130804 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130805 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130806 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
130807 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130808 } },
130809 }, .{
130810 .required_features = .{ .avx, null, null, null },
130811 .dst_constraints = .{ .{ .int = .byte }, .any },
130812 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
130813 .patterns = &.{
130814 .{ .src = .{ .to_sse, .none, .none } },
130815 },
130816 .extra_temps = .{
130817 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130818 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130819 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130820 .unused,
130821 .unused,
130822 .unused,
130823 .unused,
130824 .unused,
130825 .unused,
130826 .unused,
130827 .unused,
130828 },
130829 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130830 .each = .{ .once = &.{
130831 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130832 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
130833 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
130834 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130835 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130836 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130837 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130838 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130839 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130840 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130841 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
130842 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130843 } },
130844 }, .{
130845 .required_features = .{ .avx512f, null, null, null },
130846 .dst_constraints = .{ .{ .int = .byte }, .any },
130847 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
130848 .patterns = &.{
130849 .{ .src = .{ .to_mem, .none, .none } },
130850 },
130851 .extra_temps = .{
130852 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130853 .unused,
130854 .unused,
130855 .unused,
130856 .unused,
130857 .unused,
130858 .unused,
130859 .unused,
130860 .unused,
130861 .unused,
130862 .unused,
130863 },
130864 .dst_temps = .{ .{ .rc = .sse }, .unused },
130865 .each = .{ .once = &.{
130866 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
130867 .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
130868 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
130869 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130870 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130871 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130872 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
130873 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130874 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
130875 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130876 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
130877 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
130878 } },
130879 }, .{
130880 .required_features = .{ .avx512f, null, null, null },
130881 .dst_constraints = .{ .{ .int = .byte }, .any },
130882 .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },
130883 .patterns = &.{
130884 .{ .src = .{ .to_mem, .none, .none } },
130885 },
130886 .extra_temps = .{
130887 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
130888 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
130889 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
130890 .unused,
130891 .unused,
130892 .unused,
130893 .unused,
130894 .unused,
130895 .unused,
130896 .unused,
130897 .unused,
130898 },
130899 .dst_temps = .{ .{ .rc = .sse }, .unused },
130900 .each = .{ .once = &.{
130901 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
130902 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },
130903 .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ },
130904 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ },
130905 .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ },
130906 .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ },
130907 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
130908 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130909 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130910 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130911 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
130912 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130913 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
130914 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130915 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
130916 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
130917 } },
130918 }, .{
130919 .required_features = .{ .avx2, null, null, null },
130920 .dst_constraints = .{ .{ .int = .byte }, .any },
130921 .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
130922 .patterns = &.{
130923 .{ .src = .{ .to_mem, .none, .none } },
130924 },
130925 .extra_temps = .{
130926 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
130927 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
130928 .unused,
130929 .unused,
130930 .unused,
130931 .unused,
130932 .unused,
130933 .unused,
130934 .unused,
130935 .unused,
130936 .unused,
130937 },
130938 .dst_temps = .{ .{ .rc = .sse }, .unused },
130939 .clobbers = .{ .eflags = true },
130940 .each = .{ .once = &.{
130941 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
130942 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },
130943 .{ .@"0:", .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ },
130944 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
130945 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
130946 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
130947 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
130948 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
130949 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
130950 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
130951 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
130952 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
130953 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
130954 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
130955 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
130956 } },
130957 }, .{
130958 .required_features = .{ .avx, null, null, null },
130959 .dst_constraints = .{ .{ .int = .byte }, .any },
130960 .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123472130961 .patterns = &.{
123473130962 .{ .src = .{ .to_mem, .none, .none } },
123474130963 },
......@@ -123493,11 +130982,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123493130982 .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
123494130983 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123495130984 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123496 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
130985 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123497130986 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123498 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
130987 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123499130988 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123500 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
130989 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
123501130990 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123502130991 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
123503130992 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
......@@ -123530,12 +131019,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123530131019 .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
123531131020 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123532131021 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123533 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
131022 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123534131023 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },
123535 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
131024 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123536131025 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },
123537 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
123538 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
131026 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
123539131027 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },
123540131028 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
123541131029 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
......@@ -123577,11 +131065,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123577131065 .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ },
123578131066 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123579131067 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123580 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131068 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123581131069 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123582 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131070 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123583131071 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123584 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131072 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123585131073 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123586131074 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123587131075 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -123618,11 +131106,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123618131106 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123619131107 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123620131108 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123621 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131109 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123622131110 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123623 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131111 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123624131112 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123625 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131113 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123626131114 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123627131115 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123628131116 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -123659,11 +131147,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123659131147 .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
123660131148 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123661131149 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123662 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131150 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123663131151 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123664 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131152 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123665131153 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123666 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131154 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123667131155 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123668131156 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123669131157 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
......@@ -123698,12 +131186,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123698131186 .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
123699131187 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123700131188 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123701 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131189 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123702131190 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123703 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131191 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123704131192 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123705 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123706 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
131193 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123707131194 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123708131195 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123709131196 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
......@@ -123799,7 +131286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123799131286 },
123800131287 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123801131288 .each = .{ .once = &.{
123802 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
131289 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123803131290 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
123804131291 } },
123805131292 }, .{
......@@ -123835,8 +131322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123835131322 },
123836131323 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123837131324 .each = .{ .once = &.{
123838 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
123839 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
131325 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123840131326 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123841131327 } },
123842131328 }, .{
......@@ -123873,9 +131359,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123873131359 },
123874131360 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123875131361 .each = .{ .once = &.{
123876 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
131362 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123877131363 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
123878 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
131364 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123879131365 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
123880131366 } },
123881131367 }, .{
......@@ -123912,10 +131398,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123912131398 },
123913131399 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123914131400 .each = .{ .once = &.{
123915 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
131401 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123916131402 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123917 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123918 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
131403 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123919131404 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123920131405 } },
123921131406 }, .{
......@@ -123941,7 +131426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123941131426 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123942131427 .each = .{ .once = &.{
123943131428 .{ ._, .vph_w, .add, .tmp0x, .src0x, .src0x, ._ },
123944 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
131429 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
123945131430 .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },
123946131431 } },
123947131432 }, .{
......@@ -123966,9 +131451,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123966131451 },
123967131452 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123968131453 .each = .{ .once = &.{
123969 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
131454 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123970131455 .{ ._, .vp_w, .add, .tmp0x, .src0x, .tmp0x, ._ },
123971 .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },
131456 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
123972131457 .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },
123973131458 } },
123974131459 }, .{
......@@ -123993,7 +131478,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123993131478 },
123994131479 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123995131480 .each = .{ .once = &.{
123996 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
131481 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123997131482 .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ },
123998131483 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123999131484 } },
......@@ -124017,11 +131502,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124017131502 .unused,
124018131503 .unused,
124019131504 },
124020 .dst_temps = .{ .{ .ref = .src0 }, .unused },
131505 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124021131506 .each = .{ .once = &.{
124022 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
131507 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
124023131508 .{ ._, .p_w, .add, .tmp0x, .src0x, ._, ._ },
124024 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
131509 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
124025131510 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124026131511 } },
124027131512 }, .{
......@@ -124059,11 +131544,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124059131544 },
124060131545 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124061131546 .each = .{ .once = &.{
124062 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
131547 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
124063131548 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
124064 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
131549 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124065131550 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124066 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
131551 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124067131552 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124068131553 } },
124069131554 }, .{
......@@ -124101,12 +131586,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124101131586 },
124102131587 .dst_temps = .{ .{ .ref = .src0 }, .unused },
124103131588 .each = .{ .once = &.{
124104 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
131589 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
124105131590 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124106 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
131591 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124107131592 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124108 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
124109 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
131593 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124110131594 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124111131595 } },
124112131596 }, .{
......@@ -124161,11 +131645,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124161131645 .each = .{ .once = &.{
124162131646 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124163131647 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
124164 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131648 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124165131649 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124166 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131650 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124167131651 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124168 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131652 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124169131653 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124170131654 } },
124171131655 }, .{
......@@ -124220,12 +131704,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124220131704 .each = .{ .once = &.{
124221131705 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124222131706 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
124223 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131707 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124224131708 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124225 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131709 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124226131710 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124227 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
124228 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
131711 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124229131712 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124230131713 } },
124231131714 }, .{
......@@ -124267,11 +131750,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124267131750 .each = .{ .once = &.{
124268131751 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124269131752 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
124270 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
131753 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124271131754 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124272 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
131755 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124273131756 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124274 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
131757 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124275131758 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124276131759 } },
124277131760 }, .{
......@@ -124313,11 +131796,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124313131796 .each = .{ .once = &.{
124314131797 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124315131798 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
124316 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
131799 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124317131800 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124318 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
131801 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124319131802 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124320 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
131803 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124321131804 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124322131805 } },
124323131806 }, .{
......@@ -124376,11 +131859,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124376131859 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
124377131860 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124378131861 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124379 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131862 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124380131863 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124381 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131864 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124382131865 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124383 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131866 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124384131867 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124385131868 } },
124386131869 }, .{
......@@ -124439,11 +131922,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124439131922 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
124440131923 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124441131924 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124442 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131925 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124443131926 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124444 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131927 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124445131928 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124446 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131929 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124447131930 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124448131931 } },
124449131932 }, .{
......@@ -124472,11 +131955,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124472131955 .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
124473131956 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
124474131957 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124475 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
131958 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124476131959 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124477 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
131960 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
124478131961 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124479 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
131962 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124480131963 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124481131964 } },
124482131965 }, .{
......@@ -124509,11 +131992,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124509131992 .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ },
124510131993 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124511131994 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124512 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
131995 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124513131996 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124514 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
131997 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124515131998 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124516 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
131999 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124517132000 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124518132001 } },
124519132002 }, .{
......@@ -124580,11 +132063,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124580132063 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124581132064 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
124582132065 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124583 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
132066 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124584132067 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124585 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
132068 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124586132069 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124587 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
132070 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124588132071 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124589132072 } },
124590132073 }, .{
......@@ -124647,11 +132130,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124647132130 .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124648132131 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124649132132 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124650 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
132133 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124651132134 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124652 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
132135 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124653132136 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124654 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
132137 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124655132138 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124656132139 } },
124657132140 }, .{
......@@ -124714,12 +132197,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124714132197 .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124715132198 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124716132199 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124717 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
132200 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124718132201 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },
124719 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
132202 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124720132203 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },
124721 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
124722 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
132204 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124723132205 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },
124724132206 } },
124725132207 }, .{
......@@ -124758,11 +132240,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124758132240 .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ },
124759132241 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124760132242 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124761 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
132243 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124762132244 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124763 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
132245 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124764132246 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124765 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
132247 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124766132248 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124767132249 } },
124768132250 }, .{
......@@ -124833,11 +132315,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124833132315 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124834132316 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124835132317 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124836 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
132318 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124837132319 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124838 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
132320 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124839132321 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124840 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
132322 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124841132323 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124842132324 } },
124843132325 }, .{
......@@ -124908,11 +132390,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124908132390 .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124909132391 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124910132392 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124911 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
132393 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124912132394 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124913 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
132395 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124914132396 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124915 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
132397 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124916132398 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124917132399 } },
124918132400 }, .{
......@@ -124979,12 +132461,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124979132461 .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124980132462 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124981132463 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124982 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
132464 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124983132465 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124984 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
132466 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124985132467 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124986 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
124987 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
132468 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124988132469 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124989132470 } },
124990132471 }, .{
......@@ -125048,7 +132529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125048132529 },
125049132530 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125050132531 .each = .{ .once = &.{
125051 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
132532 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125052132533 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },
125053132534 } },
125054132535 }, .{
......@@ -125084,7 +132565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125084132565 },
125085132566 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125086132567 .each = .{ .once = &.{
125087 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
132568 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125088132569 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125089132570 } },
125090132571 }, .{
......@@ -125121,9 +132602,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125121132602 },
125122132603 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125123132604 .each = .{ .once = &.{
125124 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
132605 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125125132606 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },
125126 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
132607 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125127132608 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125128132609 } },
125129132610 }, .{
......@@ -125160,9 +132641,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125160132641 },
125161132642 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125162132643 .each = .{ .once = &.{
125163 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
132644 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125164132645 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125165 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
132646 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125166132647 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125167132648 } },
125168132649 }, .{
......@@ -125188,7 +132669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125188132669 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125189132670 .each = .{ .once = &.{
125190132671 .{ ._, .vph_d, .add, .tmp0x, .src0x, .src0x, ._ },
125191 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
132672 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
125192132673 .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },
125193132674 } },
125194132675 }, .{
......@@ -125213,9 +132694,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125213132694 },
125214132695 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125215132696 .each = .{ .once = &.{
125216 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
132697 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125217132698 .{ ._, .vp_d, .add, .tmp0x, .src0x, .tmp0x, ._ },
125218 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
132699 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125219132700 .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },
125220132701 } },
125221132702 }, .{
......@@ -125240,7 +132721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125240132721 },
125241132722 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125242132723 .each = .{ .once = &.{
125243 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
132724 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125244132725 .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ },
125245132726 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125246132727 } },
......@@ -125266,9 +132747,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125266132747 },
125267132748 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125268132749 .each = .{ .once = &.{
125269 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
132750 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125270132751 .{ ._, .p_d, .add, .tmp0x, .src0x, ._, ._ },
125271 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
132752 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
125272132753 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125273132754 } },
125274132755 }, .{
......@@ -125309,9 +132790,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125309132790 .each = .{ .once = &.{
125310132791 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
125311132792 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },
125312 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
132793 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125313132794 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125314 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
132795 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125315132796 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125316132797 } },
125317132798 }, .{
......@@ -125352,9 +132833,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125352132833 .each = .{ .once = &.{
125353132834 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
125354132835 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },
125355 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
132836 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125356132837 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125357 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
132838 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125358132839 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125359132840 } },
125360132841 }, .{
......@@ -125412,9 +132893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125412132893 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
125413132894 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125414132895 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125415 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
132896 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125416132897 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125417 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
132898 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125418132899 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125419132900 } },
125420132901 }, .{
......@@ -125472,9 +132953,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125472132953 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
125473132954 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125474132955 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125475 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
132956 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125476132957 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125477 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
132958 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125478132959 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125479132960 } },
125480132961 }, .{
......@@ -125504,9 +132985,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125504132985 .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
125505132986 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
125506132987 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125507 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
132988 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125508132989 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125509 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
132990 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
125510132991 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125511132992 } },
125512132993 }, .{
......@@ -125540,9 +133021,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125540133021 .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ },
125541133022 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125542133023 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125543 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133024 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125544133025 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125545 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
133026 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125546133027 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125547133028 } },
125548133029 }, .{
......@@ -125608,9 +133089,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125608133089 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125609133090 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
125610133091 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125611 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
133092 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125612133093 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125613 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
133094 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125614133095 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125615133096 } },
125616133097 }, .{
......@@ -125672,9 +133153,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125672133153 .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
125673133154 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125674133155 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125675 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
133156 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125676133157 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125677 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
133158 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125678133159 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125679133160 } },
125680133161 }, .{
......@@ -125736,9 +133217,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125736133217 .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
125737133218 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125738133219 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125739 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
133220 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125740133221 .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ },
125741 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
133222 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125742133223 .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ },
125743133224 } },
125744133225 }, .{
......@@ -125777,9 +133258,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125777133258 .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ },
125778133259 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125779133260 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125780 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133261 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125781133262 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125782 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
133263 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125783133264 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125784133265 } },
125785133266 }, .{
......@@ -125849,9 +133330,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125849133330 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125850133331 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125851133332 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125852 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133333 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125853133334 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125854 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
133335 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125855133336 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125856133337 } },
125857133338 }, .{
......@@ -125920,9 +133401,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125920133401 .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
125921133402 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125922133403 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125923 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133404 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125924133405 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125925 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
133406 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125926133407 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125927133408 } },
125928133409 }, .{
......@@ -125988,9 +133469,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125988133469 .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
125989133470 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125990133471 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125991 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133472 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125992133473 .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ },
125993 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
133474 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125994133475 .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ },
125995133476 } },
125996133477 }, .{
......@@ -126043,7 +133524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126043133524 },
126044133525 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126045133526 .each = .{ .once = &.{
126046 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
133527 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
126047133528 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },
126048133529 } },
126049133530 }, .{
......@@ -126068,7 +133549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126068133549 },
126069133550 .dst_temps = .{ .{ .ref = .src0 }, .unused },
126070133551 .each = .{ .once = &.{
126071 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
133552 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
126072133553 .{ ._, .p_q, .add, .dst0x, .tmp0x, ._, ._ },
126073133554 } },
126074133555 }, .{
......@@ -126095,7 +133576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126095133576 .each = .{ .once = &.{
126096133577 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126097133578 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },
126098 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
133579 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
126099133580 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126100133581 } },
126101133582 }, .{
......@@ -126122,7 +133603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126122133603 .each = .{ .once = &.{
126123133604 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126124133605 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },
126125 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
133606 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
126126133607 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126127133608 } },
126128133609 }, .{
......@@ -126149,7 +133630,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126149133630 .each = .{ .once = &.{
126150133631 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126151133632 .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ },
126152 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
133633 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
126153133634 .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },
126154133635 } },
126155133636 }, .{
......@@ -126176,7 +133657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126176133657 .each = .{ .once = &.{
126177133658 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126178133659 .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ },
126179 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ },
133660 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ },
126180133661 .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },
126181133662 } },
126182133663 }, .{
......@@ -126205,7 +133686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126205133686 .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
126206133687 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
126207133688 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126208 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
133689 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
126209133690 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126210133691 } },
126211133692 }, .{
......@@ -126238,7 +133719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126238133719 .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ },
126239133720 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126240133721 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126241 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133722 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126242133723 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126243133724 } },
126244133725 }, .{
......@@ -126271,7 +133752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126271133752 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126272133753 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
126273133754 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },
126274 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
133755 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126275133756 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },
126276133757 } },
126277133758 }, .{
......@@ -126302,7 +133783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126302133783 .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126303133784 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126304133785 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126305 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
133786 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126306133787 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },
126307133788 } },
126308133789 }, .{
......@@ -126333,7 +133814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126333133814 .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126334133815 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126335133816 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126336 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
133817 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126337133818 .{ ._, .p_q, .add, .dst0x, .tmp1x, ._, ._ },
126338133819 } },
126339133820 }, .{
......@@ -126372,7 +133853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126372133853 .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ },
126373133854 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126374133855 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126375 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133856 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126376133857 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126377133858 } },
126378133859 }, .{
......@@ -126407,7 +133888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126407133888 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126408133889 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126409133890 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126410 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133891 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126411133892 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126412133893 } },
126413133894 }, .{
......@@ -126442,7 +133923,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126442133923 .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126443133924 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126444133925 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126445 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133926 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126446133927 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126447133928 } },
126448133929 }, .{
......@@ -126475,7 +133956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126475133956 .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126476133957 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126477133958 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126478 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
133959 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126479133960 .{ ._, .p_q, .add, .dst0x, .tmp2x, ._, ._ },
126480133961 } },
126481133962 }, .{
......@@ -126583,7 +134064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126583134064 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126584134065 .each = .{ .once = &.{
126585134066 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
126586 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
134067 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
126587134068 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
126588134069 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126589134070 } },
......@@ -126612,7 +134093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126612134093 .each = .{ .once = &.{
126613134094 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
126614134095 .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ },
126615 .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
134096 .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10) },
126616134097 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
126617134098 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126618134099 } },
......@@ -126640,9 +134121,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126640134121 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126641134122 .each = .{ .once = &.{
126642134123 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
126643 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
134124 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
126644134125 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
126645 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
134126 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
126646134127 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
126647134128 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126648134129 } },
......@@ -126707,7 +134188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126707134188 .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) },
126708134189 .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) },
126709134190 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
126710 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
134191 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
126711134192 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
126712134193 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126713134194 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
......@@ -126847,7 +134328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126847134328 },
126848134329 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126849134330 .each = .{ .once = &.{
126850 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },
134331 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
126851134332 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },
126852134333 } },
126853134334 }, .{
......@@ -126884,7 +134365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126884134365 .dst_temps = .{ .{ .ref = .src0 }, .unused },
126885134366 .each = .{ .once = &.{
126886134367 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
126887 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },
134368 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
126888134369 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
126889134370 } },
126890134371 }, .{
......@@ -126937,7 +134418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126937134418 .each = .{ .once = &.{
126938134419 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
126939134420 .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ },
126940 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01_01_01_01) },
134421 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) },
126941134422 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
126942134423 } },
126943134424 }, .{
......@@ -126992,7 +134473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126992134473 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
126993134474 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
126994134475 .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ },
126995 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
134476 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
126996134477 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
126997134478 } },
126998134479 }, .{
......@@ -127467,7 +134948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127467134948 .each = .{ .once = &.{
127468134949 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
127469134950 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
127470 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
134951 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127471134952 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127472134953 } },
127473134954 }, .{
......@@ -127495,8 +134976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127495134976 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127496134977 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
127497134978 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
127498 .{ ._, ._dqa, .mov, .dst0x, .tmp0x, ._, ._ },
127499 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
134979 .{ ._, .p_w, .shufl, .dst0x, .tmp0x, .ui(0b01), ._ },
127500134980 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127501134981 } },
127502134982 }, .{
......@@ -127521,7 +135001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127521135001 },
127522135002 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127523135003 .each = .{ .once = &.{
127524 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
135004 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
127525135005 .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },
127526135006 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
127527135007 .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },
......@@ -127548,8 +135028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127548135028 },
127549135029 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127550135030 .each = .{ .once = &.{
127551 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127552 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
135031 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
127553135032 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
127554135033 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
127555135034 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
......@@ -127578,9 +135057,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127578135057 .each = .{ .once = &.{
127579135058 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
127580135059 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
127581 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
135060 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127582135061 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127583 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
135062 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127584135063 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127585135064 } },
127586135065 }, .{
......@@ -127608,10 +135087,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127608135087 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127609135088 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
127610135089 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
127611 .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b01_01_01_01), ._ },
135090 .{ ._, .p_w, .shufl, .dst0x, .tmp0x, .ui(0b11_10), ._ },
127612135091 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127613 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
127614 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
135092 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127615135093 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127616135094 } },
127617135095 }, .{
......@@ -127643,9 +135121,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127643135121 .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },
127644135122 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
127645135123 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127646 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135124 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127647135125 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127648 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135126 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127649135127 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127650135128 } },
127651135129 }, .{
......@@ -127679,10 +135157,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127679135157 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127680135158 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
127681135159 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127682 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135160 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127683135161 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127684 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127685 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
135162 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127686135163 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127687135164 } },
127688135165 }, .{
......@@ -127709,11 +135186,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127709135186 .each = .{ .once = &.{
127710135187 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
127711135188 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
127712 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
135189 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127713135190 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127714 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
135191 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127715135192 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127716 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
135193 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127717135194 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127718135195 } },
127719135196 }, .{
......@@ -127741,12 +135218,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127741135218 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127742135219 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
127743135220 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
127744 .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b11_10_11_10), ._ },
135221 .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b11_10), ._ },
127745135222 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127746 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
135223 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127747135224 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127748 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
127749 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
135225 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127750135226 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127751135227 } },
127752135228 }, .{
......@@ -127777,11 +135253,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127777135253 .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },
127778135254 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
127779135255 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127780 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135256 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127781135257 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127782 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135258 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127783135259 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127784 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135260 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127785135261 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127786135262 } },
127787135263 }, .{
......@@ -127815,12 +135291,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127815135291 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127816135292 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
127817135293 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127818 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135294 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127819135295 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127820 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135296 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127821135297 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127822 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127823 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
135298 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127824135299 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127825135300 } },
127826135301 }, .{
......@@ -127849,11 +135324,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127849135324 .{ ._, .vp_w, .mull, .dst0y, .src0y, .tmp0y, ._ },
127850135325 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
127851135326 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127852 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
135327 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127853135328 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127854 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
135329 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127855135330 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127856 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
135331 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127857135332 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127858135333 } },
127859135334 }, .{
......@@ -127884,11 +135359,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127884135359 .{ ._, .vp_w, .srl, .tmp1x, .tmp0x, .ui(8), ._ },
127885135360 .{ ._, .vp_w, .mull, .tmp0x, .tmp0x, .tmp1x, ._ },
127886135361 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127887 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
135362 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127888135363 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127889 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
135364 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
127890135365 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127891 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
135366 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127892135367 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127893135368 } },
127894135369 }, .{
......@@ -127922,11 +135397,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127922135397 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
127923135398 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
127924135399 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127925 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135400 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127926135401 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127927 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135402 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127928135403 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127929 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135404 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127930135405 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127931135406 } },
127932135407 }, .{
......@@ -127964,11 +135439,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127964135439 .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ },
127965135440 .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ },
127966135441 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127967 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135442 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127968135443 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127969 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135444 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
127970135445 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127971 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135446 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127972135447 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127973135448 } },
127974135449 }, .{
......@@ -128002,11 +135477,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128002135477 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp0y, ._ },
128003135478 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
128004135479 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128005 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
135480 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128006135481 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128007 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
135482 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128008135483 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128009 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
135484 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128010135485 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128011135486 } },
128012135487 }, .{
......@@ -128045,11 +135520,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128045135520 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
128046135521 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128047135522 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128048 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135523 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128049135524 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128050 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135525 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128051135526 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128052 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135527 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128053135528 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128054135529 } },
128055135530 }, .{
......@@ -128085,11 +135560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128085135560 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128086135561 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
128087135562 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128088 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
135563 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128089135564 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128090 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
135565 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128091135566 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128092 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
135567 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128093135568 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128094135569 } },
128095135570 }, .{
......@@ -128123,11 +135598,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128123135598 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128124135599 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128125135600 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128126 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
135601 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128127135602 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128128 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
135603 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128129135604 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128130 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
135605 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128131135606 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128132135607 } },
128133135608 }, .{
......@@ -128162,12 +135637,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128162135637 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128163135638 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128164135639 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128165 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
135640 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128166135641 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128167 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
135642 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128168135643 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128169 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
128170 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
135644 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128171135645 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128172135646 } },
128173135647 }, .{
......@@ -128203,12 +135677,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128203135677 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128204135678 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128205135679 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128206 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
135680 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128207135681 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128208 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
135682 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128209135683 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128210 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
128211 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
135684 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128212135685 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128213135686 } },
128214135687 }, .{
......@@ -128255,11 +135728,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128255135728 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
128256135729 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128257135730 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128258 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135731 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128259135732 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128260 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135733 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128261135734 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128262 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135735 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128263135736 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128264135737 } },
128265135738 }, .{
......@@ -128298,11 +135771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128298135771 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128299135772 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128300135773 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128301 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135774 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128302135775 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128303 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135776 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128304135777 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128305 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135778 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128306135779 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128307135780 } },
128308135781 }, .{
......@@ -128345,11 +135818,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128345135818 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128346135819 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128347135820 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128348 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135821 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128349135822 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128350 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135823 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128351135824 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128352 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
135825 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128353135826 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128354135827 } },
128355135828 }, .{
......@@ -128388,12 +135861,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128388135861 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128389135862 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128390135863 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128391 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135864 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128392135865 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128393 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135866 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128394135867 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128395 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
128396 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
135868 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128397135869 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128398135870 } },
128399135871 }, .{
......@@ -128433,12 +135905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128433135905 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128434135906 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128435135907 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128436 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
135908 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128437135909 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128438 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
135910 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128439135911 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128440 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
128441 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
135912 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128442135913 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128443135914 } },
128444135915 }, .{
......@@ -128520,7 +135991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128520135991 },
128521135992 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128522135993 .each = .{ .once = &.{
128523 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },
135994 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
128524135995 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128525135996 } },
128526135997 }, .{
......@@ -128545,8 +136016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128545136016 },
128546136017 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128547136018 .each = .{ .once = &.{
128548 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
128549 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
136019 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
128550136020 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128551136021 } },
128552136022 }, .{
......@@ -128571,9 +136041,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128571136041 },
128572136042 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128573136043 .each = .{ .once = &.{
128574 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
136044 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128575136045 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128576 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
136046 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128577136047 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128578136048 } },
128579136049 }, .{
......@@ -128598,10 +136068,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128598136068 },
128599136069 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128600136070 .each = .{ .once = &.{
128601 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
136071 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128602136072 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128603 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
128604 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
136073 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128605136074 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128606136075 } },
128607136076 }, .{
......@@ -128626,9 +136095,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128626136095 },
128627136096 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128628136097 .each = .{ .once = &.{
128629 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
136098 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128630136099 .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },
128631 .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },
136100 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
128632136101 .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },
128633136102 } },
128634136103 }, .{
......@@ -128653,9 +136122,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128653136122 },
128654136123 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128655136124 .each = .{ .once = &.{
128656 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
136125 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128657136126 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
128658 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
136127 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
128659136128 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128660136129 } },
128661136130 }, .{
......@@ -128680,11 +136149,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128680136149 },
128681136150 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128682136151 .each = .{ .once = &.{
128683 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
136152 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
128684136153 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128685 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
136154 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128686136155 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128687 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
136156 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128688136157 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128689136158 } },
128690136159 }, .{
......@@ -128709,12 +136178,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128709136178 },
128710136179 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128711136180 .each = .{ .once = &.{
128712 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
136181 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
128713136182 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128714 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
136183 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128715136184 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128716 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
128717 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
136185 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128718136186 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128719136187 } },
128720136188 }, .{
......@@ -128744,11 +136212,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128744136212 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
128745136213 .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ },
128746136214 .{ ._, .vp_w, .sub, .dst0x, .dst0x, .tmp2x, ._ },
128747 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136215 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128748136216 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128749 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136217 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128750136218 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128751 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136219 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128752136220 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128753136221 } },
128754136222 }, .{
......@@ -128779,12 +136247,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128779136247 .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
128780136248 .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ },
128781136249 .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },
128782 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136250 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128783136251 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128784 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136252 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128785136253 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128786 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
128787 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
136254 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128788136255 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128789136256 } },
128790136257 }, .{
......@@ -128811,11 +136278,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128811136278 .each = .{ .once = &.{
128812136279 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
128813136280 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128814 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136281 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128815136282 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128816 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
136283 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128817136284 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128818 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
136285 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128819136286 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128820136287 } },
128821136288 }, .{
......@@ -128842,11 +136309,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128842136309 .each = .{ .once = &.{
128843136310 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
128844136311 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128845 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136312 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128846136313 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128847 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
136314 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128848136315 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128849 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
136316 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128850136317 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128851136318 } },
128852136319 }, .{
......@@ -128877,11 +136344,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128877136344 .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ },
128878136345 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128879136346 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128880 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136347 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128881136348 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128882 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136349 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128883136350 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128884 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136351 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128885136352 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128886136353 } },
128887136354 }, .{
......@@ -128914,11 +136381,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128914136381 .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
128915136382 .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
128916136383 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128917 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136384 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128918136385 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128919 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136386 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128920136387 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128921 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136388 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128922136389 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128923136390 } },
128924136391 }, .{
......@@ -128947,11 +136414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128947136414 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
128948136415 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
128949136416 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128950 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136417 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128951136418 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128952 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },
136419 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
128953136420 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128954 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
136421 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128955136422 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128956136423 } },
128957136424 }, .{
......@@ -128986,11 +136453,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128986136453 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
128987136454 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128988136455 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128989 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136456 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128990136457 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128991 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136458 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128992136459 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128993 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136460 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128994136461 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128995136462 } },
128996136463 }, .{
......@@ -129023,11 +136490,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129023136490 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129024136491 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
129025136492 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129026 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
136493 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129027136494 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129028 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
136495 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129029136496 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129030 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
136497 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
129031136498 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129032136499 } },
129033136500 }, .{
......@@ -129058,11 +136525,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129058136525 .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
129059136526 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129060136527 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129061 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
136528 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129062136529 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129063 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
136530 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129064136531 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129065 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },
136532 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
129066136533 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129067136534 } },
129068136535 }, .{
......@@ -129093,12 +136560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129093136560 .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
129094136561 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129095136562 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129096 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
136563 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129097136564 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
129098 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },
136565 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129099136566 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
129100 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
129101 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
136567 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
129102136568 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
129103136569 } },
129104136570 }, .{
......@@ -129139,11 +136605,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129139136605 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
129140136606 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
129141136607 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129142 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136608 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129143136609 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129144 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136610 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129145136611 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129146 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136612 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129147136613 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129148136614 } },
129149136615 }, .{
......@@ -129179,11 +136645,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129179136645 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129180136646 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
129181136647 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129182 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136648 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129183136649 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129184 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136650 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129185136651 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129186 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136652 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129187136653 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129188136654 } },
129189136655 }, .{
......@@ -129221,11 +136687,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129221136687 .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
129222136688 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129223136689 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129224 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136690 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129225136691 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129226 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136692 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129227136693 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129228 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },
136694 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129229136695 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129230136696 } },
129231136697 }, .{
......@@ -129260,12 +136726,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129260136726 .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
129261136727 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129262136728 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129263 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
136729 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129264136730 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
129265 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },
136731 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129266136732 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
129267 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
129268 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
136733 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129269136734 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
129270136735 } },
129271136736 }, .{
......@@ -129318,7 +136783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129318136783 },
129319136784 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129320136785 .each = .{ .once = &.{
129321 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
136786 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01), ._ },
129322136787 .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },
129323136788 } },
129324136789 }, .{
......@@ -129343,7 +136808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129343136808 },
129344136809 .dst_temps = .{ .{ .ref = .src0 }, .unused },
129345136810 .each = .{ .once = &.{
129346 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },
136811 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
129347136812 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129348136813 } },
129349136814 }, .{
......@@ -129370,7 +136835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129370136835 .each = .{ .once = &.{
129371136836 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },
129372136837 .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },
129373 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136838 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129374136839 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129375136840 } },
129376136841 }, .{
......@@ -129397,7 +136862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129397136862 .each = .{ .once = &.{
129398136863 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },
129399136864 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129400 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136865 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129401136866 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129402136867 } },
129403136868 }, .{
......@@ -129422,9 +136887,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129422136887 },
129423136888 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129424136889 .each = .{ .once = &.{
129425 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
136890 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
129426136891 .{ ._, .vp_udq, .mul, .tmp0x, .src0x, .tmp0x, ._ },
129427 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
136892 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
129428136893 .{ ._, .vp_udq, .mul, .dst0x, .tmp0x, .dst0x, ._ },
129429136894 } },
129430136895 }, .{
......@@ -129449,9 +136914,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129449136914 },
129450136915 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129451136916 .each = .{ .once = &.{
129452 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },
136917 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
129453136918 .{ ._, .p_udq, .mul, .tmp0x, .src0x, ._, ._ },
129454 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
136919 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ },
129455136920 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129456136921 } },
129457136922 }, .{
......@@ -129480,7 +136945,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129480136945 .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },
129481136946 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
129482136947 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129483 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136948 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129484136949 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129485136950 } },
129486136951 }, .{
......@@ -129509,7 +136974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129509136974 .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },
129510136975 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
129511136976 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129512 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
136977 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129513136978 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129514136979 } },
129515136980 }, .{
......@@ -129543,7 +137008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129543137008 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129544137009 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129545137010 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129546 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137011 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129547137012 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129548137013 } },
129549137014 }, .{
......@@ -129579,7 +137044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129579137044 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129580137045 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129581137046 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129582 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137047 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129583137048 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129584137049 } },
129585137050 }, .{
......@@ -129610,7 +137075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129610137075 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp0x, ._ },
129611137076 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
129612137077 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129613 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },
137078 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
129614137079 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129615137080 } },
129616137081 }, .{
......@@ -129647,7 +137112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129647137112 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129648137113 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129649137114 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129650 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137115 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129651137116 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129652137117 } },
129653137118 }, .{
......@@ -129682,7 +137147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129682137147 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129683137148 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
129684137149 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
129685 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
137150 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129686137151 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
129687137152 } },
129688137153 }, .{
......@@ -129715,7 +137180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129715137180 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129716137181 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
129717137182 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
129718 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
137183 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129719137184 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
129720137185 } },
129721137186 }, .{
......@@ -129748,7 +137213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129748137213 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129749137214 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
129750137215 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129751 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
137216 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129752137217 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129753137218 } },
129754137219 }, .{
......@@ -129784,7 +137249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129784137249 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129785137250 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129786137251 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129787 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },
137252 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129788137253 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129789137254 } },
129790137255 }, .{
......@@ -129827,7 +137292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129827137292 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129828137293 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129829137294 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129830 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137295 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129831137296 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129832137297 } },
129833137298 }, .{
......@@ -129865,7 +137330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129865137330 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129866137331 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129867137332 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129868 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137333 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129869137334 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129870137335 } },
129871137336 }, .{
......@@ -129905,7 +137370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129905137370 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129906137371 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129907137372 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129908 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137373 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129909137374 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129910137375 } },
129911137376 }, .{
......@@ -129942,7 +137407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129942137407 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129943137408 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129944137409 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129945 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137410 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129946137411 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129947137412 } },
129948137413 }, .{
......@@ -129982,7 +137447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129982137447 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129983137448 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129984137449 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129985 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },
137450 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129986137451 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129987137452 } },
129988137453 }, .{
......@@ -130320,7 +137785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130320137785 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130321137786 .each = .{ .once = &.{
130322137787 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
130323 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
137788 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
130324137789 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
130325137790 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
130326137791 } },
......@@ -130348,9 +137813,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130348137813 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130349137814 .each = .{ .once = &.{
130350137815 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
130351 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
137816 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
130352137817 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
130353 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
137818 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
130354137819 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
130355137820 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
130356137821 } },
......@@ -130382,7 +137847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130382137847 .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) },
130383137848 .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) },
130384137849 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
130385 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
137850 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
130386137851 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
130387137852 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
130388137853 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
......@@ -130511,7 +137976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130511137976 },
130512137977 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130513137978 .each = .{ .once = &.{
130514 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },
137979 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
130515137980 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },
130516137981 } },
130517137982 }, .{
......@@ -130537,7 +138002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130537138002 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130538138003 .each = .{ .once = &.{
130539138004 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
130540 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },
138005 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
130541138006 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
130542138007 } },
130543138008 }, .{
......@@ -130564,7 +138029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130564138029 .each = .{ .once = &.{
130565138030 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
130566138031 .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ },
130567 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01_01_01_01) },
138032 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) },
130568138033 .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ },
130569138034 } },
130570138035 }, .{
......@@ -130592,7 +138057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130592138057 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
130593138058 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
130594138059 .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ },
130595 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
138060 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
130596138061 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
130597138062 } },
130598138063 }, .{
......@@ -130948,8 +138413,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130948138413 } },
130949138414 } },
130950138415 }) catch |err| switch (err) {
130951 error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
138416 error.SelectFailed => return cg.fail("failed to select {s}.{s} {} {}", .{
130952138417 @tagName(air_tag),
138418 @tagName(reduce.operation),
130953138419 cg.typeOf(reduce.operand).fmt(pt),
130954138420 ops[0].tracking(cg),
130955138421 }),
......@@ -130958,8 +138424,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130958138424 switch (reduce.operation) {
130959138425 .And, .Or, .Xor, .Min, .Max => {},
130960138426 .Add, .Mul => if (cg.intInfo(res_ty)) |_| res[0].wrapInt(cg) catch |err| switch (err) {
130961 error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{
138427 error.SelectFailed => return cg.fail("failed to select {s}.{s} wrap {} {}", .{
130962138428 @tagName(air_tag),
138429 @tagName(reduce.operation),
130963138430 res_ty.fmt(pt),
130964138431 res[0].tracking(cg),
130965138432 }),
......@@ -131018,7 +138485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131018138485 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131019138486 .each = .{ .once = &.{
131020138487 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
131021 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138488 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
131022138489 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131023138490 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131024138491 } },
......@@ -131047,7 +138514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131047138514 .each = .{ .once = &.{
131048138515 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
131049138516 .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ },
131050 .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138517 .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10) },
131051138518 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
131052138519 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131053138520 } },
......@@ -131075,9 +138542,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131075138542 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131076138543 .each = .{ .once = &.{
131077138544 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
131078 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138545 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
131079138546 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131080 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138547 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
131081138548 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131082138549 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131083138550 } },
......@@ -131120,9 +138587,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131120138587 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131121138588 .each = .{ .once = &.{
131122138589 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
131123 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138590 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
131124138591 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
131125 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138592 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
131126138593 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131127138594 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131128138595 } },
......@@ -131184,9 +138651,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131184138651 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
131185138652 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131186138653 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131187 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138654 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) },
131188138655 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131189 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138656 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
131190138657 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131191138658 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131192138659 } },
......@@ -131246,9 +138713,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131246138713 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
131247138714 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
131248138715 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
131249 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138716 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
131250138717 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
131251 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138718 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
131252138719 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131253138720 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131254138721 } },
......@@ -131316,9 +138783,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131316138783 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ },
131317138784 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131318138785 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131319 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138786 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) },
131320138787 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131321 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138788 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
131322138789 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131323138790 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131324138791 } },
......@@ -131382,9 +138849,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131382138849 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },
131383138850 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
131384138851 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
131385 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138852 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
131386138853 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
131387 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138854 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
131388138855 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131389138856 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131390138857 } },
......@@ -131426,9 +138893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131426138893 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ },
131427138894 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131428138895 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131429 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138896 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) },
131430138897 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131431 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138898 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
131432138899 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131433138900 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131434138901 } },
......@@ -131467,9 +138934,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131467138934 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ },
131468138935 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
131469138936 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
131470 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
138937 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) },
131471138938 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
131472 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
138939 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
131473138940 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
131474138941 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131475138942 } },
......@@ -131539,9 +139006,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131539139006 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
131540139007 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
131541139008 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
131542 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
139009 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) },
131543139010 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
131544 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139011 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
131545139012 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
131546139013 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131547139014 } },
......@@ -131589,9 +139056,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131589139056 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
131590139057 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131591139058 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131592 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
139059 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) },
131593139060 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131594 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139061 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
131595139062 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131596139063 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131597139064 } },
......@@ -131673,9 +139140,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131673139140 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
131674139141 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131675139142 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131676 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
139143 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) },
131677139144 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
131678 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139145 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
131679139146 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131680139147 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131681139148 } },
......@@ -131813,7 +139280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131813139280 },
131814139281 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131815139282 .each = .{ .once = &.{
131816 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },
139283 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
131817139284 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },
131818139285 } },
131819139286 }, .{
......@@ -131850,7 +139317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131850139317 .dst_temps = .{ .{ .ref = .src0 }, .unused },
131851139318 .each = .{ .once = &.{
131852139319 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
131853 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },
139320 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
131854139321 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
131855139322 } },
131856139323 }, .{
......@@ -131903,7 +139370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131903139370 .each = .{ .once = &.{
131904139371 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
131905139372 .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ },
131906 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01_01_01_01) },
139373 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) },
131907139374 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
131908139375 } },
131909139376 }, .{
......@@ -131958,7 +139425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131958139425 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
131959139426 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
131960139427 .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ },
131961 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
139428 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
131962139429 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
131963139430 } },
131964139431 }, .{
......@@ -131997,7 +139464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131997139464 .each = .{ .once = &.{
131998139465 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
131999139466 .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp0x, ._ },
132000 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },
139467 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
132001139468 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },
132002139469 } },
132003139470 }, .{
......@@ -132038,7 +139505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132038139505 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
132039139506 .{ ._, ._ps, .add, .dst0x, .tmp0x, ._, ._ },
132040139507 .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ },
132041 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },
139508 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
132042139509 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
132043139510 } },
132044139511 }, .{
......@@ -132098,7 +139565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132098139565 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132099139566 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132100139567 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132101 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139568 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
132102139569 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132103139570 } },
132104139571 }, .{
......@@ -132154,7 +139621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132154139621 .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp1x, ._ },
132155139622 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
132156139623 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
132157 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139624 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
132158139625 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
132159139626 } },
132160139627 }, .{
......@@ -132189,7 +139656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132189139656 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132190139657 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132191139658 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132192 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139659 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
132193139660 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132194139661 } },
132195139662 }, .{
......@@ -132221,7 +139688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132221139688 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
132222139689 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
132223139690 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
132224 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139691 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
132225139692 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
132226139693 } },
132227139694 }, .{
......@@ -132289,7 +139756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132289139756 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
132290139757 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
132291139758 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
132292 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139759 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
132293139760 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
132294139761 } },
132295139762 }, .{
......@@ -132355,7 +139822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132355139822 .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ },
132356139823 .{ ._, ._ps, .add, .dst0x, .tmp1x, ._, ._ },
132357139824 .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ },
132358 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01_01_01_01), ._ },
139825 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ },
132359139826 .{ ._, ._ss, .add, .dst0x, .tmp1x, ._, ._ },
132360139827 } },
132361139828 }, .{
......@@ -132396,7 +139863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132396139863 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132397139864 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132398139865 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132399 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139866 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
132400139867 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132401139868 } },
132402139869 }, .{
......@@ -132468,7 +139935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132468139935 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
132469139936 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132470139937 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132471 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
139938 .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) },
132472139939 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132473139940 } },
132474139941 }, .{
......@@ -132538,7 +140005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132538140005 .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ },
132539140006 .{ ._, ._ps, .add, .dst0x, .tmp2x, ._, ._ },
132540140007 .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ },
132541 .{ ._, ._ps, .shuf, .tmp2x, .tmp2x, .ui(0b01_01_01_01), ._ },
140008 .{ ._, ._ps, .shuf, .tmp2x, .tmp2x, .ui(0b01), ._ },
132542140009 .{ ._, ._ss, .add, .dst0x, .tmp2x, ._, ._ },
132543140010 } },
132544140011 }, .{
......@@ -133263,7 +140730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133263140730 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133264140731 .each = .{ .once = &.{
133265140732 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
133266 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140733 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
133267140734 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133268140735 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133269140736 } },
......@@ -133291,9 +140758,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133291140758 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133292140759 .each = .{ .once = &.{
133293140760 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
133294 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140761 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
133295140762 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133296 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140763 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
133297140764 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133298140765 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133299140766 } },
......@@ -133321,9 +140788,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133321140788 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133322140789 .each = .{ .once = &.{
133323140790 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
133324 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140791 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
133325140792 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133326 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140793 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
133327140794 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133328140795 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133329140796 } },
......@@ -133337,7 +140804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133337140804 .extra_temps = .{
133338140805 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133339140806 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
133340 .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
140807 .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
133341140808 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133342140809 .unused,
133343140810 .unused,
......@@ -133356,9 +140823,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133356140823 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
133357140824 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133358140825 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133359 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140826 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) },
133360140827 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133361 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140828 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
133362140829 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133363140830 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133364140831 } },
......@@ -133388,9 +140855,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133388140855 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
133389140856 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
133390140857 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133391 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140858 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
133392140859 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133393 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140860 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
133394140861 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133395140862 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133396140863 } },
......@@ -133404,7 +140871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133404140871 .extra_temps = .{
133405140872 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133406140873 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
133407 .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
140874 .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
133408140875 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133409140876 .unused,
133410140877 .unused,
......@@ -133426,9 +140893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133426140893 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ },
133427140894 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133428140895 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133429 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140896 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) },
133430140897 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133431 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140898 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
133432140899 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133433140900 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133434140901 } },
......@@ -133460,9 +140927,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133460140927 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },
133461140928 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
133462140929 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133463 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140930 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) },
133464140931 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133465 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140932 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
133466140933 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133467140934 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133468140935 } },
......@@ -133476,7 +140943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133476140943 .extra_temps = .{
133477140944 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133478140945 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
133479 .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
140946 .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
133480140947 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133481140948 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133482140949 .unused,
......@@ -133507,9 +140974,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133507140974 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ },
133508140975 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133509140976 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133510 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
140977 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) },
133511140978 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133512 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
140979 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
133513140980 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133514140981 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133515140982 } },
......@@ -133548,9 +141015,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133548141015 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp1y, ._ },
133549141016 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
133550141017 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133551 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
141018 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) },
133552141019 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133553 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141020 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
133554141021 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133555141022 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133556141023 } },
......@@ -133585,9 +141052,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133585141052 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
133586141053 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
133587141054 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133588 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
141055 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) },
133589141056 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133590 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141057 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
133591141058 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133592141059 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133593141060 } },
......@@ -133601,7 +141068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133601141068 .extra_temps = .{
133602141069 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
133603141070 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
133604 .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141071 .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
133605141072 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133606141073 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133607141074 .unused,
......@@ -133638,9 +141105,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133638141105 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
133639141106 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133640141107 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133641 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
141108 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) },
133642141109 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133643 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141110 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
133644141111 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133645141112 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133646141113 } },
......@@ -133654,7 +141121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133654141121 .extra_temps = .{
133655141122 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
133656141123 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
133657 .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141124 .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
133658141125 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133659141126 .unused,
133660141127 .unused,
......@@ -133683,9 +141150,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133683141150 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
133684141151 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133685141152 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133686 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10_11_10) },
141153 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) },
133687141154 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133688 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141155 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
133689141156 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133690141157 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133691141158 } },
......@@ -133812,7 +141279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133812141279 },
133813141280 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133814141281 .each = .{ .once = &.{
133815 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },
141282 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
133816141283 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },
133817141284 } },
133818141285 }, .{
......@@ -133838,7 +141305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133838141305 .dst_temps = .{ .{ .ref = .src0 }, .unused },
133839141306 .each = .{ .once = &.{
133840141307 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
133841 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },
141308 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
133842141309 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
133843141310 } },
133844141311 }, .{
......@@ -133865,7 +141332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133865141332 .each = .{ .once = &.{
133866141333 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
133867141334 .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ },
133868 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01_01_01_01) },
141335 .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) },
133869141336 .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ },
133870141337 } },
133871141338 }, .{
......@@ -133893,7 +141360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133893141360 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
133894141361 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
133895141362 .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ },
133896 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },
141363 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
133897141364 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
133898141365 } },
133899141366 }, .{
......@@ -133920,7 +141387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133920141387 .each = .{ .once = &.{
133921141388 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
133922141389 .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp0x, ._ },
133923 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },
141390 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
133924141391 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },
133925141392 } },
133926141393 }, .{
......@@ -133949,7 +141416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133949141416 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
133950141417 .{ ._, ._ps, .mul, .dst0x, .tmp0x, ._, ._ },
133951141418 .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ },
133952 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },
141419 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
133953141420 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
133954141421 } },
133955141422 }, .{
......@@ -133962,7 +141429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133962141429 .extra_temps = .{
133963141430 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133964141431 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
133965 .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141432 .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
133966141433 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
133967141434 .unused,
133968141435 .unused,
......@@ -133982,7 +141449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133982141449 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133983141450 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
133984141451 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133985 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141452 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
133986141453 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133987141454 } },
133988141455 }, .{
......@@ -134011,7 +141478,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134011141478 .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp1x, ._ },
134012141479 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
134013141480 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134014 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141481 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
134015141482 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134016141483 } },
134017141484 }, .{
......@@ -134024,7 +141491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134024141491 .extra_temps = .{
134025141492 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
134026141493 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134027 .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141494 .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134028141495 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
134029141496 .unused,
134030141497 .unused,
......@@ -134049,7 +141516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134049141516 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134050141517 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
134051141518 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134052 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141519 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
134053141520 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134054141521 } },
134055141522 }, .{
......@@ -134081,7 +141548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134081141548 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
134082141549 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
134083141550 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
134084 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141551 .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) },
134085141552 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
134086141553 } },
134087141554 }, .{
......@@ -134116,7 +141583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134116141583 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134117141584 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
134118141585 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134119 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141586 .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) },
134120141587 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134121141588 } },
134122141589 }, .{
......@@ -134151,7 +141618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134151141618 .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ },
134152141619 .{ ._, ._ps, .mul, .dst0x, .tmp1x, ._, ._ },
134153141620 .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ },
134154 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01_01_01_01), ._ },
141621 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ },
134155141622 .{ ._, ._ss, .mul, .dst0x, .tmp1x, ._, ._ },
134156141623 } },
134157141624 }, .{
......@@ -134164,7 +141631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134164141631 .extra_temps = .{
134165141632 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134166141633 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134167 .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141634 .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134168141635 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
134169141636 .unused,
134170141637 .unused,
......@@ -134195,7 +141662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134195141662 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134196141663 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
134197141664 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134198 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141665 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
134199141666 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134200141667 } },
134201141668 }, .{
......@@ -134208,7 +141675,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134208141675 .extra_temps = .{
134209141676 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134210141677 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134211 .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141678 .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134212141679 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
134213141680 .unused,
134214141681 .unused,
......@@ -134234,7 +141701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134234141701 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
134235141702 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
134236141703 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134237 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01_01_01_01) },
141704 .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) },
134238141705 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134239141706 } },
134240141707 }, .{
......@@ -134247,7 +141714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134247141714 .extra_temps = .{
134248141715 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134249141716 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134250 .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141717 .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134251141718 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
134252141719 .unused,
134253141720 .unused,
......@@ -134273,7 +141740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134273141740 .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ },
134274141741 .{ ._, ._ps, .mul, .dst0x, .tmp3x, ._, ._ },
134275141742 .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ },
134276 .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01_01_01_01), ._ },
141743 .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ },
134277141744 .{ ._, ._ss, .mul, .dst0x, .tmp3x, ._, ._ },
134278141745 } },
134279141746 }, .{
......@@ -134391,7 +141858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134391141858 .extra_temps = .{
134392141859 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
134393141860 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134394 .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141861 .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134395141862 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
134396141863 .unused,
134397141864 .unused,
......@@ -134522,7 +141989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134522141989 .extra_temps = .{
134523141990 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134524141991 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134525 .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
141992 .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134526141993 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
134527141994 .unused,
134528141995 .unused,
......@@ -134564,7 +142031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134564142031 .extra_temps = .{
134565142032 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134566142033 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134567 .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
142034 .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134568142035 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
134569142036 .unused,
134570142037 .unused,
......@@ -134601,7 +142068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134601142068 .extra_temps = .{
134602142069 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134603142070 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },
134604 .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .val = 1.0, .fill = .outside } } },
142071 .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } },
134605142072 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
134606142073 .unused,
134607142074 .unused,
......@@ -134783,8 +142250,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134783142250 } },
134784142251 } },
134785142252 }) catch |err| switch (err) {
134786 error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
142253 error.SelectFailed => return cg.fail("failed to select {s}.{s} {} {}", .{
134787142254 @tagName(air_tag),
142255 @tagName(reduce.operation),
134788142256 cg.typeOf(reduce.operand).fmt(pt),
134789142257 ops[0].tracking(cg),
134790142258 }),
......@@ -154977,17 +162445,18 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
154977162445 );
154978162446 } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)});
154979162447 const elem_bits: u16 = @intCast(elem_abi_size * 8);
154980 const mask_elem_ty = try pt.intType(.unsigned, elem_bits);
154981 const mask_ty = try pt.vectorType(.{ .len = vec_len, .child = mask_elem_ty.toIntern() });
154982162448 if (!pred_fits_in_elem) if (self.hasFeature(.ssse3)) {
154983 var mask_elems: [32]InternPool.Index = undefined;
154984 for (mask_elems[0..vec_len], 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{
154985 .ty = mask_elem_ty.toIntern(),
154986 .storage = .{ .u64 = bit / elem_bits },
154987 } });
162449 const mask_len = elem_abi_size * vec_len;
162450 const mask_ty = try pt.vectorType(.{
162451 .len = mask_len,
162452 .child = .u8_type,
162453 });
162454 var mask_elems_buf: [32]u8 = undefined;
162455 const mask_elems = mask_elems_buf[0..mask_len];
162456 for (mask_elems, 0..) |*elem, bit| elem.* = @intCast(bit / elem_bits);
154988162457 const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{
154989162458 .ty = mask_ty.toIntern(),
154990 .storage = .{ .elems = mask_elems[0..vec_len] },
162459 .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, mask_elems, .maybe_embedded_nulls) },
154991162460 } })));
154992162461 const mask_mem: Memory = .{
154993162462 .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) },
......@@ -155005,14 +162474,17 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
155005162474 );
155006162475 } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)});
155007162476 {
155008 var mask_elems: [32]InternPool.Index = undefined;
155009 for (mask_elems[0..vec_len], 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{
162477 const mask_elem_ty = try pt.intType(.unsigned, elem_bits);
162478 const mask_ty = try pt.vectorType(.{ .len = vec_len, .child = mask_elem_ty.toIntern() });
162479 var mask_elems_buf: [32]InternPool.Index = undefined;
162480 const mask_elems = mask_elems_buf[0..vec_len];
162481 for (mask_elems, 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{
155010162482 .ty = mask_elem_ty.toIntern(),
155011 .storage = .{ .u64 = @as(u32, 1) << @intCast(bit & (elem_bits - 1)) },
162483 .storage = .{ .u64 = @as(u64, 1) << @intCast(bit) },
155012162484 } });
155013162485 const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{
155014162486 .ty = mask_ty.toIntern(),
155015 .storage = .{ .elems = mask_elems[0..vec_len] },
162487 .storage = .{ .elems = mask_elems },
155016162488 } })));
155017162489 const mask_mem: Memory = .{
155018162490 .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) },
......@@ -155026,7 +162498,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
155026162498 mask_mem,
155027162499 );
155028162500 try self.asmRegisterRegisterMemory(
155029 .{ .vp_d, .cmpeq },
162501 .{ switch (elem_abi_size) {
162502 else => unreachable,
162503 1 => .vp_b,
162504 2 => .vp_w,
162505 4 => .vp_d,
162506 8 => .vp_q,
162507 }, .cmpeq },
155030162508 mask_alias,
155031162509 mask_alias,
155032162510 mask_mem,
......@@ -155038,7 +162516,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
155038162516 mask_mem,
155039162517 );
155040162518 try self.asmRegisterMemory(
155041 .{ .p_d, .cmpeq },
162519 .{ switch (elem_abi_size) {
162520 else => unreachable,
162521 1 => .p_b,
162522 2 => .p_w,
162523 4 => .p_d,
162524 8 => if (has_blend) .p_q else unreachable,
162525 }, .cmpeq },
155042162526 mask_alias,
155043162527 mask_mem,
155044162528 );
......@@ -156792,8 +164276,8 @@ fn genTypedValue(self: *CodeGen, val: Value) InnerError!MCValue {
156792164276 return self.genResult(try codegen.genTypedValue(self.bin_file, self.pt, self.src_loc, val, self.target.*));
156793164277}
156794164278
156795fn lowerUav(self: *CodeGen, val: Value) InnerError!MCValue {
156796 return self.genResult(try self.bin_file.lowerUav(self.pt, val.toIntern(), .none, self.src_loc));
164279fn lowerUav(self: *CodeGen, val: Value, alignment: InternPool.Alignment) InnerError!MCValue {
164280 return self.genResult(try self.bin_file.lowerUav(self.pt, val.toIntern(), alignment, self.src_loc));
156797164281}
156798164282
156799164283const CallMCValues = struct {
......@@ -163000,7 +170484,11 @@ fn tempFromValue(cg: *CodeGen, value: Value) InnerError!Temp {
163000170484}
163001170485
163002170486fn tempMemFromValue(cg: *CodeGen, value: Value) InnerError!Temp {
163003 return cg.tempInit(value.typeOf(cg.pt.zcu), try cg.lowerUav(value));
170487 return cg.tempMemFromAlignedValue(.none, value);
170488}
170489
170490fn tempMemFromAlignedValue(cg: *CodeGen, alignment: InternPool.Alignment, value: Value) InnerError!Temp {
170491 return cg.tempInit(value.typeOf(cg.pt.zcu), try cg.lowerUav(value, alignment));
163004170492}
163005170493
163006170494fn tempFromOperand(cg: *CodeGen, op_ref: Air.Inst.Ref, op_dies: bool) InnerError!Temp {
......@@ -163273,9 +170761,14 @@ const Select = struct {
163273170761 scalar_unsigned_int_is: Memory.Size,
163274170762 scalar: OfIsSizes,
163275170763 scalar_int: OfIsSizes,
163276 exact_scalar_int: OfIsSizes,
163277170764 scalar_signed_int: OfIsSizes,
163278170765 scalar_unsigned_int: OfIsSizes,
170766 exclusive_scalar_int: OfIsSizes,
170767 exclusive_scalar_signed_int: OfIsSizes,
170768 exclusive_scalar_unsigned_int: OfIsSizes,
170769 exact_scalar_int: OfIsSizes,
170770 exact_scalar_signed_int: OfIsSizes,
170771 exact_scalar_unsigned_int: OfIsSizes,
163279170772 scalar_signed_or_exclusive_int: OfIsSizes,
163280170773 scalar_exact_int: struct { of: Memory.Size, is: u16 },
163281170774 scalar_exact_signed_int: struct { of: Memory.Size, is: u16 },
......@@ -163283,6 +170776,8 @@ const Select = struct {
163283170776 multiple_scalar: OfIsSizes,
163284170777 multiple_scalar_int: OfIsSizes,
163285170778 unaligned_multiple_scalar_int: OfIsSizes,
170779 unaligned_multiple_scalar_signed_int: OfIsSizes,
170780 unaligned_multiple_scalar_unsigned_int: OfIsSizes,
163286170781 multiple_scalar_signed_int: OfIsSizes,
163287170782 multiple_scalar_unsigned_int: OfIsSizes,
163288170783 multiple_scalar_signed_or_exclusive_int: OfIsSizes,
......@@ -163397,14 +170892,28 @@ const Select = struct {
163397170892 false,
163398170893 .scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163399170894 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
163400 .exact_scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and
163401 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
163402170895 .scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163403170896 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
163404170897 of_is.is.bitSize(cg.target) >= int_info.bits else false,
163405170898 .scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163406170899 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
163407170900 of_is.is.bitSize(cg.target) >= int_info.bits else false,
170901 .exclusive_scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and
170902 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
170903 .exclusive_scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and
170904 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
170905 of_is.is.bitSize(cg.target) >= int_info.bits else false,
170906 .exclusive_scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and
170907 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
170908 of_is.is.bitSize(cg.target) >= int_info.bits else false,
170909 .exact_scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and
170910 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
170911 .exact_scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and
170912 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
170913 of_is.is.bitSize(cg.target) >= int_info.bits else false,
170914 .exact_scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and
170915 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
170916 of_is.is.bitSize(cg.target) >= int_info.bits else false,
163408170917 .scalar_signed_or_exclusive_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163409170918 if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) {
163410170919 .signed => of_is.is.bitSize(cg.target) >= int_info.bits,
......@@ -163429,6 +170938,12 @@ const Select = struct {
163429170938 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
163430170939 .unaligned_multiple_scalar_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
163431170940 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
170941 .unaligned_multiple_scalar_signed_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
170942 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
170943 of_is.is.bitSize(cg.target) >= int_info.bits else false,
170944 .unaligned_multiple_scalar_unsigned_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
170945 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
170946 of_is.is.bitSize(cg.target) >= int_info.bits else false,
163432170947 .multiple_scalar_signed_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
163433170948 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
163434170949 of_is.is.bitSize(cg.target) >= int_info.bits else false,
......@@ -163823,7 +171338,8 @@ const Select = struct {
163823171338 ptest_mask_mem: Select.Operand.Ref,
163824171339 pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 },
163825171340 bits_mem: enum { forward, reverse },
163826 splat_float_mem: struct { ref: Select.Operand.Ref, val: f16, fill: enum { inside, outside } = .inside },
171341 splat_int_mem: struct { ref: Select.Operand.Ref, inside: enum { umin, smin, smax } = .umin, outside: enum { smin, smax } },
171342 splat_float_mem: struct { ref: Select.Operand.Ref, inside: enum { zero } = .zero, outside: f16 },
163827171343 frame: FrameIndex,
163828171344 lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none },
163829171345 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },
......@@ -164213,23 +171729,51 @@ const Select = struct {
164213171729 .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) },
164214171730 } }))), true };
164215171731 },
171732 .splat_int_mem => |splat_spec| {
171733 const zcu = pt.zcu;
171734 const elem_ty = spec.type.scalarType(zcu);
171735 const elem_bits = cg.intInfo(elem_ty).?.bits;
171736 const ref_ty = splat_spec.ref.typeOf(s);
171737 assert(ref_ty.isVector(zcu) and cg.intInfo(ref_ty.childType(zcu)).?.bits <= elem_bits);
171738 var elem_buf: [64]InternPool.Index = undefined;
171739 const elems = elem_buf[0..if (elem_ty.toIntern() == spec.type.toIntern()) 1 else spec.type.vectorLen(zcu)];
171740 const inside_len = (ref_ty.vectorLen(zcu) - 1) % elems.len + 1;
171741 @memset(elems[0..inside_len], (try pt.intValue(elem_ty, @as(i64, switch (splat_spec.inside) {
171742 .umin => 0,
171743 .smin => std.math.minInt(i64),
171744 .smax => std.math.maxInt(i64),
171745 }) >> @intCast(64 - elem_bits))).toIntern());
171746 @memset(elems[inside_len..], (try pt.intValue(elem_ty, @as(i64, switch (splat_spec.outside) {
171747 .smin => std.math.minInt(i64),
171748 .smax => std.math.maxInt(i64),
171749 }) >> @intCast(64 - elem_bits))).toIntern());
171750 if (elems.len == 1) return .{ try cg.tempMemFromValue(.fromInterned(elems[0])), true };
171751 const mem_size = cg.unalignedSize(spec.type);
171752 return .{ try cg.tempMemFromAlignedValue(
171753 if (mem_size < 16) .fromByteUnits(mem_size) else .none,
171754 .fromInterned(try pt.intern(.{ .aggregate = .{
171755 .ty = if (mem_size < 16)
171756 (try pt.arrayType(.{ .len = elems.len, .child = elem_ty.toIntern() })).toIntern()
171757 else
171758 spec.type.toIntern(),
171759 .storage = .{ .elems = elems },
171760 } })),
171761 ), true };
171762 },
164216171763 .splat_float_mem => |splat_spec| {
164217171764 const zcu = pt.zcu;
164218171765 assert(spec.type.isVector(zcu));
164219171766 const elem_ty = spec.type.childType(zcu);
171767 assert(cg.floatBits(elem_ty) != null);
164220171768 const ref_ty = splat_spec.ref.typeOf(s);
164221171769 assert(ref_ty.isVector(zcu) and ref_ty.childType(zcu).toIntern() == elem_ty.toIntern());
164222171770 var elem_buf: [@divExact(64, 2)]InternPool.Index = undefined;
164223171771 const elems = elem_buf[0..spec.type.vectorLen(zcu)];
164224171772 const inside_len = (ref_ty.vectorLen(zcu) - 1) % elems.len + 1;
164225 @memset(elems[0..inside_len], (try pt.floatValue(elem_ty, switch (splat_spec.fill) {
164226 .inside => splat_spec.val,
164227 .outside => 0.0,
164228 })).toIntern());
164229 @memset(elems[inside_len..], (try pt.floatValue(elem_ty, switch (splat_spec.fill) {
164230 .inside => 0.0,
164231 .outside => splat_spec.val,
164232 })).toIntern());
171773 @memset(elems[0..inside_len], (try pt.floatValue(elem_ty, @as(f16, switch (splat_spec.inside) {
171774 .zero => 0.0,
171775 }))).toIntern());
171776 @memset(elems[inside_len..], (try pt.floatValue(elem_ty, splat_spec.outside)).toIntern());
164233171777 return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{
164234171778 .ty = spec.type.toIntern(),
164235171779 .storage = .{ .elems = elems },
......@@ -164336,6 +171880,7 @@ const Select = struct {
164336171880 src1,
164337171881 src1_sub_bit_size,
164338171882 log2_src0_elem_size,
171883 elem_mask,
164339171884 smin,
164340171885 smax,
164341171886 umax,
......@@ -164387,6 +171932,7 @@ const Select = struct {
164387171932 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };
164388171933 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };
164389171934 const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" };
171935 const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" };
164390171936 const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" };
164391171937 const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
164392171938 const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
......@@ -164406,7 +171952,7 @@ const Select = struct {
164406171952 const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" };
164407171953 const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" };
164408171954 const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" };
164409 const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" };
171955 const elem_mask: Adjust = .{ .sign = .pos, .lhs = .elem_mask, .op = .mul, .rhs = .@"1" };
164410171956 const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" };
164411171957 const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" };
164412171958 const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" };
......@@ -164896,6 +172442,9 @@ const Select = struct {
164896172442 fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand {
164897172443 return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base }, .imm = @bitCast(imm) };
164898172444 }
172445 fn uas(base: Ref.Sized, scale: Memory.Scale, adjust: Adjust) Select.Operand {
172446 return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base, .index = .{ .scale = scale } } };
172447 }
164899172448
164900172449 fn rm(mode: bits.RoundMode) Select.Operand {
164901172450 return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(mode.imm().unsigned) };
......@@ -165188,6 +172737,11 @@ const Select = struct {
165188172737 .src1_sub_bit_size => @as(SignedImm, @intCast(Select.Operand.Ref.src1.valueOf(s).immediate)) -
165189172738 @as(SignedImm, @intCast(s.cg.nonBoolScalarBitSize(op.flags.base.ref.typeOf(s)))),
165190172739 .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))),
172740 .elem_mask => @as(u8, std.math.maxInt(u8)) >> @intCast(
172741 8 - ((s.cg.unalignedSize(op.flags.base.ref.typeOf(s)) - 1) %
172742 @divExact(op.flags.base.size.bitSize(s.cg.target), 8) + 1 >>
172743 op.flags.index.scale.toLog2()),
172744 ),
165191172745 inline .smin, .smax, .umax, .smin_shr_src1, .smax_shr_src1, .umax_shr_src1 => |adjust| switch (op.flags.base.size) {
165192172746 else => unreachable,
165193172747 inline .none, .byte, .word, .dword, .qword => |size| {
src/arch/x86_64/Mir.zig+2-2
......@@ -1170,11 +1170,11 @@ pub const Inst = struct {
11701170 /// Extract packed floating-point values
11711171 /// Extract packed integer values
11721172 extract,
1173 /// Packed horizontal word minimum
1174 hminposu,
11751173 /// Insert scalar single-precision floating-point value
11761174 /// Insert packed floating-point values
11771175 insert,
1176 /// Packed horizontal word minimum
1177 minposu,
11781178 /// Packed move with sign extend
11791179 movsxb,
11801180 movsxd,
src/codegen/c/Type.zig+120
......@@ -1492,6 +1492,21 @@ pub const Pool = struct {
14921492 };
14931493 return pool.fromFields(allocator, .@"struct", &fields, kind);
14941494 },
1495 .vector_64_i8_type => {
1496 const vector_ctype = try pool.getVector(allocator, .{
1497 .elem_ctype = .i8,
1498 .len = 64,
1499 });
1500 if (!kind.isParameter()) return vector_ctype;
1501 var fields = [_]Info.Field{
1502 .{
1503 .name = .{ .index = .array },
1504 .ctype = vector_ctype,
1505 .alignas = AlignAs.fromAbiAlignment(Type.i8.abiAlignment(zcu)),
1506 },
1507 };
1508 return pool.fromFields(allocator, .@"struct", &fields, kind);
1509 },
14951510 .vector_1_u8_type => {
14961511 const vector_ctype = try pool.getVector(allocator, .{
14971512 .elem_ctype = .u8,
......@@ -1597,6 +1612,21 @@ pub const Pool = struct {
15971612 };
15981613 return pool.fromFields(allocator, .@"struct", &fields, kind);
15991614 },
1615 .vector_2_i16_type => {
1616 const vector_ctype = try pool.getVector(allocator, .{
1617 .elem_ctype = .i16,
1618 .len = 2,
1619 });
1620 if (!kind.isParameter()) return vector_ctype;
1621 var fields = [_]Info.Field{
1622 .{
1623 .name = .{ .index = .array },
1624 .ctype = vector_ctype,
1625 .alignas = AlignAs.fromAbiAlignment(Type.i16.abiAlignment(zcu)),
1626 },
1627 };
1628 return pool.fromFields(allocator, .@"struct", &fields, kind);
1629 },
16001630 .vector_4_i16_type => {
16011631 const vector_ctype = try pool.getVector(allocator, .{
16021632 .elem_ctype = .i16,
......@@ -1642,6 +1672,21 @@ pub const Pool = struct {
16421672 };
16431673 return pool.fromFields(allocator, .@"struct", &fields, kind);
16441674 },
1675 .vector_32_i16_type => {
1676 const vector_ctype = try pool.getVector(allocator, .{
1677 .elem_ctype = .i16,
1678 .len = 32,
1679 });
1680 if (!kind.isParameter()) return vector_ctype;
1681 var fields = [_]Info.Field{
1682 .{
1683 .name = .{ .index = .array },
1684 .ctype = vector_ctype,
1685 .alignas = AlignAs.fromAbiAlignment(Type.i16.abiAlignment(zcu)),
1686 },
1687 };
1688 return pool.fromFields(allocator, .@"struct", &fields, kind);
1689 },
16451690 .vector_4_u16_type => {
16461691 const vector_ctype = try pool.getVector(allocator, .{
16471692 .elem_ctype = .u16,
......@@ -1687,6 +1732,21 @@ pub const Pool = struct {
16871732 };
16881733 return pool.fromFields(allocator, .@"struct", &fields, kind);
16891734 },
1735 .vector_32_u16_type => {
1736 const vector_ctype = try pool.getVector(allocator, .{
1737 .elem_ctype = .u16,
1738 .len = 32,
1739 });
1740 if (!kind.isParameter()) return vector_ctype;
1741 var fields = [_]Info.Field{
1742 .{
1743 .name = .{ .index = .array },
1744 .ctype = vector_ctype,
1745 .alignas = AlignAs.fromAbiAlignment(Type.u16.abiAlignment(zcu)),
1746 },
1747 };
1748 return pool.fromFields(allocator, .@"struct", &fields, kind);
1749 },
16901750 .vector_4_i32_type => {
16911751 const vector_ctype = try pool.getVector(allocator, .{
16921752 .elem_ctype = .i32,
......@@ -1717,6 +1777,21 @@ pub const Pool = struct {
17171777 };
17181778 return pool.fromFields(allocator, .@"struct", &fields, kind);
17191779 },
1780 .vector_16_i32_type => {
1781 const vector_ctype = try pool.getVector(allocator, .{
1782 .elem_ctype = .i32,
1783 .len = 16,
1784 });
1785 if (!kind.isParameter()) return vector_ctype;
1786 var fields = [_]Info.Field{
1787 .{
1788 .name = .{ .index = .array },
1789 .ctype = vector_ctype,
1790 .alignas = AlignAs.fromAbiAlignment(Type.i32.abiAlignment(zcu)),
1791 },
1792 };
1793 return pool.fromFields(allocator, .@"struct", &fields, kind);
1794 },
17201795 .vector_4_u32_type => {
17211796 const vector_ctype = try pool.getVector(allocator, .{
17221797 .elem_ctype = .u32,
......@@ -1747,6 +1822,21 @@ pub const Pool = struct {
17471822 };
17481823 return pool.fromFields(allocator, .@"struct", &fields, kind);
17491824 },
1825 .vector_16_u32_type => {
1826 const vector_ctype = try pool.getVector(allocator, .{
1827 .elem_ctype = .u32,
1828 .len = 16,
1829 });
1830 if (!kind.isParameter()) return vector_ctype;
1831 var fields = [_]Info.Field{
1832 .{
1833 .name = .{ .index = .array },
1834 .ctype = vector_ctype,
1835 .alignas = AlignAs.fromAbiAlignment(Type.u32.abiAlignment(zcu)),
1836 },
1837 };
1838 return pool.fromFields(allocator, .@"struct", &fields, kind);
1839 },
17501840 .vector_2_i64_type => {
17511841 const vector_ctype = try pool.getVector(allocator, .{
17521842 .elem_ctype = .i64,
......@@ -1777,6 +1867,21 @@ pub const Pool = struct {
17771867 };
17781868 return pool.fromFields(allocator, .@"struct", &fields, kind);
17791869 },
1870 .vector_8_i64_type => {
1871 const vector_ctype = try pool.getVector(allocator, .{
1872 .elem_ctype = .i64,
1873 .len = 8,
1874 });
1875 if (!kind.isParameter()) return vector_ctype;
1876 var fields = [_]Info.Field{
1877 .{
1878 .name = .{ .index = .array },
1879 .ctype = vector_ctype,
1880 .alignas = AlignAs.fromAbiAlignment(Type.i64.abiAlignment(zcu)),
1881 },
1882 };
1883 return pool.fromFields(allocator, .@"struct", &fields, kind);
1884 },
17801885 .vector_2_u64_type => {
17811886 const vector_ctype = try pool.getVector(allocator, .{
17821887 .elem_ctype = .u64,
......@@ -1807,6 +1912,21 @@ pub const Pool = struct {
18071912 };
18081913 return pool.fromFields(allocator, .@"struct", &fields, kind);
18091914 },
1915 .vector_8_u64_type => {
1916 const vector_ctype = try pool.getVector(allocator, .{
1917 .elem_ctype = .u64,
1918 .len = 8,
1919 });
1920 if (!kind.isParameter()) return vector_ctype;
1921 var fields = [_]Info.Field{
1922 .{
1923 .name = .{ .index = .array },
1924 .ctype = vector_ctype,
1925 .alignas = AlignAs.fromAbiAlignment(Type.u64.abiAlignment(zcu)),
1926 },
1927 };
1928 return pool.fromFields(allocator, .@"struct", &fields, kind);
1929 },
18101930 .vector_1_u128_type => {
18111931 const vector_ctype = try pool.getVector(allocator, .{
18121932 .elem_ctype = .u128,
test/behavior/x86_64.zig+1-1
......@@ -7,8 +7,8 @@ test {
77 if (builtin.object_format == .macho) return error.SkipZigTest;
88 // COFF linker does not support the new backend.
99 if (builtin.object_format == .coff) return error.SkipZigTest;
10 _ = @import("x86_64/access.zig");
1011 _ = @import("x86_64/binary.zig");
1112 _ = @import("x86_64/cast.zig");
12 _ = @import("x86_64/mem.zig");
1313 _ = @import("x86_64/unary.zig");
1414}
test/behavior/x86_64/access.zig created+196
......@@ -0,0 +1,196 @@
1const math = @import("math.zig");
2const imax = math.imax;
3const imin = math.imin;
4
5fn accessSlice(comptime array: anytype) !void {
6 var slice: []const @typeInfo(@TypeOf(array)).array.child = undefined;
7 slice = &array;
8 inline for (0.., &array) |ct_index, *elem| {
9 var rt_index: usize = undefined;
10 rt_index = ct_index;
11 if (&(slice.ptr + ct_index)[0] != elem) return error.Unexpected;
12 if (&(slice.ptr + rt_index)[0] != elem) return error.Unexpected;
13 if (&slice.ptr[ct_index..][0] != elem) return error.Unexpected;
14 if (&slice.ptr[rt_index..][0] != elem) return error.Unexpected;
15 if (&slice.ptr[ct_index] != elem) return error.Unexpected;
16 if (&slice.ptr[rt_index] != elem) return error.Unexpected;
17 if (&slice[ct_index..].ptr[0] != elem) return error.Unexpected;
18 if (&slice[rt_index..].ptr[0] != elem) return error.Unexpected;
19 if (&slice[ct_index] != elem) return error.Unexpected;
20 if (&slice[rt_index] != elem) return error.Unexpected;
21 if (slice.ptr[ct_index] != elem.*) return error.Unexpected;
22 if (slice.ptr[rt_index] != elem.*) return error.Unexpected;
23 if (slice[ct_index] != elem.*) return error.Unexpected;
24 if (slice[rt_index] != elem.*) return error.Unexpected;
25 }
26}
27test accessSlice {
28 try accessSlice([3]u8{ 0xdb, 0xef, 0xbd });
29 try accessSlice([3]u16{ 0x340e, 0x3654, 0x88d7 });
30 try accessSlice([3]u32{ 0xd424c2c0, 0x2d6ac466, 0x5a0cfaba });
31 try accessSlice([3]u64{
32 0x9327a4f5221666a6,
33 0x5c34d3ddd84a8b12,
34 0xbae087f39f649260,
35 });
36 try accessSlice([3]u128{
37 0x601cf010065444d4d42d5536dd9b95db,
38 0xa03f592fcaa22d40af23a0c735531e3c,
39 0x5da44907b31602b95c2d93f0b582ceab,
40 });
41}
42
43fn accessVector(comptime init: anytype) !void {
44 const Vector = @TypeOf(init);
45 const Elem = @typeInfo(Vector).vector.child;
46 const ct_vals: [2]Elem = switch (Elem) {
47 bool => .{ false, true },
48 else => .{ imin(Elem), imax(Elem) },
49 };
50 var rt_vals: [2]Elem = undefined;
51 rt_vals = ct_vals;
52 var vector: Vector = undefined;
53 vector = init;
54 inline for (0..@typeInfo(Vector).vector.len) |ct_index| {
55 var rt_index: usize = undefined;
56 rt_index = ct_index;
57 if (&vector[rt_index] != &vector[ct_index]) return error.Unexpected;
58 if (vector[rt_index] != init[ct_index]) return error.Unexpected;
59 if (vector[ct_index] != init[ct_index]) return error.Unexpected;
60 vector[rt_index] = rt_vals[0];
61 if (vector[rt_index] != ct_vals[0]) return error.Unexpected;
62 if (vector[ct_index] != ct_vals[0]) return error.Unexpected;
63 vector[rt_index] = ct_vals[1];
64 if (vector[rt_index] != ct_vals[1]) return error.Unexpected;
65 if (vector[ct_index] != ct_vals[1]) return error.Unexpected;
66 vector[ct_index] = ct_vals[0];
67 if (vector[rt_index] != ct_vals[0]) return error.Unexpected;
68 if (vector[ct_index] != ct_vals[0]) return error.Unexpected;
69 vector[ct_index] = rt_vals[1];
70 if (vector[rt_index] != ct_vals[1]) return error.Unexpected;
71 if (vector[ct_index] != ct_vals[1]) return error.Unexpected;
72 }
73}
74test accessVector {
75 try accessVector(@Vector(1, bool){
76 false,
77 });
78 try accessVector(@Vector(2, bool){
79 false, true,
80 });
81 try accessVector(@Vector(3, bool){
82 true, true, false,
83 });
84 try accessVector(@Vector(5, bool){
85 true, false, true, false, true,
86 });
87 try accessVector(@Vector(7, bool){
88 true, false, true, true, true, false, true,
89 });
90 try accessVector(@Vector(8, bool){
91 false, true, false, true, false, false, false, true,
92 });
93 try accessVector(@Vector(9, bool){
94 true, true, false, true, false, false, false, false,
95 true,
96 });
97 try accessVector(@Vector(15, bool){
98 false, true, true, true, false, true, false, false,
99 true, true, false, false, true, false, false,
100 });
101 try accessVector(@Vector(16, bool){
102 true, true, false, true, false, false, false, false,
103 false, true, true, false, false, false, true, true,
104 });
105 try accessVector(@Vector(17, bool){
106 true, false, true, true, false, true, false, true,
107 true, true, true, false, false, false, true, true,
108 false,
109 });
110 try accessVector(@Vector(31, bool){
111 true, false, true, true, false, true, true, true,
112 false, true, false, true, false, true, true, true,
113 false, false, true, false, false, false, false, true,
114 true, true, true, false, false, false, false,
115 });
116 try accessVector(@Vector(32, bool){
117 true, true, false, false, false, true, true, true,
118 false, true, true, true, false, true, false, true,
119 false, true, false, true, false, true, true, false,
120 false, false, false, false, false, true, true, true,
121 });
122 try accessVector(@Vector(33, bool){
123 true, false, false, false, false, true, true, true,
124 false, false, true, false, true, true, false, true,
125 true, true, false, true, true, false, false, false,
126 false, true, false, false, false, true, true, false,
127 false,
128 });
129 try accessVector(@Vector(63, bool){
130 false, false, true, true, true, false, true, true,
131 true, false, true, true, true, false, true, false,
132 true, true, false, true, false, true, true, true,
133 false, false, true, false, false, false, false, true,
134 true, true, true, true, false, true, false, true,
135 true, true, false, false, true, false, false, true,
136 false, true, false, false, false, false, true, true,
137 false, true, false, false, true, true, true,
138 });
139 try accessVector(@Vector(64, bool){
140 false, false, true, true, true, false, true, true,
141 true, false, true, true, false, true, true, false,
142 false, false, false, false, true, true, false, true,
143 true, true, true, true, false, false, false, true,
144 true, false, true, true, false, false, true, false,
145 false, true, true, false, true, true, false, false,
146 true, true, false, true, false, true, true, true,
147 false, true, true, false, false, false, false, false,
148 });
149 try accessVector(@Vector(65, bool){
150 false, false, true, true, true, true, true, true,
151 true, false, false, false, false, true, true, false,
152 true, false, true, true, true, false, false, false,
153 true, false, true, true, false, true, true, true,
154 true, true, false, true, true, false, true, false,
155 false, true, false, true, false, false, true, false,
156 true, false, true, true, true, false, true, true,
157 false, false, true, true, true, true, false, false,
158 true,
159 });
160 try accessVector(@Vector(8, u8){
161 0x60, 0xf7, 0xf4, 0xb0, 0x05, 0xd3, 0x06, 0x78,
162 });
163 try accessVector(@Vector(8, u16){
164 0x9c91, 0xfb8b, 0x7f80, 0x8304, 0x6e52, 0xd8ef, 0x37fc, 0x7851,
165 });
166 try accessVector(@Vector(8, u32){
167 0x688b88e2, 0x68e2b7a2, 0x87574680, 0xab4f0769,
168 0x75472bb5, 0xa791f2ae, 0xeb2ed416, 0x5f05ce82,
169 });
170 try accessVector(@Vector(8, u64){
171 0xdefd1ddffaedf818, 0x91c78a29d3d59890,
172 0x842aaf8fd3c7b785, 0x970a07b8f9f4a6b3,
173 0x21b2425d1a428246, 0xea50e41174a7977b,
174 0x08d0f1c4f5978b74, 0x8dc88a7fd85e0e67,
175 });
176 try accessVector(@Vector(8, u128){
177 0x6f2cbde1fb219b1e73d7f774d10f0d94,
178 0x7c1412616cda20436d7106691d8ba4cc,
179 0x4ee940b50e97675b3b35d7872a35b5ad,
180 0x6d994fb8caa1b2fac48acbb68fa2d2f1,
181 0xdee698c7ec8de9b5940903e3fc665b63,
182 0x0751491a509e4a1ce8cfa6d62fe9e74c,
183 0x3d880f0a927ce3bfc2682b72070fcd50,
184 0x82f0eec62881598699eeb93fbb456e95,
185 });
186 try accessVector(@Vector(8, u256){
187 0x6ee4f35fe624d365952f73960791238ac781bfba782abc7866a691063e43ce48,
188 0xb006491f54a9c9292458a5835b7d5f4cfa18136f175eef0a13bb8adf5c3dc061,
189 0xd6e25ca1bc5685fc52609e261b9065bc05a8662e9291660033dd7f6d98e562b3,
190 0x992c5e54e0e6331dac258996be7dae9b2a2eff323a39043ba8d2721420dc5f5c,
191 0x257313f45fb3556d0fc323d5f38c953e9a093fe2278655312b6a5b64aab9d901,
192 0x6c8ad2182b9a3b2b19c2c9b152956b383d0fee2e3fbd5b02ed72227446a7b221,
193 0xd80cafc2252b289793799675e43f97ba4a5448c7b57e1544a464687b435efc7b,
194 0xfcb480f2d70afd53c4689dd3f5db7638c24302f2a6a15f738167db090d91fb28,
195 });
196}
test/behavior/x86_64/build.zig+1-1
......@@ -117,9 +117,9 @@ pub fn build(b: *std.Build) void {
117117 const target = b.resolveTargetQuery(query);
118118 const cpu = query.serializeCpuAlloc(b.allocator) catch @panic("OOM");
119119 for ([_][]const u8{
120 "access.zig",
120121 "binary.zig",
121122 "cast.zig",
122 "mem.zig",
123123 "unary.zig",
124124 }) |path| {
125125 const test_mod = b.createModule(.{
test/behavior/x86_64/mem.zig deleted-196
......@@ -1,196 +0,0 @@
1const math = @import("math.zig");
2const imax = math.imax;
3const imin = math.imin;
4
5fn accessSlice(comptime array: anytype) !void {
6 var slice: []const @typeInfo(@TypeOf(array)).array.child = undefined;
7 slice = &array;
8 inline for (0.., &array) |ct_index, *elem| {
9 var rt_index: usize = undefined;
10 rt_index = ct_index;
11 if (&(slice.ptr + ct_index)[0] != elem) return error.Unexpected;
12 if (&(slice.ptr + rt_index)[0] != elem) return error.Unexpected;
13 if (&slice.ptr[ct_index..][0] != elem) return error.Unexpected;
14 if (&slice.ptr[rt_index..][0] != elem) return error.Unexpected;
15 if (&slice.ptr[ct_index] != elem) return error.Unexpected;
16 if (&slice.ptr[rt_index] != elem) return error.Unexpected;
17 if (&slice[ct_index..].ptr[0] != elem) return error.Unexpected;
18 if (&slice[rt_index..].ptr[0] != elem) return error.Unexpected;
19 if (&slice[ct_index] != elem) return error.Unexpected;
20 if (&slice[rt_index] != elem) return error.Unexpected;
21 if (slice.ptr[ct_index] != elem.*) return error.Unexpected;
22 if (slice.ptr[rt_index] != elem.*) return error.Unexpected;
23 if (slice[ct_index] != elem.*) return error.Unexpected;
24 if (slice[rt_index] != elem.*) return error.Unexpected;
25 }
26}
27test accessSlice {
28 try accessSlice([3]u8{ 0xdb, 0xef, 0xbd });
29 try accessSlice([3]u16{ 0x340e, 0x3654, 0x88d7 });
30 try accessSlice([3]u32{ 0xd424c2c0, 0x2d6ac466, 0x5a0cfaba });
31 try accessSlice([3]u64{
32 0x9327a4f5221666a6,
33 0x5c34d3ddd84a8b12,
34 0xbae087f39f649260,
35 });
36 try accessSlice([3]u128{
37 0x601cf010065444d4d42d5536dd9b95db,
38 0xa03f592fcaa22d40af23a0c735531e3c,
39 0x5da44907b31602b95c2d93f0b582ceab,
40 });
41}
42
43fn accessVector(comptime init: anytype) !void {
44 const Vector = @TypeOf(init);
45 const Elem = @typeInfo(Vector).vector.child;
46 const ct_vals: [2]Elem = switch (Elem) {
47 bool => .{ false, true },
48 else => .{ imin(Elem), imax(Elem) },
49 };
50 var rt_vals: [2]Elem = undefined;
51 rt_vals = ct_vals;
52 var vector: Vector = undefined;
53 vector = init;
54 inline for (0..@typeInfo(Vector).vector.len) |ct_index| {
55 var rt_index: usize = undefined;
56 rt_index = ct_index;
57 if (&vector[rt_index] != &vector[ct_index]) return error.Unexpected;
58 if (vector[rt_index] != init[ct_index]) return error.Unexpected;
59 if (vector[ct_index] != init[ct_index]) return error.Unexpected;
60 vector[rt_index] = rt_vals[0];
61 if (vector[rt_index] != ct_vals[0]) return error.Unexpected;
62 if (vector[ct_index] != ct_vals[0]) return error.Unexpected;
63 vector[rt_index] = ct_vals[1];
64 if (vector[rt_index] != ct_vals[1]) return error.Unexpected;
65 if (vector[ct_index] != ct_vals[1]) return error.Unexpected;
66 vector[ct_index] = ct_vals[0];
67 if (vector[rt_index] != ct_vals[0]) return error.Unexpected;
68 if (vector[ct_index] != ct_vals[0]) return error.Unexpected;
69 vector[ct_index] = rt_vals[1];
70 if (vector[rt_index] != ct_vals[1]) return error.Unexpected;
71 if (vector[ct_index] != ct_vals[1]) return error.Unexpected;
72 }
73}
74test accessVector {
75 try accessVector(@Vector(1, bool){
76 false,
77 });
78 try accessVector(@Vector(2, bool){
79 false, true,
80 });
81 try accessVector(@Vector(3, bool){
82 true, true, false,
83 });
84 try accessVector(@Vector(5, bool){
85 true, false, true, false, true,
86 });
87 try accessVector(@Vector(7, bool){
88 true, false, true, true, true, false, true,
89 });
90 try accessVector(@Vector(8, bool){
91 false, true, false, true, false, false, false, true,
92 });
93 try accessVector(@Vector(9, bool){
94 true, true, false, true, false, false, false, false,
95 true,
96 });
97 try accessVector(@Vector(15, bool){
98 false, true, true, true, false, true, false, false,
99 true, true, false, false, true, false, false,
100 });
101 try accessVector(@Vector(16, bool){
102 true, true, false, true, false, false, false, false,
103 false, true, true, false, false, false, true, true,
104 });
105 try accessVector(@Vector(17, bool){
106 true, false, true, true, false, true, false, true,
107 true, true, true, false, false, false, true, true,
108 false,
109 });
110 try accessVector(@Vector(31, bool){
111 true, false, true, true, false, true, true, true,
112 false, true, false, true, false, true, true, true,
113 false, false, true, false, false, false, false, true,
114 true, true, true, false, false, false, false,
115 });
116 try accessVector(@Vector(32, bool){
117 true, true, false, false, false, true, true, true,
118 false, true, true, true, false, true, false, true,
119 false, true, false, true, false, true, true, false,
120 false, false, false, false, false, true, true, true,
121 });
122 try accessVector(@Vector(33, bool){
123 true, false, false, false, false, true, true, true,
124 false, false, true, false, true, true, false, true,
125 true, true, false, true, true, false, false, false,
126 false, true, false, false, false, true, true, false,
127 false,
128 });
129 try accessVector(@Vector(63, bool){
130 false, false, true, true, true, false, true, true,
131 true, false, true, true, true, false, true, false,
132 true, true, false, true, false, true, true, true,
133 false, false, true, false, false, false, false, true,
134 true, true, true, true, false, true, false, true,
135 true, true, false, false, true, false, false, true,
136 false, true, false, false, false, false, true, true,
137 false, true, false, false, true, true, true,
138 });
139 try accessVector(@Vector(64, bool){
140 false, false, true, true, true, false, true, true,
141 true, false, true, true, false, true, true, false,
142 false, false, false, false, true, true, false, true,
143 true, true, true, true, false, false, false, true,
144 true, false, true, true, false, false, true, false,
145 false, true, true, false, true, true, false, false,
146 true, true, false, true, false, true, true, true,
147 false, true, true, false, false, false, false, false,
148 });
149 try accessVector(@Vector(65, bool){
150 false, false, true, true, true, true, true, true,
151 true, false, false, false, false, true, true, false,
152 true, false, true, true, true, false, false, false,
153 true, false, true, true, false, true, true, true,
154 true, true, false, true, true, false, true, false,
155 false, true, false, true, false, false, true, false,
156 true, false, true, true, true, false, true, true,
157 false, false, true, true, true, true, false, false,
158 true,
159 });
160 try accessVector(@Vector(8, u8){
161 0x60, 0xf7, 0xf4, 0xb0, 0x05, 0xd3, 0x06, 0x78,
162 });
163 try accessVector(@Vector(8, u16){
164 0x9c91, 0xfb8b, 0x7f80, 0x8304, 0x6e52, 0xd8ef, 0x37fc, 0x7851,
165 });
166 try accessVector(@Vector(8, u32){
167 0x688b88e2, 0x68e2b7a2, 0x87574680, 0xab4f0769,
168 0x75472bb5, 0xa791f2ae, 0xeb2ed416, 0x5f05ce82,
169 });
170 try accessVector(@Vector(8, u64){
171 0xdefd1ddffaedf818, 0x91c78a29d3d59890,
172 0x842aaf8fd3c7b785, 0x970a07b8f9f4a6b3,
173 0x21b2425d1a428246, 0xea50e41174a7977b,
174 0x08d0f1c4f5978b74, 0x8dc88a7fd85e0e67,
175 });
176 try accessVector(@Vector(8, u128){
177 0x6f2cbde1fb219b1e73d7f774d10f0d94,
178 0x7c1412616cda20436d7106691d8ba4cc,
179 0x4ee940b50e97675b3b35d7872a35b5ad,
180 0x6d994fb8caa1b2fac48acbb68fa2d2f1,
181 0xdee698c7ec8de9b5940903e3fc665b63,
182 0x0751491a509e4a1ce8cfa6d62fe9e74c,
183 0x3d880f0a927ce3bfc2682b72070fcd50,
184 0x82f0eec62881598699eeb93fbb456e95,
185 });
186 try accessVector(@Vector(8, u256){
187 0x6ee4f35fe624d365952f73960791238ac781bfba782abc7866a691063e43ce48,
188 0xb006491f54a9c9292458a5835b7d5f4cfa18136f175eef0a13bb8adf5c3dc061,
189 0xd6e25ca1bc5685fc52609e261b9065bc05a8662e9291660033dd7f6d98e562b3,
190 0x992c5e54e0e6331dac258996be7dae9b2a2eff323a39043ba8d2721420dc5f5c,
191 0x257313f45fb3556d0fc323d5f38c953e9a093fe2278655312b6a5b64aab9d901,
192 0x6c8ad2182b9a3b2b19c2c9b152956b383d0fee2e3fbd5b02ed72227446a7b221,
193 0xd80cafc2252b289793799675e43f97ba4a5448c7b57e1544a464687b435efc7b,
194 0xfcb480f2d70afd53c4689dd3f5db7638c24302f2a6a15f738167db090d91fb28,
195 });
196}
test/behavior/x86_64/unary.zig+8
......@@ -5094,6 +5094,14 @@ test reduceXor {
50945094 try test_reduce_xor.testIntVectors();
50955095}
50965096
5097inline fn reduceMin(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5098 return @reduce(.Min, rhs);
5099}
5100test reduceMin {
5101 const test_reduce_min = unary(reduceMin, .{});
5102 try test_reduce_min.testIntVectors();
5103}
5104
50975105inline fn reduceAdd(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
50985106 return @reduce(.Add, rhs);
50995107}
test/cases/compile_errors/@import_zon_bad_type.zig+3-3
......@@ -117,9 +117,9 @@ export fn testMutablePointer() void {
117117// tmp.zig:37:38: note: imported here
118118// neg_inf.zon:1:1: error: expected type '?u8'
119119// tmp.zig:57:28: note: imported here
120// neg_inf.zon:1:1: error: expected type 'tmp.testNonExhaustiveEnum__enum_509'
120// neg_inf.zon:1:1: error: expected type 'tmp.testNonExhaustiveEnum__enum_517'
121121// tmp.zig:62:39: note: imported here
122// neg_inf.zon:1:1: error: expected type 'tmp.testUntaggedUnion__union_511'
122// neg_inf.zon:1:1: error: expected type 'tmp.testUntaggedUnion__union_519'
123123// tmp.zig:67:44: note: imported here
124// neg_inf.zon:1:1: error: expected type 'tmp.testTaggedUnionVoid__union_514'
124// neg_inf.zon:1:1: error: expected type 'tmp.testTaggedUnionVoid__union_522'
125125// tmp.zig:72:50: note: imported here
test/cases/compile_errors/anytype_param_requires_comptime.zig+1-1
......@@ -15,6 +15,6 @@ pub export fn entry() void {
1515// error
1616//
1717// :7:25: error: unable to resolve comptime value
18// :7:25: note: initializer of comptime-only struct 'tmp.S.foo__anon_483.C' must be comptime-known
18// :7:25: note: initializer of comptime-only struct 'tmp.S.foo__anon_491.C' must be comptime-known
1919// :4:16: note: struct requires comptime because of this field
2020// :4:16: note: types are not available at runtime
test/cases/compile_errors/bogus_method_call_on_slice.zig+1-1
......@@ -16,5 +16,5 @@ pub export fn entry2() void {
1616//
1717// :3:6: error: no field or member function named 'copy' in '[]const u8'
1818// :9:8: error: no field or member function named 'bar' in '@TypeOf(.{})'
19// :12:18: error: no field or member function named 'bar' in 'tmp.entry2__struct_487'
19// :12:18: error: no field or member function named 'bar' in 'tmp.entry2__struct_495'
2020// :12:6: note: struct declared here
test/cases/compile_errors/coerce_anon_struct.zig+1-1
......@@ -6,6 +6,6 @@ export fn foo() void {
66
77// error
88//
9// :4:16: error: expected type 'tmp.T', found 'tmp.foo__struct_476'
9// :4:16: error: expected type 'tmp.T', found 'tmp.foo__struct_484'
1010// :3:16: note: struct declared here
1111// :1:11: note: struct declared here
test/cases/compile_errors/redundant_try.zig+2-2
......@@ -44,9 +44,9 @@ comptime {
4444//
4545// :5:23: error: expected error union type, found 'comptime_int'
4646// :10:23: error: expected error union type, found '@TypeOf(.{})'
47// :15:23: error: expected error union type, found 'tmp.test2__struct_513'
47// :15:23: error: expected error union type, found 'tmp.test2__struct_521'
4848// :15:23: note: struct declared here
49// :20:27: error: expected error union type, found 'tmp.test3__struct_515'
49// :20:27: error: expected error union type, found 'tmp.test3__struct_523'
5050// :20:27: note: struct declared here
5151// :25:23: error: expected error union type, found 'struct { comptime *const [5:0]u8 = "hello" }'
5252// :31:13: error: expected error union type, found 'u32'