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 {...@@ -2142,7 +2142,7 @@ pub const Inst = struct {
2142 ref_start_index = static_len,2142 ref_start_index = static_len,
2143 _,2143 _,
21442144
2145 pub const static_len = 109;2145 pub const static_len = 117;
21462146
2147 pub fn toRef(i: Index) Inst.Ref {2147 pub fn toRef(i: Index) Inst.Ref {
2148 return @enumFromInt(@intFromEnum(Index.ref_start_index) + @intFromEnum(i));2148 return @enumFromInt(@intFromEnum(Index.ref_start_index) + @intFromEnum(i));
...@@ -2229,6 +2229,7 @@ pub const Inst = struct {...@@ -2229,6 +2229,7 @@ pub const Inst = struct {
2229 vector_8_i8_type,2229 vector_8_i8_type,
2230 vector_16_i8_type,2230 vector_16_i8_type,
2231 vector_32_i8_type,2231 vector_32_i8_type,
2232 vector_64_i8_type,
2232 vector_1_u8_type,2233 vector_1_u8_type,
2233 vector_2_u8_type,2234 vector_2_u8_type,
2234 vector_4_u8_type,2235 vector_4_u8_type,
...@@ -2236,20 +2237,27 @@ pub const Inst = struct {...@@ -2236,20 +2237,27 @@ pub const Inst = struct {
2236 vector_16_u8_type,2237 vector_16_u8_type,
2237 vector_32_u8_type,2238 vector_32_u8_type,
2238 vector_64_u8_type,2239 vector_64_u8_type,
2240 vector_2_i16_type,
2239 vector_4_i16_type,2241 vector_4_i16_type,
2240 vector_8_i16_type,2242 vector_8_i16_type,
2241 vector_16_i16_type,2243 vector_16_i16_type,
2244 vector_32_i16_type,
2242 vector_4_u16_type,2245 vector_4_u16_type,
2243 vector_8_u16_type,2246 vector_8_u16_type,
2244 vector_16_u16_type,2247 vector_16_u16_type,
2248 vector_32_u16_type,
2245 vector_4_i32_type,2249 vector_4_i32_type,
2246 vector_8_i32_type,2250 vector_8_i32_type,
2251 vector_16_i32_type,
2247 vector_4_u32_type,2252 vector_4_u32_type,
2248 vector_8_u32_type,2253 vector_8_u32_type,
2254 vector_16_u32_type,
2249 vector_2_i64_type,2255 vector_2_i64_type,
2250 vector_4_i64_type,2256 vector_4_i64_type,
2257 vector_8_i64_type,
2251 vector_2_u64_type,2258 vector_2_u64_type,
2252 vector_4_u64_type,2259 vector_4_u64_type,
2260 vector_8_u64_type,
2253 vector_1_u128_type,2261 vector_1_u128_type,
2254 vector_2_u128_type,2262 vector_2_u128_type,
2255 vector_1_u256_type,2263 vector_1_u256_type,
src/Air.zig+8
...@@ -1012,6 +1012,7 @@ pub const Inst = struct {...@@ -1012,6 +1012,7 @@ pub const Inst = struct {
1012 vector_8_i8_type = @intFromEnum(InternPool.Index.vector_8_i8_type),1012 vector_8_i8_type = @intFromEnum(InternPool.Index.vector_8_i8_type),
1013 vector_16_i8_type = @intFromEnum(InternPool.Index.vector_16_i8_type),1013 vector_16_i8_type = @intFromEnum(InternPool.Index.vector_16_i8_type),
1014 vector_32_i8_type = @intFromEnum(InternPool.Index.vector_32_i8_type),1014 vector_32_i8_type = @intFromEnum(InternPool.Index.vector_32_i8_type),
1015 vector_64_i8_type = @intFromEnum(InternPool.Index.vector_64_i8_type),
1015 vector_1_u8_type = @intFromEnum(InternPool.Index.vector_1_u8_type),1016 vector_1_u8_type = @intFromEnum(InternPool.Index.vector_1_u8_type),
1016 vector_2_u8_type = @intFromEnum(InternPool.Index.vector_2_u8_type),1017 vector_2_u8_type = @intFromEnum(InternPool.Index.vector_2_u8_type),
1017 vector_4_u8_type = @intFromEnum(InternPool.Index.vector_4_u8_type),1018 vector_4_u8_type = @intFromEnum(InternPool.Index.vector_4_u8_type),
...@@ -1019,20 +1020,27 @@ pub const Inst = struct {...@@ -1019,20 +1020,27 @@ pub const Inst = struct {
1019 vector_16_u8_type = @intFromEnum(InternPool.Index.vector_16_u8_type),1020 vector_16_u8_type = @intFromEnum(InternPool.Index.vector_16_u8_type),
1020 vector_32_u8_type = @intFromEnum(InternPool.Index.vector_32_u8_type),1021 vector_32_u8_type = @intFromEnum(InternPool.Index.vector_32_u8_type),
1021 vector_64_u8_type = @intFromEnum(InternPool.Index.vector_64_u8_type),1022 vector_64_u8_type = @intFromEnum(InternPool.Index.vector_64_u8_type),
1023 vector_2_i16_type = @intFromEnum(InternPool.Index.vector_2_i16_type),
1022 vector_4_i16_type = @intFromEnum(InternPool.Index.vector_4_i16_type),1024 vector_4_i16_type = @intFromEnum(InternPool.Index.vector_4_i16_type),
1023 vector_8_i16_type = @intFromEnum(InternPool.Index.vector_8_i16_type),1025 vector_8_i16_type = @intFromEnum(InternPool.Index.vector_8_i16_type),
1024 vector_16_i16_type = @intFromEnum(InternPool.Index.vector_16_i16_type),1026 vector_16_i16_type = @intFromEnum(InternPool.Index.vector_16_i16_type),
1027 vector_32_i16_type = @intFromEnum(InternPool.Index.vector_32_i16_type),
1025 vector_4_u16_type = @intFromEnum(InternPool.Index.vector_4_u16_type),1028 vector_4_u16_type = @intFromEnum(InternPool.Index.vector_4_u16_type),
1026 vector_8_u16_type = @intFromEnum(InternPool.Index.vector_8_u16_type),1029 vector_8_u16_type = @intFromEnum(InternPool.Index.vector_8_u16_type),
1027 vector_16_u16_type = @intFromEnum(InternPool.Index.vector_16_u16_type),1030 vector_16_u16_type = @intFromEnum(InternPool.Index.vector_16_u16_type),
1031 vector_32_u16_type = @intFromEnum(InternPool.Index.vector_32_u16_type),
1028 vector_4_i32_type = @intFromEnum(InternPool.Index.vector_4_i32_type),1032 vector_4_i32_type = @intFromEnum(InternPool.Index.vector_4_i32_type),
1029 vector_8_i32_type = @intFromEnum(InternPool.Index.vector_8_i32_type),1033 vector_8_i32_type = @intFromEnum(InternPool.Index.vector_8_i32_type),
1034 vector_16_i32_type = @intFromEnum(InternPool.Index.vector_16_i32_type),
1030 vector_4_u32_type = @intFromEnum(InternPool.Index.vector_4_u32_type),1035 vector_4_u32_type = @intFromEnum(InternPool.Index.vector_4_u32_type),
1031 vector_8_u32_type = @intFromEnum(InternPool.Index.vector_8_u32_type),1036 vector_8_u32_type = @intFromEnum(InternPool.Index.vector_8_u32_type),
1037 vector_16_u32_type = @intFromEnum(InternPool.Index.vector_16_u32_type),
1032 vector_2_i64_type = @intFromEnum(InternPool.Index.vector_2_i64_type),1038 vector_2_i64_type = @intFromEnum(InternPool.Index.vector_2_i64_type),
1033 vector_4_i64_type = @intFromEnum(InternPool.Index.vector_4_i64_type),1039 vector_4_i64_type = @intFromEnum(InternPool.Index.vector_4_i64_type),
1040 vector_8_i64_type = @intFromEnum(InternPool.Index.vector_8_i64_type),
1034 vector_2_u64_type = @intFromEnum(InternPool.Index.vector_2_u64_type),1041 vector_2_u64_type = @intFromEnum(InternPool.Index.vector_2_u64_type),
1035 vector_4_u64_type = @intFromEnum(InternPool.Index.vector_4_u64_type),1042 vector_4_u64_type = @intFromEnum(InternPool.Index.vector_4_u64_type),
1043 vector_8_u64_type = @intFromEnum(InternPool.Index.vector_8_u64_type),
1036 vector_1_u128_type = @intFromEnum(InternPool.Index.vector_1_u128_type),1044 vector_1_u128_type = @intFromEnum(InternPool.Index.vector_1_u128_type),
1037 vector_2_u128_type = @intFromEnum(InternPool.Index.vector_2_u128_type),1045 vector_2_u128_type = @intFromEnum(InternPool.Index.vector_2_u128_type),
1038 vector_1_u256_type = @intFromEnum(InternPool.Index.vector_1_u256_type),1046 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) {...@@ -4589,6 +4589,7 @@ pub const Index = enum(u32) {
4589 vector_8_i8_type,4589 vector_8_i8_type,
4590 vector_16_i8_type,4590 vector_16_i8_type,
4591 vector_32_i8_type,4591 vector_32_i8_type,
4592 vector_64_i8_type,
4592 vector_1_u8_type,4593 vector_1_u8_type,
4593 vector_2_u8_type,4594 vector_2_u8_type,
4594 vector_4_u8_type,4595 vector_4_u8_type,
...@@ -4596,20 +4597,27 @@ pub const Index = enum(u32) {...@@ -4596,20 +4597,27 @@ pub const Index = enum(u32) {
4596 vector_16_u8_type,4597 vector_16_u8_type,
4597 vector_32_u8_type,4598 vector_32_u8_type,
4598 vector_64_u8_type,4599 vector_64_u8_type,
4600 vector_2_i16_type,
4599 vector_4_i16_type,4601 vector_4_i16_type,
4600 vector_8_i16_type,4602 vector_8_i16_type,
4601 vector_16_i16_type,4603 vector_16_i16_type,
4604 vector_32_i16_type,
4602 vector_4_u16_type,4605 vector_4_u16_type,
4603 vector_8_u16_type,4606 vector_8_u16_type,
4604 vector_16_u16_type,4607 vector_16_u16_type,
4608 vector_32_u16_type,
4605 vector_4_i32_type,4609 vector_4_i32_type,
4606 vector_8_i32_type,4610 vector_8_i32_type,
4611 vector_16_i32_type,
4607 vector_4_u32_type,4612 vector_4_u32_type,
4608 vector_8_u32_type,4613 vector_8_u32_type,
4614 vector_16_u32_type,
4609 vector_2_i64_type,4615 vector_2_i64_type,
4610 vector_4_i64_type,4616 vector_4_i64_type,
4617 vector_8_i64_type,
4611 vector_2_u64_type,4618 vector_2_u64_type,
4612 vector_4_u64_type,4619 vector_4_u64_type,
4620 vector_8_u64_type,
4613 vector_1_u128_type,4621 vector_1_u128_type,
4614 vector_2_u128_type,4622 vector_2_u128_type,
4615 vector_1_u256_type,4623 vector_1_u256_type,
...@@ -4954,7 +4962,7 @@ pub const Index = enum(u32) {...@@ -4954,7 +4962,7 @@ pub const Index = enum(u32) {
4954 }4962 }
4955};4963};
49564964
4957pub const static_keys = [_]Key{4965pub const static_keys: [static_len]Key = .{
4958 .{ .int_type = .{4966 .{ .int_type = .{
4959 .signedness = .unsigned,4967 .signedness = .unsigned,
4960 .bits = 0,4968 .bits = 0,
...@@ -5126,6 +5134,8 @@ pub const static_keys = [_]Key{...@@ -5126,6 +5134,8 @@ pub const static_keys = [_]Key{
5126 .{ .vector_type = .{ .len = 16, .child = .i8_type } },5134 .{ .vector_type = .{ .len = 16, .child = .i8_type } },
5127 // @Vector(32, i8)5135 // @Vector(32, i8)
5128 .{ .vector_type = .{ .len = 32, .child = .i8_type } },5136 .{ .vector_type = .{ .len = 32, .child = .i8_type } },
5137 // @Vector(64, i8)
5138 .{ .vector_type = .{ .len = 64, .child = .i8_type } },
5129 // @Vector(1, u8)5139 // @Vector(1, u8)
5130 .{ .vector_type = .{ .len = 1, .child = .u8_type } },5140 .{ .vector_type = .{ .len = 1, .child = .u8_type } },
5131 // @Vector(2, u8)5141 // @Vector(2, u8)
...@@ -5140,34 +5150,48 @@ pub const static_keys = [_]Key{...@@ -5140,34 +5150,48 @@ pub const static_keys = [_]Key{
5140 .{ .vector_type = .{ .len = 32, .child = .u8_type } },5150 .{ .vector_type = .{ .len = 32, .child = .u8_type } },
5141 // @Vector(64, u8)5151 // @Vector(64, u8)
5142 .{ .vector_type = .{ .len = 64, .child = .u8_type } },5152 .{ .vector_type = .{ .len = 64, .child = .u8_type } },
5153 // @Vector(2, i16)
5154 .{ .vector_type = .{ .len = 2, .child = .i16_type } },
5143 // @Vector(4, i16)5155 // @Vector(4, i16)
5144 .{ .vector_type = .{ .len = 4, .child = .i16_type } },5156 .{ .vector_type = .{ .len = 4, .child = .i16_type } },
5145 // @Vector(8, i16)5157 // @Vector(8, i16)
5146 .{ .vector_type = .{ .len = 8, .child = .i16_type } },5158 .{ .vector_type = .{ .len = 8, .child = .i16_type } },
5147 // @Vector(16, i16)5159 // @Vector(16, i16)
5148 .{ .vector_type = .{ .len = 16, .child = .i16_type } },5160 .{ .vector_type = .{ .len = 16, .child = .i16_type } },
5161 // @Vector(32, i16)
5162 .{ .vector_type = .{ .len = 32, .child = .i16_type } },
5149 // @Vector(4, u16)5163 // @Vector(4, u16)
5150 .{ .vector_type = .{ .len = 4, .child = .u16_type } },5164 .{ .vector_type = .{ .len = 4, .child = .u16_type } },
5151 // @Vector(8, u16)5165 // @Vector(8, u16)
5152 .{ .vector_type = .{ .len = 8, .child = .u16_type } },5166 .{ .vector_type = .{ .len = 8, .child = .u16_type } },
5153 // @Vector(16, u16)5167 // @Vector(16, u16)
5154 .{ .vector_type = .{ .len = 16, .child = .u16_type } },5168 .{ .vector_type = .{ .len = 16, .child = .u16_type } },
5169 // @Vector(32, u16)
5170 .{ .vector_type = .{ .len = 32, .child = .u16_type } },
5155 // @Vector(4, i32)5171 // @Vector(4, i32)
5156 .{ .vector_type = .{ .len = 4, .child = .i32_type } },5172 .{ .vector_type = .{ .len = 4, .child = .i32_type } },
5157 // @Vector(8, i32)5173 // @Vector(8, i32)
5158 .{ .vector_type = .{ .len = 8, .child = .i32_type } },5174 .{ .vector_type = .{ .len = 8, .child = .i32_type } },
5175 // @Vector(16, i32)
5176 .{ .vector_type = .{ .len = 16, .child = .i32_type } },
5159 // @Vector(4, u32)5177 // @Vector(4, u32)
5160 .{ .vector_type = .{ .len = 4, .child = .u32_type } },5178 .{ .vector_type = .{ .len = 4, .child = .u32_type } },
5161 // @Vector(8, u32)5179 // @Vector(8, u32)
5162 .{ .vector_type = .{ .len = 8, .child = .u32_type } },5180 .{ .vector_type = .{ .len = 8, .child = .u32_type } },
5181 // @Vector(16, u32)
5182 .{ .vector_type = .{ .len = 16, .child = .u32_type } },
5163 // @Vector(2, i64)5183 // @Vector(2, i64)
5164 .{ .vector_type = .{ .len = 2, .child = .i64_type } },5184 .{ .vector_type = .{ .len = 2, .child = .i64_type } },
5165 // @Vector(4, i64)5185 // @Vector(4, i64)
5166 .{ .vector_type = .{ .len = 4, .child = .i64_type } },5186 .{ .vector_type = .{ .len = 4, .child = .i64_type } },
5187 // @Vector(8, i64)
5188 .{ .vector_type = .{ .len = 8, .child = .i64_type } },
5167 // @Vector(2, u64)5189 // @Vector(2, u64)
5168 .{ .vector_type = .{ .len = 2, .child = .u64_type } },5190 .{ .vector_type = .{ .len = 2, .child = .u64_type } },
5169 // @Vector(8, u64)5191 // @Vector(4, u64)
5170 .{ .vector_type = .{ .len = 4, .child = .u64_type } },5192 .{ .vector_type = .{ .len = 4, .child = .u64_type } },
5193 // @Vector(8, u64)
5194 .{ .vector_type = .{ .len = 8, .child = .u64_type } },
5171 // @Vector(1, u128)5195 // @Vector(1, u128)
5172 .{ .vector_type = .{ .len = 1, .child = .u128_type } },5196 .{ .vector_type = .{ .len = 1, .child = .u128_type } },
5173 // @Vector(2, u128)5197 // @Vector(2, u128)
...@@ -5273,10 +5297,6 @@ pub const static_keys = [_]Key{...@@ -5273,10 +5297,6 @@ pub const static_keys = [_]Key{
5273/// assert below to break an unfortunate and arguably incorrect dependency loop5297/// assert below to break an unfortunate and arguably incorrect dependency loop
5274/// when compiling.5298/// when compiling.
5275pub const static_len = Zir.Inst.Index.static_len;5299pub const static_len = Zir.Inst.Index.static_len;
5276comptime {
5277 //@compileLog(static_keys.len);
5278 assert(static_len == static_keys.len);
5279}
52805300
5281pub const Tag = enum(u8) {5301pub const Tag = enum(u8) {
5282 /// This special tag represents a value which was removed from this pool via5302 /// 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 {...@@ -11833,6 +11853,7 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {
11833 .vector_8_i8_type,11853 .vector_8_i8_type,
11834 .vector_16_i8_type,11854 .vector_16_i8_type,
11835 .vector_32_i8_type,11855 .vector_32_i8_type,
11856 .vector_64_i8_type,
11836 .vector_1_u8_type,11857 .vector_1_u8_type,
11837 .vector_2_u8_type,11858 .vector_2_u8_type,
11838 .vector_4_u8_type,11859 .vector_4_u8_type,
...@@ -11840,20 +11861,27 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {...@@ -11840,20 +11861,27 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {
11840 .vector_16_u8_type,11861 .vector_16_u8_type,
11841 .vector_32_u8_type,11862 .vector_32_u8_type,
11842 .vector_64_u8_type,11863 .vector_64_u8_type,
11864 .vector_2_i16_type,
11843 .vector_4_i16_type,11865 .vector_4_i16_type,
11844 .vector_8_i16_type,11866 .vector_8_i16_type,
11845 .vector_16_i16_type,11867 .vector_16_i16_type,
11868 .vector_32_i16_type,
11846 .vector_4_u16_type,11869 .vector_4_u16_type,
11847 .vector_8_u16_type,11870 .vector_8_u16_type,
11848 .vector_16_u16_type,11871 .vector_16_u16_type,
11872 .vector_32_u16_type,
11849 .vector_4_i32_type,11873 .vector_4_i32_type,
11850 .vector_8_i32_type,11874 .vector_8_i32_type,
11875 .vector_16_i32_type,
11851 .vector_4_u32_type,11876 .vector_4_u32_type,
11852 .vector_8_u32_type,11877 .vector_8_u32_type,
11878 .vector_16_u32_type,
11853 .vector_2_i64_type,11879 .vector_2_i64_type,
11854 .vector_4_i64_type,11880 .vector_4_i64_type,
11881 .vector_8_i64_type,
11855 .vector_2_u64_type,11882 .vector_2_u64_type,
11856 .vector_4_u64_type,11883 .vector_4_u64_type,
11884 .vector_8_u64_type,
11857 .vector_1_u128_type,11885 .vector_1_u128_type,
11858 .vector_2_u128_type,11886 .vector_2_u128_type,
11859 .vector_1_u256_type,11887 .vector_1_u256_type,
...@@ -12165,6 +12193,7 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {...@@ -12165,6 +12193,7 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {
12165 .vector_8_i8_type,12193 .vector_8_i8_type,
12166 .vector_16_i8_type,12194 .vector_16_i8_type,
12167 .vector_32_i8_type,12195 .vector_32_i8_type,
12196 .vector_64_i8_type,
12168 .vector_1_u8_type,12197 .vector_1_u8_type,
12169 .vector_2_u8_type,12198 .vector_2_u8_type,
12170 .vector_4_u8_type,12199 .vector_4_u8_type,
...@@ -12172,20 +12201,27 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {...@@ -12172,20 +12201,27 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {
12172 .vector_16_u8_type,12201 .vector_16_u8_type,
12173 .vector_32_u8_type,12202 .vector_32_u8_type,
12174 .vector_64_u8_type,12203 .vector_64_u8_type,
12204 .vector_2_i16_type,
12175 .vector_4_i16_type,12205 .vector_4_i16_type,
12176 .vector_8_i16_type,12206 .vector_8_i16_type,
12177 .vector_16_i16_type,12207 .vector_16_i16_type,
12208 .vector_32_i16_type,
12178 .vector_4_u16_type,12209 .vector_4_u16_type,
12179 .vector_8_u16_type,12210 .vector_8_u16_type,
12180 .vector_16_u16_type,12211 .vector_16_u16_type,
12212 .vector_32_u16_type,
12181 .vector_4_i32_type,12213 .vector_4_i32_type,
12182 .vector_8_i32_type,12214 .vector_8_i32_type,
12215 .vector_16_i32_type,
12183 .vector_4_u32_type,12216 .vector_4_u32_type,
12184 .vector_8_u32_type,12217 .vector_8_u32_type,
12218 .vector_16_u32_type,
12185 .vector_2_i64_type,12219 .vector_2_i64_type,
12186 .vector_4_i64_type,12220 .vector_4_i64_type,
12221 .vector_8_i64_type,
12187 .vector_2_u64_type,12222 .vector_2_u64_type,
12188 .vector_4_u64_type,12223 .vector_4_u64_type,
12224 .vector_8_u64_type,
12189 .vector_1_u128_type,12225 .vector_1_u128_type,
12190 .vector_2_u128_type,12226 .vector_2_u128_type,
12191 .vector_1_u256_type,12227 .vector_1_u256_type,
src/Sema.zig+8
...@@ -36545,6 +36545,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value {...@@ -36545,6 +36545,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value {
36545 .vector_8_i8_type,36545 .vector_8_i8_type,
36546 .vector_16_i8_type,36546 .vector_16_i8_type,
36547 .vector_32_i8_type,36547 .vector_32_i8_type,
36548 .vector_64_i8_type,
36548 .vector_1_u8_type,36549 .vector_1_u8_type,
36549 .vector_2_u8_type,36550 .vector_2_u8_type,
36550 .vector_4_u8_type,36551 .vector_4_u8_type,
...@@ -36552,20 +36553,27 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value {...@@ -36552,20 +36553,27 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value {
36552 .vector_16_u8_type,36553 .vector_16_u8_type,
36553 .vector_32_u8_type,36554 .vector_32_u8_type,
36554 .vector_64_u8_type,36555 .vector_64_u8_type,
36556 .vector_2_i16_type,
36555 .vector_4_i16_type,36557 .vector_4_i16_type,
36556 .vector_8_i16_type,36558 .vector_8_i16_type,
36557 .vector_16_i16_type,36559 .vector_16_i16_type,
36560 .vector_32_i16_type,
36558 .vector_4_u16_type,36561 .vector_4_u16_type,
36559 .vector_8_u16_type,36562 .vector_8_u16_type,
36560 .vector_16_u16_type,36563 .vector_16_u16_type,
36564 .vector_32_u16_type,
36561 .vector_4_i32_type,36565 .vector_4_i32_type,
36562 .vector_8_i32_type,36566 .vector_8_i32_type,
36567 .vector_16_i32_type,
36563 .vector_4_u32_type,36568 .vector_4_u32_type,
36564 .vector_8_u32_type,36569 .vector_8_u32_type,
36570 .vector_16_u32_type,
36565 .vector_2_i64_type,36571 .vector_2_i64_type,
36566 .vector_4_i64_type,36572 .vector_4_i64_type,
36573 .vector_8_i64_type,
36567 .vector_2_u64_type,36574 .vector_2_u64_type,
36568 .vector_4_u64_type,36575 .vector_4_u64_type,
36576 .vector_8_u64_type,
36569 .vector_1_u128_type,36577 .vector_1_u128_type,
36570 .vector_2_u128_type,36578 .vector_2_u128_type,
36571 .vector_1_u256_type,36579 .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...@@ -4110,6 +4110,7 @@ pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_senti
4110pub const vector_8_i8: Type = .{ .ip_index = .vector_8_i8_type };4110pub const vector_8_i8: Type = .{ .ip_index = .vector_8_i8_type };
4111pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type };4111pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type };
4112pub const vector_32_i8: Type = .{ .ip_index = .vector_32_i8_type };4112pub const vector_32_i8: Type = .{ .ip_index = .vector_32_i8_type };
4113pub const vector_64_i8: Type = .{ .ip_index = .vector_64_i8_type };
4113pub const vector_1_u8: Type = .{ .ip_index = .vector_1_u8_type };4114pub const vector_1_u8: Type = .{ .ip_index = .vector_1_u8_type };
4114pub const vector_2_u8: Type = .{ .ip_index = .vector_2_u8_type };4115pub const vector_2_u8: Type = .{ .ip_index = .vector_2_u8_type };
4115pub const vector_4_u8: Type = .{ .ip_index = .vector_4_u8_type };4116pub 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 };...@@ -4117,20 +4118,27 @@ pub const vector_8_u8: Type = .{ .ip_index = .vector_8_u8_type };
4117pub const vector_16_u8: Type = .{ .ip_index = .vector_16_u8_type };4118pub const vector_16_u8: Type = .{ .ip_index = .vector_16_u8_type };
4118pub const vector_32_u8: Type = .{ .ip_index = .vector_32_u8_type };4119pub const vector_32_u8: Type = .{ .ip_index = .vector_32_u8_type };
4119pub const vector_64_u8: Type = .{ .ip_index = .vector_64_u8_type };4120pub const vector_64_u8: Type = .{ .ip_index = .vector_64_u8_type };
4121pub const vector_2_i16: Type = .{ .ip_index = .vector_2_i16_type };
4120pub const vector_4_i16: Type = .{ .ip_index = .vector_4_i16_type };4122pub const vector_4_i16: Type = .{ .ip_index = .vector_4_i16_type };
4121pub const vector_8_i16: Type = .{ .ip_index = .vector_8_i16_type };4123pub const vector_8_i16: Type = .{ .ip_index = .vector_8_i16_type };
4122pub const vector_16_i16: Type = .{ .ip_index = .vector_16_i16_type };4124pub const vector_16_i16: Type = .{ .ip_index = .vector_16_i16_type };
4125pub const vector_32_i16: Type = .{ .ip_index = .vector_32_i16_type };
4123pub const vector_4_u16: Type = .{ .ip_index = .vector_4_u16_type };4126pub const vector_4_u16: Type = .{ .ip_index = .vector_4_u16_type };
4124pub const vector_8_u16: Type = .{ .ip_index = .vector_8_u16_type };4127pub const vector_8_u16: Type = .{ .ip_index = .vector_8_u16_type };
4125pub const vector_16_u16: Type = .{ .ip_index = .vector_16_u16_type };4128pub const vector_16_u16: Type = .{ .ip_index = .vector_16_u16_type };
4129pub const vector_32_u16: Type = .{ .ip_index = .vector_32_u16_type };
4126pub const vector_4_i32: Type = .{ .ip_index = .vector_4_i32_type };4130pub const vector_4_i32: Type = .{ .ip_index = .vector_4_i32_type };
4127pub const vector_8_i32: Type = .{ .ip_index = .vector_8_i32_type };4131pub const vector_8_i32: Type = .{ .ip_index = .vector_8_i32_type };
4132pub const vector_16_i32: Type = .{ .ip_index = .vector_16_i32_type };
4128pub const vector_4_u32: Type = .{ .ip_index = .vector_4_u32_type };4133pub const vector_4_u32: Type = .{ .ip_index = .vector_4_u32_type };
4129pub const vector_8_u32: Type = .{ .ip_index = .vector_8_u32_type };4134pub const vector_8_u32: Type = .{ .ip_index = .vector_8_u32_type };
4135pub const vector_16_u32: Type = .{ .ip_index = .vector_16_u32_type };
4130pub const vector_2_i64: Type = .{ .ip_index = .vector_2_i64_type };4136pub const vector_2_i64: Type = .{ .ip_index = .vector_2_i64_type };
4131pub const vector_4_i64: Type = .{ .ip_index = .vector_4_i64_type };4137pub const vector_4_i64: Type = .{ .ip_index = .vector_4_i64_type };
4138pub const vector_8_i64: Type = .{ .ip_index = .vector_8_i64_type };
4132pub const vector_2_u64: Type = .{ .ip_index = .vector_2_u64_type };4139pub const vector_2_u64: Type = .{ .ip_index = .vector_2_u64_type };
4133pub const vector_4_u64: Type = .{ .ip_index = .vector_4_u64_type };4140pub const vector_4_u64: Type = .{ .ip_index = .vector_4_u64_type };
4141pub const vector_8_u64: Type = .{ .ip_index = .vector_8_u64_type };
4134pub const vector_1_u128: Type = .{ .ip_index = .vector_1_u128_type };4142pub const vector_1_u128: Type = .{ .ip_index = .vector_1_u128_type };
4135pub const vector_2_u128: Type = .{ .ip_index = .vector_2_u128_type };4143pub const vector_2_u128: Type = .{ .ip_index = .vector_2_u128_type };
4136pub const vector_1_u256: Type = .{ .ip_index = .vector_1_u256_type };4144pub 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 {...@@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2389}2389}
23902390
2391fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {2391fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2392 @setEvalBranchQuota(24_000);2392 @setEvalBranchQuota(25_200);
2393 const pt = cg.pt;2393 const pt = cg.pt;
2394 const zcu = pt.zcu;2394 const zcu = pt.zcu;
2395 const ip = &zcu.intern_pool;2395 const ip = &zcu.intern_pool;
...@@ -117441,7 +117441,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -117441,7 +117441,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
117441 const res_ty = cg.typeOfIndex(inst);117441 const res_ty = cg.typeOfIndex(inst);
117442 switch (reduce.operation) {117442 switch (reduce.operation) {
117443 .And, .Or, .Xor => {},117443 .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),
117445 .Add, .Mul => {},117446 .Add, .Mul => {},
117446 }117447 }
117447 var ops = try cg.tempsFromOperands(inst, .{reduce.operand});117448 var ops = try cg.tempsFromOperands(inst, .{reduce.operand});
...@@ -119006,7 +119007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119006,7 +119007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119006 },119007 },
119007 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },119008 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119008 .each = .{ .once = &.{119009 .each = .{ .once = &.{
119009 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },119010 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119010 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },119011 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119011 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },119012 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119012 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119013 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
...@@ -119033,8 +119034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119033,8 +119034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119033 },119034 },
119034 .dst_temps = .{ .{ .ref = .src0 }, .unused },119035 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119035 .each = .{ .once = &.{119036 .each = .{ .once = &.{
119036 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },119037 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119037 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119038 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119038 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119039 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },119039 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119040 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },119040 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
...@@ -119062,7 +119062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119062,7 +119062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119062 },119062 },
119063 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },119063 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119064 .each = .{ .once = &.{119064 .each = .{ .once = &.{
119065 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },119065 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119066 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },119066 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
119067 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },119067 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
119068 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },119068 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
...@@ -119089,8 +119089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119089,8 +119089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119089 },119089 },
119090 .dst_temps = .{ .{ .ref = .src0 }, .unused },119090 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119091 .each = .{ .once = &.{119091 .each = .{ .once = &.{
119092 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },119092 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
119093 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119094 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },119093 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },
119095 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },119094 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
119096 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119095 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
...@@ -119117,9 +119116,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119117,9 +119116,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119117 },119116 },
119118 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },119117 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119119 .each = .{ .once = &.{119118 .each = .{ .once = &.{
119120 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },119119 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
119121 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },119120 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119122 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },119121 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119123 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119122 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119124 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },119123 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119125 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119124 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
...@@ -119146,10 +119145,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119146,10 +119145,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119146 },119145 },
119147 .dst_temps = .{ .{ .ref = .src0 }, .unused },119146 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119148 .each = .{ .once = &.{119147 .each = .{ .once = &.{
119149 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },119148 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
119150 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119149 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119151 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },119150 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119152 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119153 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119151 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119154 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },119152 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119155 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },119153 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
...@@ -119190,9 +119188,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119190,9 +119188,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119190 .@"and" => .@"or",119188 .@"and" => .@"or",
119191 .@"or", .xor => .@"and",119189 .@"or", .xor => .@"and",
119192 }, .dst0x, .src0x, .lea(.tmp0x), ._ },119190 }, .dst0x, .src0x, .lea(.tmp0x), ._ },
119193 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },119191 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119194 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119192 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119195 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119193 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119196 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119194 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119197 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119195 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119198 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119196 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119232,10 +119230,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119232,10 +119230,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119232 .@"and" => .@"or",119230 .@"and" => .@"or",
119233 .@"or", .xor => .@"and",119231 .@"or", .xor => .@"and",
119234 }, .dst0x, .lea(.tmp0x), ._, ._ },119232 }, .dst0x, .lea(.tmp0x), ._, ._ },
119235 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },119233 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119236 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119234 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119237 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },119235 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119238 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
119239 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119236 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119240 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },119237 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119241 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },119238 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
...@@ -119263,11 +119260,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119263,11 +119260,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119263 },119260 },
119264 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },119261 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
119265 .each = .{ .once = &.{119262 .each = .{ .once = &.{
119266 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },119263 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
119267 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },119264 .{ ._, .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), ._ },
119269 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119266 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119270 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },119267 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119271 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119268 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119272 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },119269 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119273 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119270 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
...@@ -119294,12 +119291,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119294,12 +119291,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119294 },119291 },
119295 .dst_temps = .{ .{ .ref = .src0 }, .unused },119292 .dst_temps = .{ .{ .ref = .src0 }, .unused },
119296 .each = .{ .once = &.{119293 .each = .{ .once = &.{
119297 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },119294 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
119298 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119295 .{ ._, .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), ._ },
119300 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119297 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119301 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },119298 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119302 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
119303 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },119299 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
119304 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },119300 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
119305 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },119301 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
...@@ -119340,11 +119336,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119340,11 +119336,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119340 .@"and" => .@"or",119336 .@"and" => .@"or",
119341 .@"or", .xor => .@"and",119337 .@"or", .xor => .@"and",
119342 }, .dst0x, .src0x, .lea(.tmp0x), ._ },119338 }, .dst0x, .src0x, .lea(.tmp0x), ._ },
119343 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },119339 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119344 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119340 .{ ._, .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), ._ },
119346 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119342 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119347 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119343 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119348 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119344 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119349 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119345 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119350 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119346 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119384,12 +119380,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119384,12 +119380,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119384 .@"and" => .@"or",119380 .@"and" => .@"or",
119385 .@"or", .xor => .@"and",119381 .@"or", .xor => .@"and",
119386 }, .dst0x, .lea(.tmp0x), ._, ._ },119382 }, .dst0x, .lea(.tmp0x), ._, ._ },
119387 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },119383 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119388 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119384 .{ ._, .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), ._ },
119390 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119386 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119391 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },119387 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119392 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
119393 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119388 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119394 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },119389 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119395 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },119390 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
...@@ -119419,11 +119414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119419,11 +119414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119419 .each = .{ .once = &.{119414 .each = .{ .once = &.{
119420 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },119415 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
119421 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },119416 .{ ._, .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), ._ },
119423 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119418 .{ ._, .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), ._ },
119425 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119420 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119426 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },119421 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119427 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119422 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119428 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },119423 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119429 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119424 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
...@@ -119454,9 +119449,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119454,9 +119449,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119454 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },119449 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
119455 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },119450 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
119456 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119451 .{ ._, .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) },
119458 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119453 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119459 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },119454 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119460 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119455 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119461 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },119456 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119462 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119457 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
...@@ -119498,11 +119493,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119498,11 +119493,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119498 }, .dst0y, .src0y, .lea(.tmp0y), ._ },119493 }, .dst0y, .src0y, .lea(.tmp0y), ._ },
119499 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },119494 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119500 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119495 .{ ._, .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), ._ },
119502 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119497 .{ ._, .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), ._ },
119504 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119499 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119505 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119500 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119506 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119501 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119507 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119502 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119508 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119503 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119546,9 +119541,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119546,9 +119541,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119546 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119541 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119547 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },119542 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
119548 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119543 .{ ._, .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) },
119550 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119545 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119551 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119546 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119552 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119547 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119553 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119548 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119554 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119549 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119579,11 +119574,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119579,11 +119574,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119579 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },119574 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
119580 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },119575 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
119581 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119576 .{ ._, .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), ._ },
119583 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119578 .{ ._, .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), ._ },
119585 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119580 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119586 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },119581 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
119587 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119582 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
119588 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },119583 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
119589 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },119584 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
...@@ -119633,11 +119628,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119633,11 +119628,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119633 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },119628 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
119634 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },119629 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119635 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119630 .{ ._, .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), ._ },
119637 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119632 .{ ._, .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), ._ },
119639 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119634 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119640 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119635 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119641 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119636 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119642 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119637 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119643 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119638 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119672,11 +119667,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119672,11 +119667,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119672 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },119667 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119673 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },119668 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
119674 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119669 .{ ._, .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), ._ },
119676 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119671 .{ ._, .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), ._ },
119678 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119673 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119679 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },119674 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
119680 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119675 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119681 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },119676 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
119682 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119677 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
...@@ -119713,9 +119708,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119713,9 +119708,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119713 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119708 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119714 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },119709 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
119715 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119710 .{ ._, .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) },
119717 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119712 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119718 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },119713 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
119719 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119714 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
119720 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },119715 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
119721 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },119716 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
...@@ -119748,12 +119743,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119748,12 +119743,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119748 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },119743 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
119749 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },119744 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
119750 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },119745 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119751 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },119746 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
119752 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },119747 .{ ._, .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), ._ },
119754 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },119749 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
119755 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },119750 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
119756 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
119757 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },119751 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
119758 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },119752 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
119759 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },119753 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
...@@ -119810,11 +119804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119810,11 +119804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119810 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },119804 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
119811 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },119805 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119812 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119806 .{ ._, .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), ._ },
119814 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119808 .{ ._, .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), ._ },
119816 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119810 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119817 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119811 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119818 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119812 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119819 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119813 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119820 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119814 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119862,11 +119856,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119862,11 +119856,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119862 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },119856 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119863 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },119857 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
119864 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119858 .{ ._, .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), ._ },
119866 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119860 .{ ._, .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), ._ },
119868 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119862 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119869 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119863 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119870 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119864 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119871 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119865 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119872 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119866 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119916,9 +119910,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119916,9 +119910,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119916 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119910 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119917 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },119911 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
119918 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119912 .{ ._, .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) },
119920 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119914 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119921 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },119915 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119922 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119916 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
119923 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },119917 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
119924 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },119918 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -119964,12 +119958,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -119964,12 +119958,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
119964 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },119958 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
119965 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },119959 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
119966 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },119960 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
119967 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },119961 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
119968 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119962 .{ ._, .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), ._ },
119970 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119964 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119971 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },119965 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
119972 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
119973 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },119966 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
119974 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },119967 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
119975 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },119968 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
...@@ -120054,7 +120047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120054,7 +120047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120054 },120047 },
120055 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },120048 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120056 .each = .{ .once = &.{120049 .each = .{ .once = &.{
120057 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },120050 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
120058 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120051 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120059 } },120052 } },
120060 }, .{120053 }, .{
...@@ -120079,8 +120072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120079,8 +120072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120079 },120072 },
120080 .dst_temps = .{ .{ .ref = .src0 }, .unused },120073 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120081 .each = .{ .once = &.{120074 .each = .{ .once = &.{
120082 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },120075 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
120083 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
120084 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120076 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120085 } },120077 } },
120086 }, .{120078 }, .{
...@@ -120105,9 +120097,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120105,9 +120097,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120105 },120097 },
120106 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },120098 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120107 .each = .{ .once = &.{120099 .each = .{ .once = &.{
120108 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },120100 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120109 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120101 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120110 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },120102 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120111 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120103 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120112 } },120104 } },
120113 }, .{120105 }, .{
...@@ -120132,10 +120124,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120132,10 +120124,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120132 },120124 },
120133 .dst_temps = .{ .{ .ref = .src0 }, .unused },120125 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120134 .each = .{ .once = &.{120126 .each = .{ .once = &.{
120135 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },120127 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120136 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120128 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120137 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },120129 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120138 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
120139 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120130 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120140 } },120131 } },
120141 }, .{120132 }, .{
...@@ -120160,9 +120151,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120160,9 +120151,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120160 },120151 },
120161 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },120152 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120162 .each = .{ .once = &.{120153 .each = .{ .once = &.{
120163 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },120154 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120164 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },120155 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },
120165 .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },120156 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
120166 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },120157 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
120167 } },120158 } },
120168 }, .{120159 }, .{
...@@ -120185,11 +120176,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120185,11 +120176,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120185 .unused,120176 .unused,
120186 .unused,120177 .unused,
120187 },120178 },
120188 .dst_temps = .{ .{ .ref = .src0 }, .unused },120179 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120189 .each = .{ .once = &.{120180 .each = .{ .once = &.{
120190 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },120181 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120191 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },120182 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },
120192 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },120183 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
120193 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120184 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120194 } },120185 } },
120195 }, .{120186 }, .{
...@@ -120214,11 +120205,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120214,11 +120205,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120214 },120205 },
120215 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },120206 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120216 .each = .{ .once = &.{120207 .each = .{ .once = &.{
120217 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },120208 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
120218 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120209 .{ ._, .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), ._ },
120220 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120211 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120221 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },120212 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120222 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120213 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120223 } },120214 } },
120224 }, .{120215 }, .{
...@@ -120243,12 +120234,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120243,12 +120234,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120243 },120234 },
120244 .dst_temps = .{ .{ .ref = .src0 }, .unused },120235 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120245 .each = .{ .once = &.{120236 .each = .{ .once = &.{
120246 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },120237 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
120247 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120238 .{ ._, .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), ._ },
120249 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120240 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120250 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },120241 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120251 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
120252 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120242 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120253 } },120243 } },
120254 }, .{120244 }, .{
...@@ -120286,11 +120276,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120286,11 +120276,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120286 .@"and" => .@"or",120276 .@"and" => .@"or",
120287 .@"or", .xor => .@"and",120277 .@"or", .xor => .@"and",
120288 }, .dst0x, .src0x, .lea(.tmp0x), ._ },120278 }, .dst0x, .src0x, .lea(.tmp0x), ._ },
120289 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },120279 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120290 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120280 .{ ._, .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), ._ },
120292 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120282 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120293 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120283 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120294 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120284 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120295 } },120285 } },
120296 }, .{120286 }, .{
...@@ -120328,12 +120318,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120328,12 +120318,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120328 .@"and" => .@"or",120318 .@"and" => .@"or",
120329 .@"or", .xor => .@"and",120319 .@"or", .xor => .@"and",
120330 }, .dst0x, .lea(.tmp0x), ._, ._ },120320 }, .dst0x, .lea(.tmp0x), ._, ._ },
120331 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },120321 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120332 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },120322 .{ ._, .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), ._ },
120334 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },120324 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120335 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },120325 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120336 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
120337 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },120326 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120338 } },120327 } },
120339 }, .{120328 }, .{
...@@ -120360,11 +120349,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120360,11 +120349,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120360 .each = .{ .once = &.{120349 .each = .{ .once = &.{
120361 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },120350 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
120362 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120351 .{ ._, .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), ._ },
120364 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120353 .{ ._, .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), ._ },
120366 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120355 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120367 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },120356 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120368 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120357 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120369 } },120358 } },
120370 }, .{120359 }, .{
...@@ -120393,9 +120382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120393,9 +120382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120393 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120382 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120394 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },120383 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
120395 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120384 .{ ._, .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) },
120397 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120386 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120398 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },120387 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120399 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120388 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120400 } },120389 } },
120401 }, .{120390 }, .{
...@@ -120435,11 +120424,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120435,11 +120424,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120435 }, .dst0y, .src0y, .lea(.tmp0y), ._ },120424 }, .dst0y, .src0y, .lea(.tmp0y), ._ },
120436 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },120425 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120437 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120426 .{ ._, .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), ._ },
120439 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120428 .{ ._, .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), ._ },
120441 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120430 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120442 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120431 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120443 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120432 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120444 } },120433 } },
120445 }, .{120434 }, .{
...@@ -120481,9 +120470,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120481,9 +120470,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120481 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120470 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120482 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },120471 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
120483 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120472 .{ ._, .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) },
120485 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120474 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120486 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120475 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120487 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120476 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120488 } },120477 } },
120489 }, .{120478 }, .{
...@@ -120512,11 +120501,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120512,11 +120501,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120512 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },120501 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
120513 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },120502 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
120514 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120503 .{ ._, .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), ._ },
120516 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120505 .{ ._, .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), ._ },
120518 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120507 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120519 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },120508 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
120520 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120509 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120521 } },120510 } },
120522 }, .{120511 }, .{
...@@ -120564,11 +120553,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120564,11 +120553,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120564 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },120553 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
120565 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },120554 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120566 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120555 .{ ._, .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), ._ },
120568 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120557 .{ ._, .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), ._ },
120570 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120559 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120571 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120560 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120572 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120561 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120573 } },120562 } },
120574 }, .{120563 }, .{
...@@ -120601,11 +120590,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120601,11 +120590,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120601 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },120590 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120602 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },120591 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
120603 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120592 .{ ._, .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), ._ },
120605 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120594 .{ ._, .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), ._ },
120607 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120596 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120608 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },120597 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
120609 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120598 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120610 } },120599 } },
120611 }, .{120600 }, .{
...@@ -120640,9 +120629,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120640,9 +120629,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120640 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120629 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120641 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },120630 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
120642 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120631 .{ ._, .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) },
120644 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120633 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120645 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },120634 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
120646 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },120635 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
120647 } },120636 } },
120648 }, .{120637 }, .{
...@@ -120673,12 +120662,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120673,12 +120662,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120673 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },120662 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
120674 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },120663 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
120675 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },120664 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120676 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },120665 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
120677 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },120666 .{ ._, .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), ._ },
120679 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },120668 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
120680 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },120669 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
120681 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
120682 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },120670 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
120683 } },120671 } },
120684 }, .{120672 }, .{
...@@ -120732,11 +120720,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120732,11 +120720,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120732 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },120720 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
120733 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },120721 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120734 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120722 .{ ._, .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), ._ },
120736 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120724 .{ ._, .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), ._ },
120738 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120726 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120739 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120727 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120740 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120728 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120741 } },120729 } },
120742 }, .{120730 }, .{
...@@ -120782,11 +120770,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120782,11 +120770,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120782 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },120770 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120783 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },120771 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
120784 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120772 .{ ._, .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), ._ },
120786 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120774 .{ ._, .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), ._ },
120788 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120776 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120789 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120777 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120790 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120778 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120791 } },120779 } },
120792 }, .{120780 }, .{
...@@ -120834,9 +120822,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120834,9 +120822,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120834 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120822 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120835 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },120823 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
120836 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120824 .{ ._, .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) },
120838 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120826 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120839 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },120827 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120840 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },120828 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
120841 } },120829 } },
120842 }, .{120830 }, .{
...@@ -120880,12 +120868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120880,12 +120868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120880 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },120868 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
120881 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },120869 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
120882 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },120870 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
120883 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },120871 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
120884 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },120872 .{ ._, .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), ._ },
120886 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },120874 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120887 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },120875 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
120888 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
120889 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },120876 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
120890 } },120877 } },
120891 }, .{120878 }, .{
...@@ -120938,7 +120925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120938,7 +120925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120938 },120925 },
120939 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },120926 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120940 .each = .{ .once = &.{120927 .each = .{ .once = &.{
120941 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },120928 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120942 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120929 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
120943 } },120930 } },
120944 }, .{120931 }, .{
...@@ -120963,7 +120950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120963,7 +120950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120963 },120950 },
120964 .dst_temps = .{ .{ .ref = .src0 }, .unused },120951 .dst_temps = .{ .{ .ref = .src0 }, .unused },
120965 .each = .{ .once = &.{120952 .each = .{ .once = &.{
120966 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },120953 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
120967 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },120954 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
120968 } },120955 } },
120969 }, .{120956 }, .{
...@@ -120988,9 +120975,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -120988,9 +120975,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
120988 },120975 },
120989 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },120976 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
120990 .each = .{ .once = &.{120977 .each = .{ .once = &.{
120991 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },120978 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
120992 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },120979 .{ ._, .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), ._ },
120994 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },120981 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
120995 } },120982 } },
120996 }, .{120983 }, .{
...@@ -121015,9 +121002,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121015,9 +121002,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121015 },121002 },
121016 .dst_temps = .{ .{ .ref = .src0 }, .unused },121003 .dst_temps = .{ .{ .ref = .src0 }, .unused },
121017 .each = .{ .once = &.{121004 .each = .{ .once = &.{
121018 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },121005 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121019 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },121006 .{ ._, .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), ._ },
121021 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },121008 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121022 } },121009 } },
121023 }, .{121010 }, .{
...@@ -121042,9 +121029,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121042,9 +121029,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121042 },121029 },
121043 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },121030 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
121044 .each = .{ .once = &.{121031 .each = .{ .once = &.{
121045 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },121032 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121046 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },121033 .{ ._, .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), ._ },
121048 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },121035 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
121049 } },121036 } },
121050 }, .{121037 }, .{
...@@ -121069,9 +121056,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121069,9 +121056,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121069 },121056 },
121070 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },121057 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
121071 .each = .{ .once = &.{121058 .each = .{ .once = &.{
121072 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },121059 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121073 .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ },121060 .{ ._, .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), ._ },
121075 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },121062 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121076 } },121063 } },
121077 }, .{121064 }, .{
...@@ -121098,9 +121085,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121098,9 +121085,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121098 .each = .{ .once = &.{121085 .each = .{ .once = &.{
121099 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },121086 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
121100 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },121087 .{ ._, .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), ._ },
121102 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121089 .{ ._, .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), ._ },
121104 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121091 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121105 } },121092 } },
121106 }, .{121093 }, .{
...@@ -121129,7 +121116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121129,7 +121116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121129 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },121116 .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
121130 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },121117 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
121131 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121118 .{ ._, .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) },
121133 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121120 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121134 } },121121 } },
121135 }, .{121122 }, .{
...@@ -121169,9 +121156,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121169,9 +121156,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121169 }, .dst0y, .src0y, .lea(.tmp0y), ._ },121156 }, .dst0y, .src0y, .lea(.tmp0y), ._ },
121170 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },121157 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121171 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121158 .{ ._, .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), ._ },
121173 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121160 .{ ._, .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), ._ },
121175 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121162 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121176 } },121163 } },
121177 }, .{121164 }, .{
...@@ -121213,7 +121200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121213,7 +121200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121213 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121200 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121214 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },121201 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
121215 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121202 .{ ._, .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) },
121217 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121204 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121218 } },121205 } },
121219 }, .{121206 }, .{
...@@ -121242,9 +121229,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121242,9 +121229,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121242 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },121229 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
121243 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },121230 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
121244 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121231 .{ ._, .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), ._ },
121246 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121233 .{ ._, .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), ._ },
121248 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121235 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121249 } },121236 } },
121250 }, .{121237 }, .{
...@@ -121292,9 +121279,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121292,9 +121279,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121292 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },121279 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
121293 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },121280 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121294 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121281 .{ ._, .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), ._ },
121296 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121283 .{ ._, .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), ._ },
121298 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121285 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121299 } },121286 } },
121300 }, .{121287 }, .{
...@@ -121327,9 +121314,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121327,9 +121314,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121327 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },121314 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121328 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },121315 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
121329 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121316 .{ ._, .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), ._ },
121331 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121318 .{ ._, .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), ._ },
121333 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121320 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121334 } },121321 } },
121335 }, .{121322 }, .{
...@@ -121364,7 +121351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121364,7 +121351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121364 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121351 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121365 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },121352 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
121366 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121353 .{ ._, .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) },
121368 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121355 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121369 } },121356 } },
121370 }, .{121357 }, .{
...@@ -121395,9 +121382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121395,9 +121382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121395 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },121382 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
121396 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },121383 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
121397 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },121384 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121398 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },121385 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121399 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },121386 .{ ._, .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), ._ },
121401 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },121388 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
121402 } },121389 } },
121403 }, .{121390 }, .{
...@@ -121451,9 +121438,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121451,9 +121438,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121451 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },121438 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
121452 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },121439 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121453 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121440 .{ ._, .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), ._ },
121455 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121442 .{ ._, .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), ._ },
121457 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121444 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121458 } },121445 } },
121459 }, .{121446 }, .{
...@@ -121499,9 +121486,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121499,9 +121486,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121499 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },121486 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121500 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },121487 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121501 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121488 .{ ._, .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), ._ },
121503 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121490 .{ ._, .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), ._ },
121505 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121492 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121506 } },121493 } },
121507 }, .{121494 }, .{
...@@ -121549,7 +121536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121549,7 +121536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121549 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121536 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121550 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },121537 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
121551 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121538 .{ ._, .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) },
121553 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121540 .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121554 } },121541 } },
121555 }, .{121542 }, .{
...@@ -121593,9 +121580,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121593,9 +121580,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121593 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },121580 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
121594 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },121581 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
121595 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },121582 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121596 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },121583 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
121597 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },121584 .{ ._, .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), ._ },
121599 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },121586 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
121600 } },121587 } },
121601 }, .{121588 }, .{
...@@ -121648,7 +121635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121648,7 +121635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121648 },121635 },
121649 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },121636 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
121650 .each = .{ .once = &.{121637 .each = .{ .once = &.{
121651 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },121638 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121652 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },121639 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },
121653 } },121640 } },
121654 }, .{121641 }, .{
...@@ -121673,7 +121660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121673,7 +121660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121673 },121660 },
121674 .dst_temps = .{ .{ .ref = .src0 }, .unused },121661 .dst_temps = .{ .{ .ref = .src0 }, .unused },
121675 .each = .{ .once = &.{121662 .each = .{ .once = &.{
121676 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },121663 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
121677 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },121664 .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ },
121678 } },121665 } },
121679 }, .{121666 }, .{
...@@ -121700,7 +121687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121700,7 +121687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121700 .each = .{ .once = &.{121687 .each = .{ .once = &.{
121701 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },121688 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
121702 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ },121689 .{ ._, .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), ._ },
121704 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121691 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121705 } },121692 } },
121706 }, .{121693 }, .{
...@@ -121754,7 +121741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121754,7 +121741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121754 .each = .{ .once = &.{121741 .each = .{ .once = &.{
121755 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },121742 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
121756 .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ },121743 .{ ._, .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), ._ },
121758 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },121745 .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ },
121759 } },121746 } },
121760 }, .{121747 }, .{
...@@ -121810,7 +121797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121810,7 +121797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121810 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },121797 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
121811 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },121798 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
121812 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121799 .{ ._, .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), ._ },
121814 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },121801 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ },
121815 } },121802 } },
121816 }, .{121803 }, .{
...@@ -121858,7 +121845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121858,7 +121845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121858 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },121845 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
121859 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },121846 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
121860 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121847 .{ ._, .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), ._ },
121862 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121849 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
121863 } },121850 } },
121864 }, .{121851 }, .{
...@@ -121891,7 +121878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121891,7 +121878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121891 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },121878 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121892 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },121879 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
121893 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121880 .{ ._, .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), ._ },
121895 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },121882 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ },
121896 } },121883 } },
121897 }, .{121884 }, .{
...@@ -121955,7 +121942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -121955,7 +121942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
121955 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },121942 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
121956 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },121943 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
121957 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },121944 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
121958 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },121945 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
121959 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },121946 .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ },
121960 } },121947 } },
121961 }, .{121948 }, .{
...@@ -122009,7 +121996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122009,7 +121996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122009 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },121996 .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ },
122010 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },121997 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
122011 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },121998 .{ ._, .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), ._ },
122013 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },122000 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
122014 } },122001 } },
122015 }, .{122002 }, .{
...@@ -122055,7 +122042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122055,7 +122042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122055 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },122042 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
122056 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },122043 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
122057 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },122044 .{ ._, .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), ._ },
122059 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },122046 .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ },
122060 } },122047 } },
122061 }, .{122048 }, .{
...@@ -122145,7 +122132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122145,7 +122132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122145 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },122132 .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
122146 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },122133 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
122147 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },122134 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
122148 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },122135 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
122149 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },122136 .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ },
122150 } },122137 } },
122151 }, .{122138 }, .{
...@@ -122797,16 +122784,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122797,16 +122784,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122797 } },122784 } },
122798 } },122785 } },
122799 },122786 },
122800 .Min, .Max => unreachable,122787 .Min => comptime &.{ .{
122801 .Add => comptime &.{ .{
122802 .required_features = .{ .avx, null, null, null },122788 .required_features = .{ .avx, null, null, null },
122803 .dst_constraints = .{ .{ .int = .byte }, .any },122789 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122804 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },122790 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
122805 .patterns = &.{122791 .patterns = &.{
122806 .{ .src = .{ .to_sse, .none, .none } },122792 .{ .src = .{ .to_sse, .none, .none } },
122807 },122793 },
122808 .extra_temps = .{122794 .extra_temps = .{
122809 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },122795 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122810 .unused,122796 .unused,
122811 .unused,122797 .unused,
122812 .unused,122798 .unused,
...@@ -122821,17 +122807,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122821,17 +122807,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122821 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },122807 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122822 .each = .{ .once = &.{122808 .each = .{ .once = &.{
122823 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },122809 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
122824 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },122810 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
122825 } },122811 } },
122826 }, .{122812 }, .{
122827 .required_features = .{ .sse2, null, null, null },122813 .required_features = .{ .sse4_1, null, null, null },
122828 .dst_constraints = .{ .{ .int = .byte }, .any },122814 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122829 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },122815 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
122830 .patterns = &.{122816 .patterns = &.{
122831 .{ .src = .{ .to_mut_sse, .none, .none } },122817 .{ .src = .{ .to_mut_sse, .none, .none } },
122832 },122818 },
122833 .extra_temps = .{122819 .extra_temps = .{
122834 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },122820 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
122835 .unused,122821 .unused,
122836 .unused,122822 .unused,
122837 .unused,122823 .unused,
...@@ -122847,12 +122833,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122847,12 +122833,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122847 .each = .{ .once = &.{122833 .each = .{ .once = &.{
122848 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },122834 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
122849 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },122835 .{ ._, .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, ._, ._ },
122851 } },122867 } },
122852 }, .{122868 }, .{
122853 .required_features = .{ .avx, null, null, null },122869 .required_features = .{ .avx, null, null, null },
122854 .dst_constraints = .{ .{ .int = .byte }, .any },122870 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
122855 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },122871 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
122856 .patterns = &.{122872 .patterns = &.{
122857 .{ .src = .{ .to_sse, .none, .none } },122873 .{ .src = .{ .to_sse, .none, .none } },
122858 },122874 },
...@@ -122871,15 +122887,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122871,15 +122887,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122871 },122887 },
122872 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },122888 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122873 .each = .{ .once = &.{122889 .each = .{ .once = &.{
122874 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },122890 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
122875 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },122891 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
122876 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
122877 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
122878 } },122892 } },
122879 }, .{122893 }, .{
122880 .required_features = .{ .sse2, null, null, null },122894 .required_features = .{ .sse2, null, null, null },
122881 .dst_constraints = .{ .{ .int = .byte }, .any },122895 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
122882 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },122896 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
122883 .patterns = &.{122897 .patterns = &.{
122884 .{ .src = .{ .to_mut_sse, .none, .none } },122898 .{ .src = .{ .to_mut_sse, .none, .none } },
122885 },122899 },
...@@ -122899,16 +122913,102 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122899,16 +122913,102 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122899 .dst_temps = .{ .{ .ref = .src0 }, .unused },122913 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122900 .each = .{ .once = &.{122914 .each = .{ .once = &.{
122901 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },122915 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
122902 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
122903 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
122904 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
122905 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },122916 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
122906 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },122917 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
122907 } },122918 } },
122908 }, .{122919 }, .{
122909 .required_features = .{ .avx, null, null, null },122920 .required_features = .{ .avx, null, null, null },
122910 .dst_constraints = .{ .{ .int = .byte }, .any },122921 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122911 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .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 },
122912 .patterns = &.{123012 .patterns = &.{
122913 .{ .src = .{ .to_sse, .none, .none } },123013 .{ .src = .{ .to_sse, .none, .none } },
122914 },123014 },
...@@ -122927,15 +123027,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122927,15 +123027,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122927 },123027 },
122928 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123028 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122929 .each = .{ .once = &.{123029 .each = .{ .once = &.{
122930 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },123030 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
122931 .{ ._, .vp_b, .add, .tmp0x, .src0x, .tmp0x, ._ },123031 .{ ._, .vp_b, .minu, .tmp0x, .src0x, .tmp0x, ._ },
122932 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },123032 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
122933 .{ ._, .vp_b, .add, .dst0x, .tmp0x, .dst0x, ._ },123033 .{ ._, .vp_b, .minu, .dst0x, .tmp0x, .dst0x, ._ },
122934 } },123034 } },
122935 }, .{123035 }, .{
122936 .required_features = .{ .sse2, null, null, null },123036 .required_features = .{ .sse2, null, null, null },
122937 .dst_constraints = .{ .{ .int = .byte }, .any },123037 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
122938 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },123038 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122939 .patterns = &.{123039 .patterns = &.{
122940 .{ .src = .{ .to_mut_sse, .none, .none } },123040 .{ .src = .{ .to_mut_sse, .none, .none } },
122941 },123041 },
...@@ -122954,16 +123054,106 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122954,16 +123054,106 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122954 },123054 },
122955 .dst_temps = .{ .{ .ref = .src0 }, .unused },123055 .dst_temps = .{ .{ .ref = .src0 }, .unused },
122956 .each = .{ .once = &.{123056 .each = .{ .once = &.{
122957 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },123057 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
122958 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },123058 .{ ._, .p_b, .minu, .tmp0x, .src0x, ._, ._ },
122959 .{ ._, .p_b, .add, .tmp0x, .src0x, ._, ._ },
122960 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },123059 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
122961 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },123060 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
122962 } },123061 } },
122963 }, .{123062 }, .{
122964 .required_features = .{ .avx, null, null, null },123063 .required_features = .{ .avx, null, null, null },
122965 .dst_constraints = .{ .{ .int = .byte }, .any },123064 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
122966 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .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 },
122967 .patterns = &.{123157 .patterns = &.{
122968 .{ .src = .{ .to_sse, .none, .none } },123158 .{ .src = .{ .to_sse, .none, .none } },
122969 },123159 },
...@@ -122982,17 +123172,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -122982,17 +123172,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
122982 },123172 },
122983 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123173 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
122984 .each = .{ .once = &.{123174 .each = .{ .once = &.{
122985 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },123175 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
122986 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },123176 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
122987 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
122988 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
122989 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },123177 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
122990 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123178 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
122991 } },123179 } },
122992 }, .{123180 }, .{
122993 .required_features = .{ .sse2, null, null, null },123181 .required_features = .{ .sse2, null, null, null },
122994 .dst_constraints = .{ .{ .int = .byte }, .any },123182 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
122995 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },123183 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
122996 .patterns = &.{123184 .patterns = &.{
122997 .{ .src = .{ .to_mut_sse, .none, .none } },123185 .{ .src = .{ .to_mut_sse, .none, .none } },
122998 },123186 },
...@@ -123011,25 +123199,135 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123011,25 +123199,135 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123011 },123199 },
123012 .dst_temps = .{ .{ .ref = .src0 }, .unused },123200 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123013 .each = .{ .once = &.{123201 .each = .{ .once = &.{
123014 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },123202 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123015 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },123203 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123016 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123017 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
123018 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123019 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },123204 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123020 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },123205 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123021 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },123206 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123022 } },123207 } },
123023 }, .{123208 }, .{
123024 .required_features = .{ .avx, null, null, null },123209 .required_features = .{ .avx, null, null, null },
123025 .dst_constraints = .{ .{ .int = .byte }, .any },123210 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123026 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },123211 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123027 .patterns = &.{123212 .patterns = &.{
123028 .{ .src = .{ .to_sse, .none, .none } },123213 .{ .src = .{ .to_sse, .none, .none } },
123029 },123214 },
123030 .extra_temps = .{123215 .extra_temps = .{
123031 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },123216 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123032 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },123217 .{ .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 } } },
123033 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },123331 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123034 .unused,123332 .unused,
123035 .unused,123333 .unused,
...@@ -123043,24 +123341,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123043,24 +123341,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123043 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123341 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123044 .each = .{ .once = &.{123342 .each = .{ .once = &.{
123045 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },123343 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123046 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },123344 .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ },
123047 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },123345 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123048 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123346 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123049 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },123347 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123050 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123348 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123051 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },123349 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123052 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123350 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123053 } },123351 } },
123054 }, .{123352 }, .{
123055 .required_features = .{ .sse2, null, null, null },123353 .required_features = .{ .sse2, null, null, null },
123056 .dst_constraints = .{ .{ .int = .byte }, .any },123354 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123057 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },123355 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123058 .patterns = &.{123356 .patterns = &.{
123059 .{ .src = .{ .to_mut_sse, .none, .none } },123357 .{ .src = .{ .to_mut_sse, .none, .none } },
123060 },123358 },
123061 .extra_temps = .{123359 .extra_temps = .{
123062 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },123360 .{ .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 } } },
123064 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },123362 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123065 .unused,123363 .unused,
123066 .unused,123364 .unused,
...@@ -123074,20 +123372,120 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123074,20 +123372,120 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123074 .dst_temps = .{ .{ .ref = .src0 }, .unused },123372 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123075 .each = .{ .once = &.{123373 .each = .{ .once = &.{
123076 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },123374 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123077 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },123375 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123078 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },123376 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123079 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },123377 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123080 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },123378 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123081 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },123379 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123082 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123083 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },123380 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123084 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },123381 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
123085 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },123382 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123086 } },123383 } },
123087 }, .{123384 }, .{
123088 .required_features = .{ .avx, null, null, null },123385 .required_features = .{ .avx, null, null, null },
123089 .dst_constraints = .{ .{ .int = .byte }, .any },123386 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123090 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .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 },
123091 .patterns = &.{123489 .patterns = &.{
123092 .{ .src = .{ .to_sse, .none, .none } },123490 .{ .src = .{ .to_sse, .none, .none } },
123093 },123491 },
...@@ -123106,19 +123504,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123106,19 +123504,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123106 },123504 },
123107 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123505 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123108 .each = .{ .once = &.{123506 .each = .{ .once = &.{
123109 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },123507 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123110 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },123508 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
123111 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },123509 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123112 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123510 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123113 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123114 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123115 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },123511 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },
123116 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123512 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123117 } },123513 } },
123118 }, .{123514 }, .{
123119 .required_features = .{ .sse2, null, null, null },123515 .required_features = .{ .sse2, null, null, null },
123120 .dst_constraints = .{ .{ .int = .byte }, .any },123516 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123121 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },123517 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
123122 .patterns = &.{123518 .patterns = &.{
123123 .{ .src = .{ .to_mut_sse, .none, .none } },123519 .{ .src = .{ .to_mut_sse, .none, .none } },
123124 },123520 },
...@@ -123137,27 +123533,147 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123137,27 +123533,147 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123137 },123533 },
123138 .dst_temps = .{ .{ .ref = .src0 }, .unused },123534 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123139 .each = .{ .once = &.{123535 .each = .{ .once = &.{
123140 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },123536 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123141 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },123537 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123142 .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },123538 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123143 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },123539 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123144 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123145 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
123146 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },
123147 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },123540 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },
123148 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },123541 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
123149 .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ },123542 .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ },
123150 } },123543 } },
123151 }, .{123544 }, .{
123152 .required_features = .{ .avx, null, null, null },123545 .required_features = .{ .avx, null, null, null },
123153 .dst_constraints = .{ .{ .int = .byte }, .any },123546 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123154 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },123547 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123155 .patterns = &.{123548 .patterns = &.{
123156 .{ .src = .{ .to_sse, .none, .none } },123549 .{ .src = .{ .to_sse, .none, .none } },
123157 },123550 },
123158 .extra_temps = .{123551 .extra_temps = .{
123159 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },123552 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123160 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },123553 .{ .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 } } },
123161 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },123677 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123162 .unused,123678 .unused,
123163 .unused,123679 .unused,
...@@ -123171,26 +123687,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123171,26 +123687,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123171 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123687 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123172 .each = .{ .once = &.{123688 .each = .{ .once = &.{
123173 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },123689 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123174 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },123690 .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ },
123175 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },123691 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123176 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123692 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123177 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },123693 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123178 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123694 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123179 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },123695 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123180 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123696 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123181 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },123697 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123182 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },123698 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123183 } },123699 } },
123184 }, .{123700 }, .{
123185 .required_features = .{ .sse2, null, null, null },123701 .required_features = .{ .sse2, null, null, null },
123186 .dst_constraints = .{ .{ .int = .byte }, .any },123702 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123187 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },123703 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123188 .patterns = &.{123704 .patterns = &.{
123189 .{ .src = .{ .to_mut_sse, .none, .none } },123705 .{ .src = .{ .to_mut_sse, .none, .none } },
123190 },123706 },
123191 .extra_temps = .{123707 .extra_temps = .{
123192 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },123708 .{ .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 } } },
123194 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },123710 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123195 .unused,123711 .unused,
123196 .unused,123712 .unused,
...@@ -123204,27 +123720,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123204,27 +123720,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123204 .dst_temps = .{ .{ .ref = .src0 }, .unused },123720 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123205 .each = .{ .once = &.{123721 .each = .{ .once = &.{
123206 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },123722 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123207 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },123723 .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ },
123208 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },123724 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123209 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },123725 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123210 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },123726 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123211 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },123727 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123212 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },123728 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123213 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },123729 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123214 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123215 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },123730 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123216 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },123731 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
123217 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },123732 .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ },
123218 } },123733 } },
123219 }, .{123734 }, .{
123220 .required_features = .{ .avx2, null, null, null },123735 .required_features = .{ .avx, null, null, null },
123221 .dst_constraints = .{ .{ .int = .byte }, .any },123736 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123222 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },123737 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123223 .patterns = &.{123738 .patterns = &.{
123224 .{ .src = .{ .to_sse, .none, .none } },123739 .{ .src = .{ .to_sse, .none, .none } },
123225 },123740 },
123226 .extra_temps = .{123741 .extra_temps = .{
123227 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },123742 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
123228 .unused,123743 .unused,
123229 .unused,123744 .unused,
123230 .unused,123745 .unused,
...@@ -123238,21 +123753,99 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123238,21 +123753,99 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123238 },123753 },
123239 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123754 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123240 .each = .{ .once = &.{123755 .each = .{ .once = &.{
123241 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },123756 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123242 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },123757 .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ },
123243 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },123758 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123244 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123759 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123245 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },123760 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123246 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123761 .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ },
123247 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123248 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123249 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },123762 .{ ._, .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, ._, ._ },
123251 } },123844 } },
123252 }, .{123845 }, .{
123253 .required_features = .{ .avx, null, null, null },123846 .required_features = .{ .avx, null, null, null },
123254 .dst_constraints = .{ .{ .int = .byte }, .any },123847 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123255 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },123848 .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
123256 .patterns = &.{123849 .patterns = &.{
123257 .{ .src = .{ .to_sse, .none, .none } },123850 .{ .src = .{ .to_sse, .none, .none } },
123258 },123851 },
...@@ -123271,27 +123864,131 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123271,27 +123864,131 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123271 },123864 },
123272 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },123865 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123273 .each = .{ .once = &.{123866 .each = .{ .once = &.{
123274 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },123867 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
123275 .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ },123868 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
123276 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },123869 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123277 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123870 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123278 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },123871 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123279 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },123872 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123280 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123281 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123282 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },123873 .{ ._, .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, ._, ._ },
123284 } },123907 } },
123285 }, .{123908 }, .{
123286 .required_features = .{ .avx2, null, null, null },123909 .required_features = .{ .avx2, null, null, null },
123287 .dst_constraints = .{ .{ .int = .byte }, .any },123910 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123288 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .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 },
123289 .patterns = &.{123949 .patterns = &.{
123290 .{ .src = .{ .to_sse, .none, .none } },123950 .{ .src = .{ .to_sse, .none, .none } },
123291 },123951 },
123292 .extra_temps = .{123952 .extra_temps = .{
123293 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },123953 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123294 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },123954 .{ .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 } } },
123295 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },123992 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123296 .unused,123993 .unused,
123297 .unused,123994 .unused,
...@@ -123305,28 +124002,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123305,28 +124002,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123305 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },124002 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123306 .each = .{ .once = &.{124003 .each = .{ .once = &.{
123307 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },124004 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123308 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },124005 .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
123309 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },124006 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123310 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124007 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123311 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },124008 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123312 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124009 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123313 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },124010 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123314 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124011 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123315 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },124012 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123316 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124013 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123317 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },124014 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123318 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124015 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123319 } },124016 } },
123320 }, .{124017 }, .{
123321 .required_features = .{ .avx, null, null, null },124018 .required_features = .{ .avx, null, null, null },
123322 .dst_constraints = .{ .{ .int = .byte }, .any },124019 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123323 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },124020 .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123324 .patterns = &.{124021 .patterns = &.{
123325 .{ .src = .{ .to_sse, .none, .none } },124022 .{ .src = .{ .to_sse, .none, .none } },
123326 },124023 },
123327 .extra_temps = .{124024 .extra_temps = .{
123328 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },124025 .{ .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 } } },
123330 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },124027 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
123331 .unused,124028 .unused,
123332 .unused,124029 .unused,
...@@ -123340,24 +124037,90 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123340,24 +124037,90 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123340 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },124037 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123341 .each = .{ .once = &.{124038 .each = .{ .once = &.{
123342 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },124039 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123343 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },124040 .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ },
123344 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },124041 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123345 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124042 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123346 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },124043 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123347 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124044 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123348 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },124045 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123349 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124046 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123350 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },124047 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123351 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124048 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123352 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },124049 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123353 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124050 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123354 } },124051 } },
123355 }, .{124052 }, .{
123356 .required_features = .{ .avx512f, null, null, null },124053 .required_features = .{ .avx2, null, null, null },
123357 .dst_constraints = .{ .{ .int = .byte }, .any },124054 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123358 .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },124055 .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
123359 .patterns = &.{124056 .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 } },
123361 },124124 },
123362 .extra_temps = .{124125 .extra_temps = .{
123363 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },124126 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
...@@ -123372,31 +124135,104 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123372,31 +124135,104 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123372 .unused,124135 .unused,
123373 .unused,124136 .unused,
123374 },124137 },
123375 .dst_temps = .{ .{ .rc = .sse }, .unused },124138 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123376 .each = .{ .once = &.{124139 .each = .{ .once = &.{
123377 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },124140 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
123378 .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },124141 .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ },
123379 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },124142 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123380 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },124143 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123381 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ },124144 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ },
123382 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },124145 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123383 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ },124146 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123384 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },124147 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ },
123385 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },
123386 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ },
123387 .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ },124148 .{ ._, .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, ._ },
123389 } },124183 } },
123390 }, .{124184 }, .{
123391 .required_features = .{ .avx512f, null, null, null },124185 .required_features = .{ .avx512f, null, null, null },
123392 .dst_constraints = .{ .{ .int = .byte }, .any },124186 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123393 .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any },124187 .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any },
123394 .patterns = &.{124188 .patterns = &.{
123395 .{ .src = .{ .to_mem, .none, .none } },124189 .{ .src = .{ .to_mem, .none, .none } },
123396 },124190 },
123397 .extra_temps = .{124191 .extra_temps = .{
123398 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },124192 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
123399 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },124193 .{ .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 } } },
123400 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },124236 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
123401 .unused,124237 .unused,
123402 .unused,124238 .unused,
...@@ -123410,26 +124246,269 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123410,26 +124246,269 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123410 .dst_temps = .{ .{ .rc = .sse }, .unused },124246 .dst_temps = .{ .{ .rc = .sse }, .unused },
123411 .each = .{ .once = &.{124247 .each = .{ .once = &.{
123412 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },124248 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
123413 .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ },124249 .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ },
123414 .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ },124250 .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ },
123415 .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ },124251 .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ },
123416 .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ },124252 .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ },
123417 .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ },124253 .{ ._, .vp_b, .minu, .dst0y, .dst0y, .tmp2y, ._ },
123418 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },124254 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123419 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124255 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123420 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },124256 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123421 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124257 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123422 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ },124258 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123423 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124259 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123424 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },124260 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123425 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },124261 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ },
123426 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },124262 .{ ._, .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, ._ },
123428 } },124334 } },
123429 }, .{124335 }, .{
123430 .required_features = .{ .avx2, null, null, null },124336 .required_features = .{ .avx2, null, null, null },
123431 .dst_constraints = .{ .{ .int = .byte }, .any },124337 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
123432 .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .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 },
123433 .patterns = &.{124512 .patterns = &.{
123434 .{ .src = .{ .to_mem, .none, .none } },124513 .{ .src = .{ .to_mem, .none, .none } },
123435 },124514 },
...@@ -123451,24 +124530,6434 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123451,24 +124530,6434 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123451 .each = .{ .once = &.{124530 .each = .{ .once = &.{
123452 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },124531 .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ },
123453 .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ },124532 .{ ._, .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), ._ },
123455 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },124534 .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ },
123456 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },124535 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123457 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },124536 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
123458 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },124537 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123459 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },124538 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123460 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },124539 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123461 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ },124540 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123462 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },124541 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123463 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },124542 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
123464 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },124543 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123465 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },124544 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
123466 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },124545 .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ },
123467 } },124546 } },
123468 }, .{124547 }, .{
123469 .required_features = .{ .avx, null, null, null },124548 .required_features = .{ .avx, null, null, null },
123470 .dst_constraints = .{ .{ .int = .byte }, .any },124549 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
123471 .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .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 },
123472 .patterns = &.{130961 .patterns = &.{
123473 .{ .src = .{ .to_mem, .none, .none } },130962 .{ .src = .{ .to_mem, .none, .none } },
123474 },130963 },
...@@ -123493,11 +130982,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123493,11 +130982,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123493 .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },130982 .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
123494 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },130983 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123495 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },130984 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123496 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },130985 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123497 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },130986 .{ ._, .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), ._ },
123499 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },130988 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123500 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },130989 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
123501 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },130990 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
123502 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },130991 .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ },
123503 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },130992 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ },
...@@ -123530,12 +131019,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123530,12 +131019,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123530 .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },131019 .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
123531 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },131020 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123532 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },131021 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123533 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },131022 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
123534 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },131023 .{ ._, .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), ._ },
123536 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },131025 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },
123537 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },131026 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
123538 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
123539 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },131027 .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ },
123540 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },131028 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },
123541 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },131029 .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ },
...@@ -123577,11 +131065,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123577,11 +131065,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123577 .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ },131065 .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ },
123578 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },131066 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123579 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131067 .{ ._, .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), ._ },
123581 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131069 .{ ._, .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), ._ },
123583 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131071 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123584 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131072 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123585 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131073 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123586 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },131074 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123587 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131075 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -123618,11 +131106,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123618,11 +131106,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123618 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },131106 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123619 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },131107 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
123620 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131108 .{ ._, .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), ._ },
123622 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131110 .{ ._, .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), ._ },
123624 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131112 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123625 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131113 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123626 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131114 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123627 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },131115 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123628 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131116 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -123659,11 +131147,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123659,11 +131147,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123659 .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },131147 .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
123660 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },131148 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123661 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },131149 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123662 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },131150 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123663 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131151 .{ ._, .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), ._ },
123665 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131153 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123666 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131154 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123667 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131155 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
123668 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },131156 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
123669 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },131157 .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -123698,12 +131186,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123698,12 +131186,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123698 .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },131186 .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
123699 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },131187 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
123700 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },131188 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
123701 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },131189 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
123702 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },131190 .{ ._, .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), ._ },
123704 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },131192 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123705 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },131193 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
123706 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
123707 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },131194 .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ },
123708 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },131195 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
123709 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },131196 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
...@@ -123799,7 +131286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123799,7 +131286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123799 },131286 },
123800 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },131287 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123801 .each = .{ .once = &.{131288 .each = .{ .once = &.{
123802 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },131289 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123803 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },131290 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
123804 } },131291 } },
123805 }, .{131292 }, .{
...@@ -123835,8 +131322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123835,8 +131322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123835 },131322 },
123836 .dst_temps = .{ .{ .ref = .src0 }, .unused },131323 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123837 .each = .{ .once = &.{131324 .each = .{ .once = &.{
123838 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },131325 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
123839 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
123840 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131326 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123841 } },131327 } },
123842 }, .{131328 }, .{
...@@ -123873,9 +131359,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123873,9 +131359,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123873 },131359 },
123874 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },131360 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123875 .each = .{ .once = &.{131361 .each = .{ .once = &.{
123876 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },131362 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123877 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },131363 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },
123878 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },131364 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123879 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131365 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
123880 } },131366 } },
123881 }, .{131367 }, .{
...@@ -123912,10 +131398,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123912,10 +131398,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123912 },131398 },
123913 .dst_temps = .{ .{ .ref = .src0 }, .unused },131399 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123914 .each = .{ .once = &.{131400 .each = .{ .once = &.{
123915 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },131401 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123916 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131402 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123917 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },131403 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
123918 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
123919 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131404 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123920 } },131405 } },
123921 }, .{131406 }, .{
...@@ -123941,7 +131426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123941,7 +131426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123941 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },131426 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123942 .each = .{ .once = &.{131427 .each = .{ .once = &.{
123943 .{ ._, .vph_w, .add, .tmp0x, .src0x, .src0x, ._ },131428 .{ ._, .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), ._ },
123945 .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },131430 .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },
123946 } },131431 } },
123947 }, .{131432 }, .{
...@@ -123966,9 +131451,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123966,9 +131451,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123966 },131451 },
123967 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },131452 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
123968 .each = .{ .once = &.{131453 .each = .{ .once = &.{
123969 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },131454 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123970 .{ ._, .vp_w, .add, .tmp0x, .src0x, .tmp0x, ._ },131455 .{ ._, .vp_w, .add, .tmp0x, .src0x, .tmp0x, ._ },
123971 .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },131456 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
123972 .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },131457 .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ },
123973 } },131458 } },
123974 }, .{131459 }, .{
...@@ -123993,7 +131478,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -123993,7 +131478,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
123993 },131478 },
123994 .dst_temps = .{ .{ .ref = .src0 }, .unused },131479 .dst_temps = .{ .{ .ref = .src0 }, .unused },
123995 .each = .{ .once = &.{131480 .each = .{ .once = &.{
123996 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },131481 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
123997 .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ },131482 .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ },
123998 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131483 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
123999 } },131484 } },
...@@ -124017,11 +131502,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124017,11 +131502,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124017 .unused,131502 .unused,
124018 .unused,131503 .unused,
124019 },131504 },
124020 .dst_temps = .{ .{ .ref = .src0 }, .unused },131505 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124021 .each = .{ .once = &.{131506 .each = .{ .once = &.{
124022 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },131507 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
124023 .{ ._, .p_w, .add, .tmp0x, .src0x, ._, ._ },131508 .{ ._, .p_w, .add, .tmp0x, .src0x, ._, ._ },
124024 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },131509 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
124025 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131510 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124026 } },131511 } },
124027 }, .{131512 }, .{
...@@ -124059,11 +131544,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124059,11 +131544,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124059 },131544 },
124060 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },131545 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
124061 .each = .{ .once = &.{131546 .each = .{ .once = &.{
124062 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },131547 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
124063 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },131548 .{ ._, .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), ._ },
124065 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131550 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124066 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },131551 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124067 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131552 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124068 } },131553 } },
124069 }, .{131554 }, .{
...@@ -124101,12 +131586,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124101,12 +131586,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124101 },131586 },
124102 .dst_temps = .{ .{ .ref = .src0 }, .unused },131587 .dst_temps = .{ .{ .ref = .src0 }, .unused },
124103 .each = .{ .once = &.{131588 .each = .{ .once = &.{
124104 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },131589 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
124105 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131590 .{ ._, .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), ._ },
124107 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131592 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124108 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },131593 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124109 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
124110 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },131594 .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ },
124111 } },131595 } },
124112 }, .{131596 }, .{
...@@ -124161,11 +131645,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124161,11 +131645,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124161 .each = .{ .once = &.{131645 .each = .{ .once = &.{
124162 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },131646 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124163 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },131647 .{ ._, .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), ._ },
124165 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131649 .{ ._, .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), ._ },
124167 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131651 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124168 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131652 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124169 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131653 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124170 } },131654 } },
124171 }, .{131655 }, .{
...@@ -124220,12 +131704,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124220,12 +131704,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124220 .each = .{ .once = &.{131704 .each = .{ .once = &.{
124221 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },131705 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
124222 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },131706 .{ ._, .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), ._ },
124224 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },131708 .{ ._, .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), ._ },
124226 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },131710 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124227 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },131711 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124228 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
124229 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },131712 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124230 } },131713 } },
124231 }, .{131714 }, .{
...@@ -124267,11 +131750,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124267,11 +131750,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124267 .each = .{ .once = &.{131750 .each = .{ .once = &.{
124268 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },131751 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124269 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },131752 .{ ._, .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), ._ },
124271 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131754 .{ ._, .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), ._ },
124273 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131756 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124274 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },131757 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124275 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131758 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124276 } },131759 } },
124277 }, .{131760 }, .{
...@@ -124313,11 +131796,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124313,11 +131796,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124313 .each = .{ .once = &.{131796 .each = .{ .once = &.{
124314 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },131797 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
124315 .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ },131798 .{ ._, .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), ._ },
124317 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131800 .{ ._, .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), ._ },
124319 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131802 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124320 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },131803 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124321 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131804 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124322 } },131805 } },
124323 }, .{131806 }, .{
...@@ -124376,11 +131859,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124376,11 +131859,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124376 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },131859 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
124377 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },131860 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124378 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131861 .{ ._, .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), ._ },
124380 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131863 .{ ._, .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), ._ },
124382 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131865 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124383 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131866 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124384 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131867 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124385 } },131868 } },
124386 }, .{131869 }, .{
...@@ -124439,11 +131922,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124439,11 +131922,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124439 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },131922 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
124440 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },131923 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124441 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131924 .{ ._, .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), ._ },
124443 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131926 .{ ._, .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), ._ },
124445 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131928 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124446 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131929 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124447 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131930 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124448 } },131931 } },
124449 }, .{131932 }, .{
...@@ -124472,11 +131955,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124472,11 +131955,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124472 .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },131955 .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
124473 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },131956 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
124474 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131957 .{ ._, .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), ._ },
124476 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131959 .{ ._, .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), ._ },
124478 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131961 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124479 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },131962 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
124480 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },131963 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ },
124481 } },131964 } },
124482 }, .{131965 }, .{
...@@ -124509,11 +131992,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124509,11 +131992,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124509 .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ },131992 .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ },
124510 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },131993 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124511 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131994 .{ ._, .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), ._ },
124513 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131996 .{ ._, .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), ._ },
124515 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },131998 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124516 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },131999 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124517 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132000 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124518 } },132001 } },
124519 }, .{132002 }, .{
...@@ -124580,11 +132063,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124580,11 +132063,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124580 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },132063 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124581 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },132064 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
124582 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132065 .{ ._, .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), ._ },
124584 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132067 .{ ._, .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), ._ },
124586 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132069 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124587 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },132070 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124588 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132071 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124589 } },132072 } },
124590 }, .{132073 }, .{
...@@ -124647,11 +132130,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124647,11 +132130,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124647 .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },132130 .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124648 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },132131 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124649 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },132132 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124650 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },132133 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124651 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132134 .{ ._, .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), ._ },
124653 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132136 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124654 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },132137 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124655 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },132138 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ },
124656 } },132139 } },
124657 }, .{132140 }, .{
...@@ -124714,12 +132197,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124714,12 +132197,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124714 .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },132197 .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124715 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },132198 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124716 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },132199 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124717 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },132200 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
124718 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },132201 .{ ._, .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), ._ },
124720 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },132203 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },
124721 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },132204 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
124722 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
124723 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },132205 .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ },
124724 } },132206 } },
124725 }, .{132207 }, .{
...@@ -124758,11 +132240,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124758,11 +132240,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124758 .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ },132240 .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ },
124759 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },132241 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124760 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132242 .{ ._, .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), ._ },
124762 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132244 .{ ._, .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), ._ },
124764 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132246 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124765 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },132247 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124766 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132248 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124767 } },132249 } },
124768 }, .{132250 }, .{
...@@ -124833,11 +132315,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124833,11 +132315,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124833 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },132315 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124834 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },132316 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
124835 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132317 .{ ._, .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), ._ },
124837 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132319 .{ ._, .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), ._ },
124839 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132321 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124840 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },132322 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124841 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132323 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124842 } },132324 } },
124843 }, .{132325 }, .{
...@@ -124908,11 +132390,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124908,11 +132390,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124908 .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },132390 .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
124909 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },132391 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124910 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },132392 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124911 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },132393 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124912 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132394 .{ ._, .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), ._ },
124914 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132396 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124915 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },132397 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124916 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },132398 .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ },
124917 } },132399 } },
124918 }, .{132400 }, .{
...@@ -124979,12 +132461,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -124979,12 +132461,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
124979 .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },132461 .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
124980 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },132462 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
124981 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },132463 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
124982 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },132464 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
124983 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },132465 .{ ._, .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), ._ },
124985 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },132467 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124986 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },132468 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
124987 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
124988 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },132469 .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ },
124989 } },132470 } },
124990 }, .{132471 }, .{
...@@ -125048,7 +132529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125048,7 +132529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125048 },132529 },
125049 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },132530 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125050 .each = .{ .once = &.{132531 .each = .{ .once = &.{
125051 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },132532 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125052 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },132533 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },
125053 } },132534 } },
125054 }, .{132535 }, .{
...@@ -125084,7 +132565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125084,7 +132565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125084 },132565 },
125085 .dst_temps = .{ .{ .ref = .src0 }, .unused },132566 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125086 .each = .{ .once = &.{132567 .each = .{ .once = &.{
125087 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },132568 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
125088 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },132569 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125089 } },132570 } },
125090 }, .{132571 }, .{
...@@ -125121,9 +132602,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125121,9 +132602,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125121 },132602 },
125122 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },132603 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125123 .each = .{ .once = &.{132604 .each = .{ .once = &.{
125124 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },132605 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125125 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },132606 .{ ._, .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), ._ },
125127 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132608 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125128 } },132609 } },
125129 }, .{132610 }, .{
...@@ -125160,9 +132641,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125160,9 +132641,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125160 },132641 },
125161 .dst_temps = .{ .{ .ref = .src0 }, .unused },132642 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125162 .each = .{ .once = &.{132643 .each = .{ .once = &.{
125163 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },132644 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125164 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },132645 .{ ._, .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), ._ },
125166 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },132647 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125167 } },132648 } },
125168 }, .{132649 }, .{
...@@ -125188,7 +132669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125188,7 +132669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125188 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },132669 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125189 .each = .{ .once = &.{132670 .each = .{ .once = &.{
125190 .{ ._, .vph_d, .add, .tmp0x, .src0x, .src0x, ._ },132671 .{ ._, .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), ._ },
125192 .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },132673 .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },
125193 } },132674 } },
125194 }, .{132675 }, .{
...@@ -125213,9 +132694,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125213,9 +132694,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125213 },132694 },
125214 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },132695 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125215 .each = .{ .once = &.{132696 .each = .{ .once = &.{
125216 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },132697 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125217 .{ ._, .vp_d, .add, .tmp0x, .src0x, .tmp0x, ._ },132698 .{ ._, .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), ._ },
125219 .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },132700 .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ },
125220 } },132701 } },
125221 }, .{132702 }, .{
...@@ -125240,7 +132721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125240,7 +132721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125240 },132721 },
125241 .dst_temps = .{ .{ .ref = .src0 }, .unused },132722 .dst_temps = .{ .{ .ref = .src0 }, .unused },
125242 .each = .{ .once = &.{132723 .each = .{ .once = &.{
125243 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },132724 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125244 .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ },132725 .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ },
125245 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },132726 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125246 } },132727 } },
...@@ -125266,9 +132747,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125266,9 +132747,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125266 },132747 },
125267 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },132748 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
125268 .each = .{ .once = &.{132749 .each = .{ .once = &.{
125269 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },132750 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
125270 .{ ._, .p_d, .add, .tmp0x, .src0x, ._, ._ },132751 .{ ._, .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), ._ },
125272 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },132753 .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ },
125273 } },132754 } },
125274 }, .{132755 }, .{
...@@ -125309,9 +132790,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125309,9 +132790,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125309 .each = .{ .once = &.{132790 .each = .{ .once = &.{
125310 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },132791 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
125311 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },132792 .{ ._, .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), ._ },
125313 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132794 .{ ._, .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), ._ },
125315 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132796 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125316 } },132797 } },
125317 }, .{132798 }, .{
...@@ -125352,9 +132833,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125352,9 +132833,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125352 .each = .{ .once = &.{132833 .each = .{ .once = &.{
125353 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },132834 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
125354 .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ },132835 .{ ._, .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), ._ },
125356 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132837 .{ ._, .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), ._ },
125358 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132839 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125359 } },132840 } },
125360 }, .{132841 }, .{
...@@ -125412,9 +132893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125412,9 +132893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125412 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },132893 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
125413 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },132894 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125414 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },132895 .{ ._, .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), ._ },
125416 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },132897 .{ ._, .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), ._ },
125418 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },132899 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125419 } },132900 } },
125420 }, .{132901 }, .{
...@@ -125472,9 +132953,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125472,9 +132953,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125472 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },132953 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
125473 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },132954 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125474 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },132955 .{ ._, .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), ._ },
125476 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },132957 .{ ._, .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), ._ },
125478 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },132959 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125479 } },132960 } },
125480 }, .{132961 }, .{
...@@ -125504,9 +132985,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125504,9 +132985,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125504 .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },132985 .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
125505 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },132986 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
125506 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132987 .{ ._, .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), ._ },
125508 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132989 .{ ._, .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), ._ },
125510 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },132991 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ },
125511 } },132992 } },
125512 }, .{132993 }, .{
...@@ -125540,9 +133021,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125540,9 +133021,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125540 .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ },133021 .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ },
125541 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },133022 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125542 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133023 .{ ._, .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), ._ },
125544 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133025 .{ ._, .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), ._ },
125546 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133027 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125547 } },133028 } },
125548 }, .{133029 }, .{
...@@ -125608,9 +133089,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125608,9 +133089,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125608 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133089 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125609 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },133090 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
125610 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },133091 .{ ._, .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), ._ },
125612 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },133093 .{ ._, .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), ._ },
125614 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },133095 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125615 } },133096 } },
125616 }, .{133097 }, .{
...@@ -125672,9 +133153,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125672,9 +133153,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125672 .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },133153 .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
125673 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133154 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125674 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133155 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125675 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },133156 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125676 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },133157 .{ ._, .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), ._ },
125678 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },133159 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ },
125679 } },133160 } },
125680 }, .{133161 }, .{
...@@ -125736,9 +133217,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125736,9 +133217,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125736 .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },133217 .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
125737 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133218 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125738 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133219 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125739 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },133220 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
125740 .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ },133221 .{ ._, .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), ._ },
125742 .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ },133223 .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ },
125743 } },133224 } },
125744 }, .{133225 }, .{
...@@ -125777,9 +133258,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125777,9 +133258,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125777 .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ },133258 .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ },
125778 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },133259 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125779 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133260 .{ ._, .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), ._ },
125781 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133262 .{ ._, .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), ._ },
125783 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133264 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125784 } },133265 } },
125785 }, .{133266 }, .{
...@@ -125849,9 +133330,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125849,9 +133330,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125849 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133330 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125850 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },133331 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
125851 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133332 .{ ._, .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), ._ },
125853 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133334 .{ ._, .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), ._ },
125855 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133336 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125856 } },133337 } },
125857 }, .{133338 }, .{
...@@ -125920,9 +133401,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125920,9 +133401,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125920 .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },133401 .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
125921 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133402 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125922 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133403 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125923 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },133404 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125924 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133405 .{ ._, .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), ._ },
125926 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },133407 .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ },
125927 } },133408 } },
125928 }, .{133409 }, .{
...@@ -125988,9 +133469,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -125988,9 +133469,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
125988 .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },133469 .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
125989 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133470 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
125990 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133471 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
125991 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },133472 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
125992 .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ },133473 .{ ._, .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), ._ },
125994 .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ },133475 .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ },
125995 } },133476 } },
125996 }, .{133477 }, .{
...@@ -126043,7 +133524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126043,7 +133524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126043 },133524 },
126044 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },133525 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126045 .each = .{ .once = &.{133526 .each = .{ .once = &.{
126046 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },133527 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
126047 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },133528 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },
126048 } },133529 } },
126049 }, .{133530 }, .{
...@@ -126068,7 +133549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126068,7 +133549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126068 },133549 },
126069 .dst_temps = .{ .{ .ref = .src0 }, .unused },133550 .dst_temps = .{ .{ .ref = .src0 }, .unused },
126070 .each = .{ .once = &.{133551 .each = .{ .once = &.{
126071 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },133552 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
126072 .{ ._, .p_q, .add, .dst0x, .tmp0x, ._, ._ },133553 .{ ._, .p_q, .add, .dst0x, .tmp0x, ._, ._ },
126073 } },133554 } },
126074 }, .{133555 }, .{
...@@ -126095,7 +133576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126095,7 +133576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126095 .each = .{ .once = &.{133576 .each = .{ .once = &.{
126096 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },133577 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126097 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },133578 .{ ._, .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), ._ },
126099 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },133580 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126100 } },133581 } },
126101 }, .{133582 }, .{
...@@ -126122,7 +133603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126122,7 +133603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126122 .each = .{ .once = &.{133603 .each = .{ .once = &.{
126123 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },133604 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126124 .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ },133605 .{ ._, .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), ._ },
126126 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },133607 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126127 } },133608 } },
126128 }, .{133609 }, .{
...@@ -126149,7 +133630,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126149,7 +133630,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126149 .each = .{ .once = &.{133630 .each = .{ .once = &.{
126150 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },133631 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126151 .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ },133632 .{ ._, .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), ._ },
126153 .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },133634 .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },
126154 } },133635 } },
126155 }, .{133636 }, .{
...@@ -126176,7 +133657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126176,7 +133657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126176 .each = .{ .once = &.{133657 .each = .{ .once = &.{
126177 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },133658 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
126178 .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ },133659 .{ ._, .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), ._ },
126180 .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },133661 .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ },
126181 } },133662 } },
126182 }, .{133663 }, .{
...@@ -126205,7 +133686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126205,7 +133686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126205 .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },133686 .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
126206 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },133687 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
126207 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },133688 .{ ._, .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), ._ },
126209 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },133690 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ },
126210 } },133691 } },
126211 }, .{133692 }, .{
...@@ -126238,7 +133719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126238,7 +133719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126238 .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ },133719 .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ },
126239 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },133720 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126240 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133721 .{ ._, .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), ._ },
126242 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133723 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126243 } },133724 } },
126244 }, .{133725 }, .{
...@@ -126271,7 +133752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126271,7 +133752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126271 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133752 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126272 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },133753 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
126273 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },133754 .{ ._, .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), ._ },
126275 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },133756 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },
126276 } },133757 } },
126277 }, .{133758 }, .{
...@@ -126302,7 +133783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126302,7 +133783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126302 .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },133783 .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126303 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133784 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126304 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133785 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126305 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },133786 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126306 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },133787 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ },
126307 } },133788 } },
126308 }, .{133789 }, .{
...@@ -126333,7 +133814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126333,7 +133814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126333 .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },133814 .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126334 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133815 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126335 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133816 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126336 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },133817 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
126337 .{ ._, .p_q, .add, .dst0x, .tmp1x, ._, ._ },133818 .{ ._, .p_q, .add, .dst0x, .tmp1x, ._, ._ },
126338 } },133819 } },
126339 }, .{133820 }, .{
...@@ -126372,7 +133853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126372,7 +133853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126372 .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ },133853 .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ },
126373 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },133854 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126374 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133855 .{ ._, .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), ._ },
126376 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133857 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126377 } },133858 } },
126378 }, .{133859 }, .{
...@@ -126407,7 +133888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126407,7 +133888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126407 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133888 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126408 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },133889 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
126409 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133890 .{ ._, .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), ._ },
126411 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133892 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126412 } },133893 } },
126413 }, .{133894 }, .{
...@@ -126442,7 +133923,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126442,7 +133923,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126442 .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },133923 .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
126443 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133924 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126444 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133925 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126445 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },133926 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126446 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },133927 .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ },
126447 } },133928 } },
126448 }, .{133929 }, .{
...@@ -126475,7 +133956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126475,7 +133956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126475 .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },133956 .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
126476 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },133957 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
126477 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },133958 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
126478 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },133959 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
126479 .{ ._, .p_q, .add, .dst0x, .tmp2x, ._, ._ },133960 .{ ._, .p_q, .add, .dst0x, .tmp2x, ._, ._ },
126480 } },133961 } },
126481 }, .{133962 }, .{
...@@ -126583,7 +134064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126583,7 +134064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126583 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },134064 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126584 .each = .{ .once = &.{134065 .each = .{ .once = &.{
126585 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },134066 .{ ._, .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) },
126587 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },134068 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
126588 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },134069 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126589 } },134070 } },
...@@ -126612,7 +134093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126612,7 +134093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126612 .each = .{ .once = &.{134093 .each = .{ .once = &.{
126613 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },134094 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
126614 .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ },134095 .{ ._, .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) },
126616 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },134097 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
126617 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },134098 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126618 } },134099 } },
...@@ -126640,9 +134121,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126640,9 +134121,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126640 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },134121 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126641 .each = .{ .once = &.{134122 .each = .{ .once = &.{
126642 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },134123 .{ ._, .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) },
126644 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },134125 .{ ._, .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) },
126646 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },134127 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
126647 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },134128 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126648 } },134129 } },
...@@ -126707,7 +134188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126707,7 +134188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126707 .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) },134188 .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) },
126708 .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) },134189 .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) },
126709 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },134190 .{ ._, .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) },
126711 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },134192 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
126712 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },134193 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
126713 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },134194 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
...@@ -126847,7 +134328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126847,7 +134328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126847 },134328 },
126848 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },134329 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
126849 .each = .{ .once = &.{134330 .each = .{ .once = &.{
126850 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },134331 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
126851 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },134332 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },
126852 } },134333 } },
126853 }, .{134334 }, .{
...@@ -126884,7 +134365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126884,7 +134365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126884 .dst_temps = .{ .{ .ref = .src0 }, .unused },134365 .dst_temps = .{ .{ .ref = .src0 }, .unused },
126885 .each = .{ .once = &.{134366 .each = .{ .once = &.{
126886 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },134367 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
126887 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },134368 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
126888 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },134369 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
126889 } },134370 } },
126890 }, .{134371 }, .{
...@@ -126937,7 +134418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126937,7 +134418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126937 .each = .{ .once = &.{134418 .each = .{ .once = &.{
126938 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },134419 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
126939 .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ },134420 .{ ._, .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) },
126941 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },134422 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
126942 } },134423 } },
126943 }, .{134424 }, .{
...@@ -126992,7 +134473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -126992,7 +134473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
126992 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },134473 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
126993 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },134474 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
126994 .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ },134475 .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ },
126995 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },134476 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
126996 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },134477 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
126997 } },134478 } },
126998 }, .{134479 }, .{
...@@ -127467,7 +134948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127467,7 +134948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127467 .each = .{ .once = &.{134948 .each = .{ .once = &.{
127468 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },134949 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
127469 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },134950 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
127470 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },134951 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127471 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },134952 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127472 } },134953 } },
127473 }, .{134954 }, .{
...@@ -127495,8 +134976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127495,8 +134976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127495 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },134976 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127496 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },134977 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
127497 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },134978 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
127498 .{ ._, ._dqa, .mov, .dst0x, .tmp0x, ._, ._ },134979 .{ ._, .p_w, .shufl, .dst0x, .tmp0x, .ui(0b01), ._ },
127499 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },
127500 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },134980 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127501 } },134981 } },
127502 }, .{134982 }, .{
...@@ -127521,7 +135001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127521,7 +135001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127521 },135001 },
127522 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },135002 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
127523 .each = .{ .once = &.{135003 .each = .{ .once = &.{
127524 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },135004 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
127525 .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },135005 .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },
127526 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },135006 .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ },
127527 .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },135007 .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },
...@@ -127548,8 +135028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127548,8 +135028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127548 },135028 },
127549 .dst_temps = .{ .{ .ref = .src0 }, .unused },135029 .dst_temps = .{ .{ .ref = .src0 }, .unused },
127550 .each = .{ .once = &.{135030 .each = .{ .once = &.{
127551 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },135031 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
127552 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
127553 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },135032 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
127554 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },135033 .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ },
127555 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },135034 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
...@@ -127578,9 +135057,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127578,9 +135057,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127578 .each = .{ .once = &.{135057 .each = .{ .once = &.{
127579 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },135058 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
127580 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },135059 .{ ._, .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), ._ },
127582 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135061 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127583 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },135062 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127584 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135063 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127585 } },135064 } },
127586 }, .{135065 }, .{
...@@ -127608,10 +135087,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127608,10 +135087,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127608 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },135087 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127609 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },135088 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
127610 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },135089 .{ ._, .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), ._ },
127612 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },135091 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127613 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },135092 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127614 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
127615 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },135093 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127616 } },135094 } },
127617 }, .{135095 }, .{
...@@ -127643,9 +135121,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127643,9 +135121,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127643 .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },135121 .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },
127644 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },135122 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
127645 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135123 .{ ._, .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), ._ },
127647 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135125 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127648 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135126 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127649 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135127 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127650 } },135128 } },
127651 }, .{135129 }, .{
...@@ -127679,10 +135157,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127679,10 +135157,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127679 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },135157 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127680 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },135158 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
127681 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135159 .{ ._, .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), ._ },
127683 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135161 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127684 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },135162 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127685 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
127686 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135163 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127687 } },135164 } },
127688 }, .{135165 }, .{
...@@ -127709,11 +135186,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127709,11 +135186,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127709 .each = .{ .once = &.{135186 .each = .{ .once = &.{
127710 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },135187 .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ },
127711 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },135188 .{ ._, .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), ._ },
127713 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135190 .{ ._, .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), ._ },
127715 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135192 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127716 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },135193 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127717 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135194 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127718 } },135195 } },
127719 }, .{135196 }, .{
...@@ -127741,12 +135218,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127741,12 +135218,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127741 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },135218 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
127742 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },135219 .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ },
127743 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },135220 .{ ._, .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), ._ },
127745 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },135222 .{ ._, .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), ._ },
127747 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },135224 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127748 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },135225 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127749 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
127750 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },135226 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
127751 } },135227 } },
127752 }, .{135228 }, .{
...@@ -127777,11 +135253,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127777,11 +135253,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127777 .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },135253 .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ },
127778 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },135254 .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ },
127779 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135255 .{ ._, .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), ._ },
127781 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135257 .{ ._, .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), ._ },
127783 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135259 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127784 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135260 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127785 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135261 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127786 } },135262 } },
127787 }, .{135263 }, .{
...@@ -127815,12 +135291,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127815,12 +135291,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127815 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },135291 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
127816 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },135292 .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ },
127817 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135293 .{ ._, .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), ._ },
127819 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135295 .{ ._, .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), ._ },
127821 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135297 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127822 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },135298 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127823 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
127824 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135299 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
127825 } },135300 } },
127826 }, .{135301 }, .{
...@@ -127849,11 +135324,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127849,11 +135324,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127849 .{ ._, .vp_w, .mull, .dst0y, .src0y, .tmp0y, ._ },135324 .{ ._, .vp_w, .mull, .dst0y, .src0y, .tmp0y, ._ },
127850 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },135325 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
127851 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135326 .{ ._, .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), ._ },
127853 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135328 .{ ._, .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), ._ },
127855 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135330 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127856 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },135331 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127857 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135332 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127858 } },135333 } },
127859 }, .{135334 }, .{
...@@ -127884,11 +135359,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127884,11 +135359,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127884 .{ ._, .vp_w, .srl, .tmp1x, .tmp0x, .ui(8), ._ },135359 .{ ._, .vp_w, .srl, .tmp1x, .tmp0x, .ui(8), ._ },
127885 .{ ._, .vp_w, .mull, .tmp0x, .tmp0x, .tmp1x, ._ },135360 .{ ._, .vp_w, .mull, .tmp0x, .tmp0x, .tmp1x, ._ },
127886 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135361 .{ ._, .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), ._ },
127888 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135363 .{ ._, .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), ._ },
127890 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135365 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127891 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },135366 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
127892 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135367 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
127893 } },135368 } },
127894 }, .{135369 }, .{
...@@ -127922,11 +135397,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127922,11 +135397,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127922 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },135397 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
127923 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },135398 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
127924 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135399 .{ ._, .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), ._ },
127926 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135401 .{ ._, .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), ._ },
127928 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135403 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127929 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135404 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127930 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135405 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127931 } },135406 } },
127932 }, .{135407 }, .{
...@@ -127964,11 +135439,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -127964,11 +135439,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
127964 .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ },135439 .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ },
127965 .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ },135440 .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ },
127966 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135441 .{ ._, .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), ._ },
127968 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135443 .{ ._, .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), ._ },
127970 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135445 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127971 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135446 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
127972 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135447 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
127973 } },135448 } },
127974 }, .{135449 }, .{
...@@ -128002,11 +135477,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128002,11 +135477,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128002 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp0y, ._ },135477 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp0y, ._ },
128003 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },135478 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
128004 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135479 .{ ._, .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), ._ },
128006 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135481 .{ ._, .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), ._ },
128008 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135483 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128009 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },135484 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128010 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },135485 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128011 } },135486 } },
128012 }, .{135487 }, .{
...@@ -128045,11 +135520,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128045,11 +135520,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128045 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },135520 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
128046 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },135521 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128047 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135522 .{ ._, .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), ._ },
128049 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135524 .{ ._, .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), ._ },
128051 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135526 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128052 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135527 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128053 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135528 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128054 } },135529 } },
128055 }, .{135530 }, .{
...@@ -128085,11 +135560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128085,11 +135560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128085 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135560 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128086 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },135561 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
128087 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135562 .{ ._, .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), ._ },
128089 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135564 .{ ._, .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), ._ },
128091 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135566 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128092 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },135567 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128093 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135568 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128094 } },135569 } },
128095 }, .{135570 }, .{
...@@ -128123,11 +135598,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128123,11 +135598,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128123 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135598 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128124 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },135599 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128125 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135600 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128126 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },135601 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128127 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135602 .{ ._, .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), ._ },
128129 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135604 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128130 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },135605 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128131 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },135606 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
128132 } },135607 } },
128133 }, .{135608 }, .{
...@@ -128162,12 +135637,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128162,12 +135637,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128162 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135637 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128163 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },135638 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128164 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135639 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128165 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },135640 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128166 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135641 .{ ._, .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), ._ },
128168 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135643 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128169 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },135644 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128170 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
128171 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135645 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128172 } },135646 } },
128173 }, .{135647 }, .{
...@@ -128203,12 +135677,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128203,12 +135677,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128203 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135677 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128204 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },135678 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128205 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135679 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128206 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },135680 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
128207 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135681 .{ ._, .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), ._ },
128209 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135683 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128210 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },135684 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
128211 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
128212 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },135685 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
128213 } },135686 } },
128214 }, .{135687 }, .{
...@@ -128255,11 +135728,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128255,11 +135728,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128255 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },135728 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
128256 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },135729 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128257 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135730 .{ ._, .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), ._ },
128259 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135732 .{ ._, .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), ._ },
128261 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135734 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128262 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135735 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128263 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135736 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128264 } },135737 } },
128265 }, .{135738 }, .{
...@@ -128298,11 +135771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128298,11 +135771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128298 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135771 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128299 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },135772 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128300 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135773 .{ ._, .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), ._ },
128302 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135775 .{ ._, .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), ._ },
128304 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135777 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128305 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135778 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128306 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135779 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128307 } },135780 } },
128308 }, .{135781 }, .{
...@@ -128345,11 +135818,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128345,11 +135818,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128345 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135818 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128346 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },135819 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128347 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135820 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128348 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },135821 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128349 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135822 .{ ._, .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), ._ },
128351 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135824 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128352 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },135825 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128353 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },135826 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128354 } },135827 } },
128355 }, .{135828 }, .{
...@@ -128388,12 +135861,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128388,12 +135861,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128388 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135861 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128389 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },135862 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128390 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135863 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128391 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },135864 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128392 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135865 .{ ._, .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), ._ },
128394 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135867 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128395 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },135868 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128396 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
128397 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135869 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128398 } },135870 } },
128399 }, .{135871 }, .{
...@@ -128433,12 +135905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128433,12 +135905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128433 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135905 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128434 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },135906 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
128435 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },135907 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
128436 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },135908 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
128437 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135909 .{ ._, .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), ._ },
128439 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135911 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128440 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },135912 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128441 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
128442 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },135913 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128443 } },135914 } },
128444 }, .{135915 }, .{
...@@ -128520,7 +135991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128520,7 +135991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128520 },135991 },
128521 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },135992 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128522 .each = .{ .once = &.{135993 .each = .{ .once = &.{
128523 .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ },135994 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
128524 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },135995 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128525 } },135996 } },
128526 }, .{135997 }, .{
...@@ -128545,8 +136016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128545,8 +136016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128545 },136016 },
128546 .dst_temps = .{ .{ .ref = .src0 }, .unused },136017 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128547 .each = .{ .once = &.{136018 .each = .{ .once = &.{
128548 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },136019 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ },
128549 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
128550 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136020 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128551 } },136021 } },
128552 }, .{136022 }, .{
...@@ -128571,9 +136041,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128571,9 +136041,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128571 },136041 },
128572 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },136042 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128573 .each = .{ .once = &.{136043 .each = .{ .once = &.{
128574 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },136044 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128575 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },136045 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },
128576 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },136046 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128577 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136047 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128578 } },136048 } },
128579 }, .{136049 }, .{
...@@ -128598,10 +136068,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128598,10 +136068,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128598 },136068 },
128599 .dst_temps = .{ .{ .ref = .src0 }, .unused },136069 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128600 .each = .{ .once = &.{136070 .each = .{ .once = &.{
128601 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },136071 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128602 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136072 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128603 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },136073 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128604 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
128605 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136074 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128606 } },136075 } },
128607 }, .{136076 }, .{
...@@ -128626,9 +136095,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128626,9 +136095,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128626 },136095 },
128627 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },136096 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128628 .each = .{ .once = &.{136097 .each = .{ .once = &.{
128629 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },136098 .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128630 .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },136099 .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ },
128631 .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ },136100 .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
128632 .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },136101 .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ },
128633 } },136102 } },
128634 }, .{136103 }, .{
...@@ -128653,9 +136122,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128653,9 +136122,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128653 },136122 },
128654 .dst_temps = .{ .{ .ref = .src0 }, .unused },136123 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128655 .each = .{ .once = &.{136124 .each = .{ .once = &.{
128656 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },136125 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
128657 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },136126 .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ },
128658 .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ },136127 .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ },
128659 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136128 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128660 } },136129 } },
128661 }, .{136130 }, .{
...@@ -128680,11 +136149,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128680,11 +136149,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128680 },136149 },
128681 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },136150 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
128682 .each = .{ .once = &.{136151 .each = .{ .once = &.{
128683 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },136152 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
128684 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },136153 .{ ._, .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), ._ },
128686 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136155 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128687 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },136156 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128688 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136157 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128689 } },136158 } },
128690 }, .{136159 }, .{
...@@ -128709,12 +136178,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128709,12 +136178,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128709 },136178 },
128710 .dst_temps = .{ .{ .ref = .src0 }, .unused },136179 .dst_temps = .{ .{ .ref = .src0 }, .unused },
128711 .each = .{ .once = &.{136180 .each = .{ .once = &.{
128712 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },136181 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
128713 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136182 .{ ._, .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), ._ },
128715 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136184 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128716 .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ },136185 .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128717 .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ },
128718 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },136186 .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ },
128719 } },136187 } },
128720 }, .{136188 }, .{
...@@ -128744,11 +136212,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128744,11 +136212,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128744 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },136212 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
128745 .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ },136213 .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ },
128746 .{ ._, .vp_w, .sub, .dst0x, .dst0x, .tmp2x, ._ },136214 .{ ._, .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), ._ },
128748 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136216 .{ ._, .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), ._ },
128750 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136218 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128751 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136219 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128752 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136220 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128753 } },136221 } },
128754 }, .{136222 }, .{
...@@ -128779,12 +136247,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128779,12 +136247,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128779 .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },136247 .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ },
128780 .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ },136248 .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ },
128781 .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ },136249 .{ ._, .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), ._ },
128783 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },136251 .{ ._, .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), ._ },
128785 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },136253 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128786 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },136254 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128787 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
128788 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },136255 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
128789 } },136256 } },
128790 }, .{136257 }, .{
...@@ -128811,11 +136278,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128811,11 +136278,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128811 .each = .{ .once = &.{136278 .each = .{ .once = &.{
128812 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },136279 .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ },
128813 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },136280 .{ ._, .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), ._ },
128815 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136282 .{ ._, .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), ._ },
128817 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136284 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128818 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },136285 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128819 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136286 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128820 } },136287 } },
128821 }, .{136288 }, .{
...@@ -128842,11 +136309,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128842,11 +136309,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128842 .each = .{ .once = &.{136309 .each = .{ .once = &.{
128843 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },136310 .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ },
128844 .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ },136311 .{ ._, .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), ._ },
128846 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136313 .{ ._, .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), ._ },
128848 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136315 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128849 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },136316 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128850 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136317 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128851 } },136318 } },
128852 }, .{136319 }, .{
...@@ -128877,11 +136344,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128877,11 +136344,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128877 .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ },136344 .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ },
128878 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },136345 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128879 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136346 .{ ._, .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), ._ },
128881 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136348 .{ ._, .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), ._ },
128883 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136350 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128884 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136351 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128885 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136352 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128886 } },136353 } },
128887 }, .{136354 }, .{
...@@ -128914,11 +136381,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128914,11 +136381,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128914 .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },136381 .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ },
128915 .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },136382 .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ },
128916 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136383 .{ ._, .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), ._ },
128918 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136385 .{ ._, .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), ._ },
128920 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136387 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128921 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136388 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128922 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136389 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128923 } },136390 } },
128924 }, .{136391 }, .{
...@@ -128947,11 +136414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128947,11 +136414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128947 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ },136414 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ },
128948 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },136415 .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
128949 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136416 .{ ._, .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), ._ },
128951 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136418 .{ ._, .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), ._ },
128953 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136420 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128954 .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ },136421 .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ },
128955 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },136422 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ },
128956 } },136423 } },
128957 }, .{136424 }, .{
...@@ -128986,11 +136453,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -128986,11 +136453,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
128986 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },136453 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
128987 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },136454 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
128988 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136455 .{ ._, .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), ._ },
128990 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136457 .{ ._, .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), ._ },
128992 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136459 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128993 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136460 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
128994 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136461 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
128995 } },136462 } },
128996 }, .{136463 }, .{
...@@ -129023,11 +136490,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129023,11 +136490,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129023 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },136490 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129024 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },136491 .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
129025 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136492 .{ ._, .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), ._ },
129027 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136494 .{ ._, .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), ._ },
129029 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136496 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129030 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },136497 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
129031 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136498 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129032 } },136499 } },
129033 }, .{136500 }, .{
...@@ -129058,11 +136525,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129058,11 +136525,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129058 .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },136525 .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
129059 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },136526 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129060 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },136527 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129061 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },136528 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129062 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136529 .{ ._, .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), ._ },
129064 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136531 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129065 .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ },136532 .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
129066 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },136533 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129067 } },136534 } },
129068 }, .{136535 }, .{
...@@ -129093,12 +136560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129093,12 +136560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129093 .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },136560 .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
129094 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },136561 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129095 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },136562 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129096 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },136563 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129097 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },136564 .{ ._, .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), ._ },
129099 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },136566 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
129100 .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ },136567 .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ },
129101 .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ },
129102 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },136568 .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ },
129103 } },136569 } },
129104 }, .{136570 }, .{
...@@ -129139,11 +136605,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129139,11 +136605,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129139 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },136605 .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ },
129140 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },136606 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
129141 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136607 .{ ._, .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), ._ },
129143 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136609 .{ ._, .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), ._ },
129145 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136611 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129146 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136612 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129147 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136613 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129148 } },136614 } },
129149 }, .{136615 }, .{
...@@ -129179,11 +136645,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129179,11 +136645,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129179 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },136645 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129180 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },136646 .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
129181 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136647 .{ ._, .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), ._ },
129183 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136649 .{ ._, .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), ._ },
129185 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136651 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129186 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136652 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129187 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136653 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129188 } },136654 } },
129189 }, .{136655 }, .{
...@@ -129221,11 +136687,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129221,11 +136687,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129221 .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },136687 .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ },
129222 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },136688 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129223 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },136689 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129224 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },136690 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129225 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136691 .{ ._, .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), ._ },
129227 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136693 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129228 .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ },136694 .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129229 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },136695 .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129230 } },136696 } },
129231 }, .{136697 }, .{
...@@ -129260,12 +136726,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129260,12 +136726,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129260 .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },136726 .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ },
129261 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },136727 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129262 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },136728 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129263 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },136729 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129264 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },136730 .{ ._, .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), ._ },
129266 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },136732 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
129267 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },136733 .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ },
129268 .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ },
129269 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },136734 .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ },
129270 } },136735 } },
129271 }, .{136736 }, .{
...@@ -129318,7 +136783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129318,7 +136783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129318 },136783 },
129319 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },136784 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129320 .each = .{ .once = &.{136785 .each = .{ .once = &.{
129321 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },136786 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01), ._ },
129322 .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },136787 .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },
129323 } },136788 } },
129324 }, .{136789 }, .{
...@@ -129343,7 +136808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129343,7 +136808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129343 },136808 },
129344 .dst_temps = .{ .{ .ref = .src0 }, .unused },136809 .dst_temps = .{ .{ .ref = .src0 }, .unused },
129345 .each = .{ .once = &.{136810 .each = .{ .once = &.{
129346 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ },136811 .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ },
129347 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },136812 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129348 } },136813 } },
129349 }, .{136814 }, .{
...@@ -129370,7 +136835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129370,7 +136835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129370 .each = .{ .once = &.{136835 .each = .{ .once = &.{
129371 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },136836 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },
129372 .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ },136837 .{ ._, .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), ._ },
129374 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },136839 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129375 } },136840 } },
129376 }, .{136841 }, .{
...@@ -129397,7 +136862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129397,7 +136862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129397 .each = .{ .once = &.{136862 .each = .{ .once = &.{
129398 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },136863 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ },
129399 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },136864 .{ ._, .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), ._ },
129401 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },136866 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129402 } },136867 } },
129403 }, .{136868 }, .{
...@@ -129422,9 +136887,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129422,9 +136887,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129422 },136887 },
129423 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },136888 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129424 .each = .{ .once = &.{136889 .each = .{ .once = &.{
129425 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },136890 .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
129426 .{ ._, .vp_udq, .mul, .tmp0x, .src0x, .tmp0x, ._ },136891 .{ ._, .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), ._ },
129428 .{ ._, .vp_udq, .mul, .dst0x, .tmp0x, .dst0x, ._ },136893 .{ ._, .vp_udq, .mul, .dst0x, .tmp0x, .dst0x, ._ },
129429 } },136894 } },
129430 }, .{136895 }, .{
...@@ -129449,9 +136914,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129449,9 +136914,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129449 },136914 },
129450 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },136915 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
129451 .each = .{ .once = &.{136916 .each = .{ .once = &.{
129452 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ },136917 .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ },
129453 .{ ._, .p_udq, .mul, .tmp0x, .src0x, ._, ._ },136918 .{ ._, .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), ._ },
129455 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },136920 .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ },
129456 } },136921 } },
129457 }, .{136922 }, .{
...@@ -129480,7 +136945,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129480,7 +136945,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129480 .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },136945 .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },
129481 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },136946 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
129482 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },136947 .{ ._, .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), ._ },
129484 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },136949 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129485 } },136950 } },
129486 }, .{136951 }, .{
...@@ -129509,7 +136974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129509,7 +136974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129509 .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },136974 .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ },
129510 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },136975 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
129511 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },136976 .{ ._, .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), ._ },
129513 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },136978 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129514 } },136979 } },
129515 }, .{136980 }, .{
...@@ -129543,7 +137008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129543,7 +137008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129543 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },137008 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129544 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137009 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129545 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137010 .{ ._, .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), ._ },
129547 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137012 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129548 } },137013 } },
129549 }, .{137014 }, .{
...@@ -129579,7 +137044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129579,7 +137044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129579 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },137044 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129580 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137045 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129581 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137046 .{ ._, .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), ._ },
129583 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137048 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129584 } },137049 } },
129585 }, .{137050 }, .{
...@@ -129610,7 +137075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129610,7 +137075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129610 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp0x, ._ },137075 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp0x, ._ },
129611 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },137076 .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ },
129612 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },137077 .{ ._, .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), ._ },
129614 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },137079 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ },
129615 } },137080 } },
129616 }, .{137081 }, .{
...@@ -129647,7 +137112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129647,7 +137112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129647 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },137112 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129648 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137113 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129649 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137114 .{ ._, .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), ._ },
129651 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137116 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129652 } },137117 } },
129653 }, .{137118 }, .{
...@@ -129682,7 +137147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129682,7 +137147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129682 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp1x, ._ },137147 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp1x, ._ },
129683 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },137148 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
129684 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },137149 .{ ._, .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), ._ },
129686 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },137151 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
129687 } },137152 } },
129688 }, .{137153 }, .{
...@@ -129715,7 +137180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129715,7 +137180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129715 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },137180 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129716 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },137181 .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
129717 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },137182 .{ ._, .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), ._ },
129719 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },137184 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ },
129720 } },137185 } },
129721 }, .{137186 }, .{
...@@ -129748,7 +137213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129748,7 +137213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129748 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },137213 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129749 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },137214 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ },
129750 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },137215 .{ ._, .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), ._ },
129752 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },137217 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129753 } },137218 } },
129754 }, .{137219 }, .{
...@@ -129784,7 +137249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129784,7 +137249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129784 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },137249 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129785 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },137250 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129786 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },137251 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129787 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ },137252 .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ },
129788 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },137253 .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ },
129789 } },137254 } },
129790 }, .{137255 }, .{
...@@ -129827,7 +137292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129827,7 +137292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129827 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },137292 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129828 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137293 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129829 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137294 .{ ._, .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), ._ },
129831 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137296 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129832 } },137297 } },
129833 }, .{137298 }, .{
...@@ -129865,7 +137330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129865,7 +137330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129865 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },137330 .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ },
129866 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137331 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129867 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137332 .{ ._, .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), ._ },
129869 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137334 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129870 } },137335 } },
129871 }, .{137336 }, .{
...@@ -129905,7 +137370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129905,7 +137370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129905 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },137370 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129906 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137371 .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129907 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137372 .{ ._, .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), ._ },
129909 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },137374 .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ },
129910 } },137375 } },
129911 }, .{137376 }, .{
...@@ -129942,7 +137407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129942,7 +137407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129942 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },137407 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129943 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },137408 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ },
129944 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },137409 .{ ._, .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), ._ },
129946 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },137411 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129947 } },137412 } },
129948 }, .{137413 }, .{
...@@ -129982,7 +137447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -129982,7 +137447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
129982 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },137447 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129983 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },137448 .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ },
129984 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },137449 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
129985 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ },137450 .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ },
129986 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },137451 .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ },
129987 } },137452 } },
129988 }, .{137453 }, .{
...@@ -130320,7 +137785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130320,7 +137785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130320 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },137785 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130321 .each = .{ .once = &.{137786 .each = .{ .once = &.{
130322 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },137787 .{ ._, .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) },
130324 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },137789 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
130325 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },137790 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
130326 } },137791 } },
...@@ -130348,9 +137813,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130348,9 +137813,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130348 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },137813 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130349 .each = .{ .once = &.{137814 .each = .{ .once = &.{
130350 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },137815 .{ ._, .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) },
130352 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },137817 .{ ._, .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) },
130354 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },137819 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
130355 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },137820 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
130356 } },137821 } },
...@@ -130382,7 +137847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130382,7 +137847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130382 .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) },137847 .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) },
130383 .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) },137848 .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) },
130384 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },137849 .{ ._, .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) },
130386 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },137851 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
130387 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },137852 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
130388 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },137853 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
...@@ -130511,7 +137976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130511,7 +137976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130511 },137976 },
130512 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },137977 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
130513 .each = .{ .once = &.{137978 .each = .{ .once = &.{
130514 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },137979 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
130515 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },137980 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },
130516 } },137981 } },
130517 }, .{137982 }, .{
...@@ -130537,7 +138002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130537,7 +138002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130537 .dst_temps = .{ .{ .ref = .src0 }, .unused },138002 .dst_temps = .{ .{ .ref = .src0 }, .unused },
130538 .each = .{ .once = &.{138003 .each = .{ .once = &.{
130539 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },138004 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
130540 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },138005 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
130541 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },138006 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
130542 } },138007 } },
130543 }, .{138008 }, .{
...@@ -130564,7 +138029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130564,7 +138029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130564 .each = .{ .once = &.{138029 .each = .{ .once = &.{
130565 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },138030 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
130566 .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ },138031 .{ ._, .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) },
130568 .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ },138033 .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ },
130569 } },138034 } },
130570 }, .{138035 }, .{
...@@ -130592,7 +138057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130592,7 +138057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130592 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },138057 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
130593 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },138058 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
130594 .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ },138059 .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ },
130595 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },138060 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
130596 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },138061 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
130597 } },138062 } },
130598 }, .{138063 }, .{
...@@ -130948,8 +138413,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130948,8 +138413,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130948 } },138413 } },
130949 } },138414 } },
130950 }) catch |err| switch (err) {138415 }) 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} {} {}", .{
130952 @tagName(air_tag),138417 @tagName(air_tag),
138418 @tagName(reduce.operation),
130953 cg.typeOf(reduce.operand).fmt(pt),138419 cg.typeOf(reduce.operand).fmt(pt),
130954 ops[0].tracking(cg),138420 ops[0].tracking(cg),
130955 }),138421 }),
...@@ -130958,8 +138424,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -130958,8 +138424,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
130958 switch (reduce.operation) {138424 switch (reduce.operation) {
130959 .And, .Or, .Xor, .Min, .Max => {},138425 .And, .Or, .Xor, .Min, .Max => {},
130960 .Add, .Mul => if (cg.intInfo(res_ty)) |_| res[0].wrapInt(cg) catch |err| switch (err) {138426 .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 {} {}", .{
130962 @tagName(air_tag),138428 @tagName(air_tag),
138429 @tagName(reduce.operation),
130963 res_ty.fmt(pt),138430 res_ty.fmt(pt),
130964 res[0].tracking(cg),138431 res[0].tracking(cg),
130965 }),138432 }),
...@@ -131018,7 +138485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131018,7 +138485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131018 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },138485 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131019 .each = .{ .once = &.{138486 .each = .{ .once = &.{
131020 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },138487 .{ ._, .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) },
131022 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },138489 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131023 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138490 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131024 } },138491 } },
...@@ -131047,7 +138514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131047,7 +138514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131047 .each = .{ .once = &.{138514 .each = .{ .once = &.{
131048 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },138515 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
131049 .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ },138516 .{ ._, .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) },
131051 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },138518 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
131052 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138519 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131053 } },138520 } },
...@@ -131075,9 +138542,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131075,9 +138542,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131075 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },138542 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131076 .each = .{ .once = &.{138543 .each = .{ .once = &.{
131077 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },138544 .{ ._, .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) },
131079 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },138546 .{ ._, .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) },
131081 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },138548 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131082 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138549 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131083 } },138550 } },
...@@ -131120,9 +138587,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131120,9 +138587,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131120 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },138587 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131121 .each = .{ .once = &.{138588 .each = .{ .once = &.{
131122 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },138589 .{ ._, .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) },
131124 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },138591 .{ ._, .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) },
131126 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },138593 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131127 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138594 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131128 } },138595 } },
...@@ -131184,9 +138651,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131184,9 +138651,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131184 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },138651 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
131185 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },138652 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131186 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },138653 .{ ._, .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) },
131188 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },138655 .{ ._, .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) },
131190 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },138657 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131191 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138658 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131192 } },138659 } },
...@@ -131246,9 +138713,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131246,9 +138713,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131246 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },138713 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
131247 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },138714 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
131248 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },138715 .{ ._, .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) },
131250 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },138717 .{ ._, .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) },
131252 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },138719 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131253 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138720 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131254 } },138721 } },
...@@ -131316,9 +138783,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131316,9 +138783,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131316 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ },138783 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ },
131317 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },138784 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131318 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },138785 .{ ._, .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) },
131320 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },138787 .{ ._, .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) },
131322 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },138789 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131323 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138790 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131324 } },138791 } },
...@@ -131382,9 +138849,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131382,9 +138849,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131382 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },138849 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },
131383 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },138850 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
131384 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },138851 .{ ._, .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) },
131386 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },138853 .{ ._, .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) },
131388 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },138855 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
131389 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138856 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131390 } },138857 } },
...@@ -131426,9 +138893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131426,9 +138893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131426 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ },138893 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ },
131427 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },138894 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131428 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },138895 .{ ._, .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) },
131430 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },138897 .{ ._, .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) },
131432 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },138899 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131433 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138900 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131434 } },138901 } },
...@@ -131467,9 +138934,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131467,9 +138934,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131467 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ },138934 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ },
131468 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },138935 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
131469 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },138936 .{ ._, .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) },
131471 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },138938 .{ ._, .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) },
131473 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },138940 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
131474 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },138941 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131475 } },138942 } },
...@@ -131539,9 +139006,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131539,9 +139006,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131539 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },139006 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
131540 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },139007 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
131541 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },139008 .{ ._, .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) },
131543 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },139010 .{ ._, .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) },
131545 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },139012 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
131546 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },139013 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131547 } },139014 } },
...@@ -131589,9 +139056,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131589,9 +139056,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131589 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },139056 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
131590 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },139057 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131591 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139058 .{ ._, .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) },
131593 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139060 .{ ._, .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) },
131595 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },139062 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131596 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },139063 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131597 } },139064 } },
...@@ -131673,9 +139140,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131673,9 +139140,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131673 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },139140 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
131674 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },139141 .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ },
131675 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139142 .{ ._, .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) },
131677 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139144 .{ ._, .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) },
131679 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },139146 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
131680 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },139147 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
131681 } },139148 } },
...@@ -131813,7 +139280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131813,7 +139280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131813 },139280 },
131814 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },139281 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
131815 .each = .{ .once = &.{139282 .each = .{ .once = &.{
131816 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },139283 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
131817 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },139284 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },
131818 } },139285 } },
131819 }, .{139286 }, .{
...@@ -131850,7 +139317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131850,7 +139317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131850 .dst_temps = .{ .{ .ref = .src0 }, .unused },139317 .dst_temps = .{ .{ .ref = .src0 }, .unused },
131851 .each = .{ .once = &.{139318 .each = .{ .once = &.{
131852 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },139319 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
131853 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },139320 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
131854 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },139321 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
131855 } },139322 } },
131856 }, .{139323 }, .{
...@@ -131903,7 +139370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131903,7 +139370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131903 .each = .{ .once = &.{139370 .each = .{ .once = &.{
131904 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },139371 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
131905 .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ },139372 .{ ._, .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) },
131907 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },139374 .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ },
131908 } },139375 } },
131909 }, .{139376 }, .{
...@@ -131958,7 +139425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131958,7 +139425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131958 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },139425 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
131959 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },139426 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
131960 .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ },139427 .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ },
131961 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },139428 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
131962 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },139429 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
131963 } },139430 } },
131964 }, .{139431 }, .{
...@@ -131997,7 +139464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -131997,7 +139464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
131997 .each = .{ .once = &.{139464 .each = .{ .once = &.{
131998 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },139465 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
131999 .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp0x, ._ },139466 .{ ._, .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) },
132001 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },139468 .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ },
132002 } },139469 } },
132003 }, .{139470 }, .{
...@@ -132038,7 +139505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132038,7 +139505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132038 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },139505 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
132039 .{ ._, ._ps, .add, .dst0x, .tmp0x, ._, ._ },139506 .{ ._, ._ps, .add, .dst0x, .tmp0x, ._, ._ },
132040 .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ },139507 .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ },
132041 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },139508 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
132042 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },139509 .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ },
132043 } },139510 } },
132044 }, .{139511 }, .{
...@@ -132098,7 +139565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132098,7 +139565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132098 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139565 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132099 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },139566 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132100 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139567 .{ ._, .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) },
132102 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },139569 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132103 } },139570 } },
132104 }, .{139571 }, .{
...@@ -132154,7 +139621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132154,7 +139621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132154 .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp1x, ._ },139621 .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp1x, ._ },
132155 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },139622 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
132156 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },139623 .{ ._, .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) },
132158 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },139625 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
132159 } },139626 } },
132160 }, .{139627 }, .{
...@@ -132189,7 +139656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132189,7 +139656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132189 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139656 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132190 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },139657 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132191 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139658 .{ ._, .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) },
132193 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },139660 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132194 } },139661 } },
132195 }, .{139662 }, .{
...@@ -132221,7 +139688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132221,7 +139688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132221 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },139688 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
132222 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },139689 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
132223 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },139690 .{ ._, .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) },
132225 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },139692 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ },
132226 } },139693 } },
132227 }, .{139694 }, .{
...@@ -132289,7 +139756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132289,7 +139756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132289 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },139756 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },
132290 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },139757 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
132291 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ },139758 .{ ._, .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) },
132293 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },139760 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ },
132294 } },139761 } },
132295 }, .{139762 }, .{
...@@ -132355,7 +139822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132355,7 +139822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132355 .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ },139822 .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ },
132356 .{ ._, ._ps, .add, .dst0x, .tmp1x, ._, ._ },139823 .{ ._, ._ps, .add, .dst0x, .tmp1x, ._, ._ },
132357 .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ },139824 .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ },
132358 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01_01_01_01), ._ },139825 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ },
132359 .{ ._, ._ss, .add, .dst0x, .tmp1x, ._, ._ },139826 .{ ._, ._ss, .add, .dst0x, .tmp1x, ._, ._ },
132360 } },139827 } },
132361 }, .{139828 }, .{
...@@ -132396,7 +139863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132396,7 +139863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132396 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139863 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },
132397 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },139864 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132398 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139865 .{ ._, .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) },
132400 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },139867 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132401 } },139868 } },
132402 }, .{139869 }, .{
...@@ -132468,7 +139935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132468,7 +139935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132468 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },139935 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
132469 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },139936 .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ },
132470 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ },139937 .{ ._, .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) },
132472 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },139939 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ },
132473 } },139940 } },
132474 }, .{139941 }, .{
...@@ -132538,7 +140005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -132538,7 +140005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
132538 .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ },140005 .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ },
132539 .{ ._, ._ps, .add, .dst0x, .tmp2x, ._, ._ },140006 .{ ._, ._ps, .add, .dst0x, .tmp2x, ._, ._ },
132540 .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ },140007 .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ },
132541 .{ ._, ._ps, .shuf, .tmp2x, .tmp2x, .ui(0b01_01_01_01), ._ },140008 .{ ._, ._ps, .shuf, .tmp2x, .tmp2x, .ui(0b01), ._ },
132542 .{ ._, ._ss, .add, .dst0x, .tmp2x, ._, ._ },140009 .{ ._, ._ss, .add, .dst0x, .tmp2x, ._, ._ },
132543 } },140010 } },
132544 }, .{140011 }, .{
...@@ -133263,7 +140730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133263,7 +140730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133263 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },140730 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133264 .each = .{ .once = &.{140731 .each = .{ .once = &.{
133265 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },140732 .{ ._, .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) },
133267 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },140734 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133268 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140735 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133269 } },140736 } },
...@@ -133291,9 +140758,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133291,9 +140758,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133291 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },140758 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133292 .each = .{ .once = &.{140759 .each = .{ .once = &.{
133293 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },140760 .{ ._, .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) },
133295 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },140762 .{ ._, .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) },
133297 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },140764 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133298 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140765 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133299 } },140766 } },
...@@ -133321,9 +140788,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133321,9 +140788,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133321 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },140788 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133322 .each = .{ .once = &.{140789 .each = .{ .once = &.{
133323 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },140790 .{ ._, .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) },
133325 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },140792 .{ ._, .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) },
133327 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },140794 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133328 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140795 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133329 } },140796 } },
...@@ -133337,7 +140804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133337,7 +140804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133337 .extra_temps = .{140804 .extra_temps = .{
133338 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },140805 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133339 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },140806 .{ .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 } } },
133341 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },140808 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133342 .unused,140809 .unused,
133343 .unused,140810 .unused,
...@@ -133356,9 +140823,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133356,9 +140823,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133356 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },140823 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
133357 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },140824 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133358 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },140825 .{ ._, .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) },
133360 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },140827 .{ ._, .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) },
133362 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },140829 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133363 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140830 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133364 } },140831 } },
...@@ -133388,9 +140855,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133388,9 +140855,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133388 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },140855 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
133389 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },140856 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
133390 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },140857 .{ ._, .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) },
133392 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },140859 .{ ._, .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) },
133394 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },140861 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133395 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140862 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133396 } },140863 } },
...@@ -133404,7 +140871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133404,7 +140871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133404 .extra_temps = .{140871 .extra_temps = .{
133405 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },140872 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133406 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },140873 .{ .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 } } },
133408 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },140875 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133409 .unused,140876 .unused,
133410 .unused,140877 .unused,
...@@ -133426,9 +140893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133426,9 +140893,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133426 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ },140893 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ },
133427 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },140894 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133428 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },140895 .{ ._, .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) },
133430 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },140897 .{ ._, .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) },
133432 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },140899 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133433 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140900 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133434 } },140901 } },
...@@ -133460,9 +140927,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133460,9 +140927,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133460 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },140927 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },
133461 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },140928 .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ },
133462 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },140929 .{ ._, .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) },
133464 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },140931 .{ ._, .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) },
133466 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },140933 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
133467 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140934 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133468 } },140935 } },
...@@ -133476,7 +140943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133476,7 +140943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133476 .extra_temps = .{140943 .extra_temps = .{
133477 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },140944 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133478 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },140945 .{ .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 } } },
133480 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },140947 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133481 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },140948 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133482 .unused,140949 .unused,
...@@ -133507,9 +140974,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133507,9 +140974,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133507 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ },140974 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ },
133508 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },140975 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133509 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },140976 .{ ._, .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) },
133511 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },140978 .{ ._, .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) },
133513 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },140980 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133514 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },140981 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133515 } },140982 } },
...@@ -133548,9 +141015,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133548,9 +141015,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133548 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp1y, ._ },141015 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp1y, ._ },
133549 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },141016 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
133550 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141017 .{ ._, .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) },
133552 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141019 .{ ._, .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) },
133554 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },141021 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133555 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },141022 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133556 } },141023 } },
...@@ -133585,9 +141052,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133585,9 +141052,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133585 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },141052 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
133586 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },141053 .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ },
133587 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141054 .{ ._, .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) },
133589 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141056 .{ ._, .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) },
133591 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },141058 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
133592 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },141059 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133593 } },141060 } },
...@@ -133601,7 +141068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133601,7 +141068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133601 .extra_temps = .{141068 .extra_temps = .{
133602 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },141069 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
133603 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141070 .{ .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 } } },
133605 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },141072 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133606 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },141073 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133607 .unused,141074 .unused,
...@@ -133638,9 +141105,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133638,9 +141105,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133638 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },141105 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
133639 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },141106 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133640 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141107 .{ ._, .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) },
133642 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141109 .{ ._, .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) },
133644 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },141111 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133645 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },141112 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133646 } },141113 } },
...@@ -133654,7 +141121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133654,7 +141121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133654 .extra_temps = .{141121 .extra_temps = .{
133655 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },141122 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
133656 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141123 .{ .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 } } },
133658 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },141125 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
133659 .unused,141126 .unused,
133660 .unused,141127 .unused,
...@@ -133683,9 +141150,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133683,9 +141150,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133683 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },141150 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
133684 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },141151 .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ },
133685 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141152 .{ ._, .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) },
133687 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141154 .{ ._, .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) },
133689 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },141156 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133690 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },141157 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
133691 } },141158 } },
...@@ -133812,7 +141279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133812,7 +141279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133812 },141279 },
133813 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },141280 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
133814 .each = .{ .once = &.{141281 .each = .{ .once = &.{
133815 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) },141282 .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) },
133816 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },141283 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },
133817 } },141284 } },
133818 }, .{141285 }, .{
...@@ -133838,7 +141305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133838,7 +141305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133838 .dst_temps = .{ .{ .ref = .src0 }, .unused },141305 .dst_temps = .{ .{ .ref = .src0 }, .unused },
133839 .each = .{ .once = &.{141306 .each = .{ .once = &.{
133840 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },141307 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
133841 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },141308 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
133842 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },141309 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
133843 } },141310 } },
133844 }, .{141311 }, .{
...@@ -133865,7 +141332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133865,7 +141332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133865 .each = .{ .once = &.{141332 .each = .{ .once = &.{
133866 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },141333 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
133867 .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ },141334 .{ ._, .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) },
133869 .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ },141336 .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ },
133870 } },141337 } },
133871 }, .{141338 }, .{
...@@ -133893,7 +141360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133893,7 +141360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133893 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },141360 .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ },
133894 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },141361 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
133895 .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ },141362 .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ },
133896 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ },141363 .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ },
133897 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },141364 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
133898 } },141365 } },
133899 }, .{141366 }, .{
...@@ -133920,7 +141387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133920,7 +141387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133920 .each = .{ .once = &.{141387 .each = .{ .once = &.{
133921 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },141388 .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ },
133922 .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp0x, ._ },141389 .{ ._, .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) },
133924 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },141391 .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ },
133925 } },141392 } },
133926 }, .{141393 }, .{
...@@ -133949,7 +141416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133949,7 +141416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133949 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },141416 .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ },
133950 .{ ._, ._ps, .mul, .dst0x, .tmp0x, ._, ._ },141417 .{ ._, ._ps, .mul, .dst0x, .tmp0x, ._, ._ },
133951 .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ },141418 .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ },
133952 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ },141419 .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ },
133953 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },141420 .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ },
133954 } },141421 } },
133955 }, .{141422 }, .{
...@@ -133962,7 +141429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133962,7 +141429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133962 .extra_temps = .{141429 .extra_temps = .{
133963 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },141430 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
133964 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141431 .{ .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 } } },
133966 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },141433 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
133967 .unused,141434 .unused,
133968 .unused,141435 .unused,
...@@ -133982,7 +141449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -133982,7 +141449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
133982 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141449 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133983 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },141450 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
133984 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141451 .{ ._, .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) },
133986 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },141453 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
133987 } },141454 } },
133988 }, .{141455 }, .{
...@@ -134011,7 +141478,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134011,7 +141478,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134011 .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp1x, ._ },141478 .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp1x, ._ },
134012 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },141479 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
134013 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141480 .{ ._, .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) },
134015 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },141482 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134016 } },141483 } },
134017 }, .{141484 }, .{
...@@ -134024,7 +141491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134024,7 +141491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134024 .extra_temps = .{141491 .extra_temps = .{
134025 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },141492 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
134026 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141493 .{ .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 } } },
134028 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },141495 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
134029 .unused,141496 .unused,
134030 .unused,141497 .unused,
...@@ -134049,7 +141516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134049,7 +141516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134049 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141516 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134050 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },141517 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
134051 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141518 .{ ._, .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) },
134053 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },141520 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134054 } },141521 } },
134055 }, .{141522 }, .{
...@@ -134081,7 +141548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134081,7 +141548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134081 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },141548 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
134082 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },141549 .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ },
134083 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },141550 .{ ._, .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) },
134085 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },141552 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ },
134086 } },141553 } },
134087 }, .{141554 }, .{
...@@ -134116,7 +141583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134116,7 +141583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134116 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141583 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134117 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },141584 .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ },
134118 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ },141585 .{ ._, .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) },
134120 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },141587 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ },
134121 } },141588 } },
134122 }, .{141589 }, .{
...@@ -134151,7 +141618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134151,7 +141618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134151 .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ },141618 .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ },
134152 .{ ._, ._ps, .mul, .dst0x, .tmp1x, ._, ._ },141619 .{ ._, ._ps, .mul, .dst0x, .tmp1x, ._, ._ },
134153 .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ },141620 .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ },
134154 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01_01_01_01), ._ },141621 .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ },
134155 .{ ._, ._ss, .mul, .dst0x, .tmp1x, ._, ._ },141622 .{ ._, ._ss, .mul, .dst0x, .tmp1x, ._, ._ },
134156 } },141623 } },
134157 }, .{141624 }, .{
...@@ -134164,7 +141631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134164,7 +141631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134164 .extra_temps = .{141631 .extra_temps = .{
134165 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },141632 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134166 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141633 .{ .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 } } },
134168 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },141635 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
134169 .unused,141636 .unused,
134170 .unused,141637 .unused,
...@@ -134195,7 +141662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134195,7 +141662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134195 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141662 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134196 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },141663 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
134197 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141664 .{ ._, .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) },
134199 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },141666 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134200 } },141667 } },
134201 }, .{141668 }, .{
...@@ -134208,7 +141675,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134208,7 +141675,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134208 .extra_temps = .{141675 .extra_temps = .{
134209 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },141676 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134210 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141677 .{ .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 } } },
134212 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },141679 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
134213 .unused,141680 .unused,
134214 .unused,141681 .unused,
...@@ -134234,7 +141701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134234,7 +141701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134234 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },141701 .{ ._, ._nb, .j, .@"0b", ._, ._, ._ },
134235 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },141702 .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ },
134236 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ },141703 .{ ._, .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) },
134238 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },141705 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ },
134239 } },141706 } },
134240 }, .{141707 }, .{
...@@ -134247,7 +141714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134247,7 +141714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134247 .extra_temps = .{141714 .extra_temps = .{
134248 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },141715 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134249 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141716 .{ .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 } } },
134251 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },141718 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
134252 .unused,141719 .unused,
134253 .unused,141720 .unused,
...@@ -134273,7 +141740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134273,7 +141740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134273 .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ },141740 .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ },
134274 .{ ._, ._ps, .mul, .dst0x, .tmp3x, ._, ._ },141741 .{ ._, ._ps, .mul, .dst0x, .tmp3x, ._, ._ },
134275 .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ },141742 .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ },
134276 .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01_01_01_01), ._ },141743 .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ },
134277 .{ ._, ._ss, .mul, .dst0x, .tmp3x, ._, ._ },141744 .{ ._, ._ss, .mul, .dst0x, .tmp3x, ._, ._ },
134278 } },141745 } },
134279 }, .{141746 }, .{
...@@ -134391,7 +141858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134391,7 +141858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134391 .extra_temps = .{141858 .extra_temps = .{
134392 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },141859 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
134393 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141860 .{ .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 } } },
134395 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },141862 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
134396 .unused,141863 .unused,
134397 .unused,141864 .unused,
...@@ -134522,7 +141989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134522,7 +141989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134522 .extra_temps = .{141989 .extra_temps = .{
134523 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },141990 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134524 .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },141991 .{ .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 } } },
134526 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },141993 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
134527 .unused,141994 .unused,
134528 .unused,141995 .unused,
...@@ -134564,7 +142031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134564,7 +142031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134564 .extra_temps = .{142031 .extra_temps = .{
134565 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },142032 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134566 .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },142033 .{ .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 } } },
134568 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },142035 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
134569 .unused,142036 .unused,
134570 .unused,142037 .unused,
...@@ -134601,7 +142068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134601,7 +142068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134601 .extra_temps = .{142068 .extra_temps = .{
134602 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },142069 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
134603 .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } },142070 .{ .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 } } },
134605 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },142072 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
134606 .unused,142073 .unused,
134607 .unused,142074 .unused,
...@@ -134783,8 +142250,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -134783,8 +142250,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
134783 } },142250 } },
134784 } },142251 } },
134785 }) catch |err| switch (err) {142252 }) 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} {} {}", .{
134787 @tagName(air_tag),142254 @tagName(air_tag),
142255 @tagName(reduce.operation),
134788 cg.typeOf(reduce.operand).fmt(pt),142256 cg.typeOf(reduce.operand).fmt(pt),
134789 ops[0].tracking(cg),142257 ops[0].tracking(cg),
134790 }),142258 }),
...@@ -154977,17 +162445,18 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -154977,17 +162445,18 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
154977 );162445 );
154978 } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)});162446 } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)});
154979 const elem_bits: u16 = @intCast(elem_abi_size * 8);162447 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() });
154982 if (!pred_fits_in_elem) if (self.hasFeature(.ssse3)) {162448 if (!pred_fits_in_elem) if (self.hasFeature(.ssse3)) {
154983 var mask_elems: [32]InternPool.Index = undefined;162449 const mask_len = elem_abi_size * vec_len;
154984 for (mask_elems[0..vec_len], 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{162450 const mask_ty = try pt.vectorType(.{
154985 .ty = mask_elem_ty.toIntern(),162451 .len = mask_len,
154986 .storage = .{ .u64 = bit / elem_bits },162452 .child = .u8_type,
154987 } });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);
154988 const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{162457 const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{
154989 .ty = mask_ty.toIntern(),162458 .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) },
154991 } })));162460 } })));
154992 const mask_mem: Memory = .{162461 const mask_mem: Memory = .{
154993 .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) },162462 .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) },
...@@ -155005,14 +162474,17 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -155005,14 +162474,17 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
155005 );162474 );
155006 } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)});162475 } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)});
155007 {162476 {
155008 var mask_elems: [32]InternPool.Index = undefined;162477 const mask_elem_ty = try pt.intType(.unsigned, elem_bits);
155009 for (mask_elems[0..vec_len], 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{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 = .{
155010 .ty = mask_elem_ty.toIntern(),162482 .ty = mask_elem_ty.toIntern(),
155011 .storage = .{ .u64 = @as(u32, 1) << @intCast(bit & (elem_bits - 1)) },162483 .storage = .{ .u64 = @as(u64, 1) << @intCast(bit) },
155012 } });162484 } });
155013 const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{162485 const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{
155014 .ty = mask_ty.toIntern(),162486 .ty = mask_ty.toIntern(),
155015 .storage = .{ .elems = mask_elems[0..vec_len] },162487 .storage = .{ .elems = mask_elems },
155016 } })));162488 } })));
155017 const mask_mem: Memory = .{162489 const mask_mem: Memory = .{
155018 .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) },162490 .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) },
...@@ -155026,7 +162498,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -155026,7 +162498,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
155026 mask_mem,162498 mask_mem,
155027 );162499 );
155028 try self.asmRegisterRegisterMemory(162500 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 },
155030 mask_alias,162508 mask_alias,
155031 mask_alias,162509 mask_alias,
155032 mask_mem,162510 mask_mem,
...@@ -155038,7 +162516,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {...@@ -155038,7 +162516,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void {
155038 mask_mem,162516 mask_mem,
155039 );162517 );
155040 try self.asmRegisterMemory(162518 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 },
155042 mask_alias,162526 mask_alias,
155043 mask_mem,162527 mask_mem,
155044 );162528 );
...@@ -156792,8 +164276,8 @@ fn genTypedValue(self: *CodeGen, val: Value) InnerError!MCValue {...@@ -156792,8 +164276,8 @@ fn genTypedValue(self: *CodeGen, val: Value) InnerError!MCValue {
156792 return self.genResult(try codegen.genTypedValue(self.bin_file, self.pt, self.src_loc, val, self.target.*));164276 return self.genResult(try codegen.genTypedValue(self.bin_file, self.pt, self.src_loc, val, self.target.*));
156793}164277}
156794164278
156795fn lowerUav(self: *CodeGen, val: Value) InnerError!MCValue {164279fn lowerUav(self: *CodeGen, val: Value, alignment: InternPool.Alignment) InnerError!MCValue {
156796 return self.genResult(try self.bin_file.lowerUav(self.pt, val.toIntern(), .none, self.src_loc));164280 return self.genResult(try self.bin_file.lowerUav(self.pt, val.toIntern(), alignment, self.src_loc));
156797}164281}
156798164282
156799const CallMCValues = struct {164283const CallMCValues = struct {
...@@ -163000,7 +170484,11 @@ fn tempFromValue(cg: *CodeGen, value: Value) InnerError!Temp {...@@ -163000,7 +170484,11 @@ fn tempFromValue(cg: *CodeGen, value: Value) InnerError!Temp {
163000}170484}
163001170485
163002fn tempMemFromValue(cg: *CodeGen, value: Value) InnerError!Temp {170486fn 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));
163004}170492}
163005170493
163006fn tempFromOperand(cg: *CodeGen, op_ref: Air.Inst.Ref, op_dies: bool) InnerError!Temp {170494fn tempFromOperand(cg: *CodeGen, op_ref: Air.Inst.Ref, op_dies: bool) InnerError!Temp {
...@@ -163273,9 +170761,14 @@ const Select = struct {...@@ -163273,9 +170761,14 @@ const Select = struct {
163273 scalar_unsigned_int_is: Memory.Size,170761 scalar_unsigned_int_is: Memory.Size,
163274 scalar: OfIsSizes,170762 scalar: OfIsSizes,
163275 scalar_int: OfIsSizes,170763 scalar_int: OfIsSizes,
163276 exact_scalar_int: OfIsSizes,
163277 scalar_signed_int: OfIsSizes,170764 scalar_signed_int: OfIsSizes,
163278 scalar_unsigned_int: OfIsSizes,170765 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,
163279 scalar_signed_or_exclusive_int: OfIsSizes,170772 scalar_signed_or_exclusive_int: OfIsSizes,
163280 scalar_exact_int: struct { of: Memory.Size, is: u16 },170773 scalar_exact_int: struct { of: Memory.Size, is: u16 },
163281 scalar_exact_signed_int: struct { of: Memory.Size, is: u16 },170774 scalar_exact_signed_int: struct { of: Memory.Size, is: u16 },
...@@ -163283,6 +170776,8 @@ const Select = struct {...@@ -163283,6 +170776,8 @@ const Select = struct {
163283 multiple_scalar: OfIsSizes,170776 multiple_scalar: OfIsSizes,
163284 multiple_scalar_int: OfIsSizes,170777 multiple_scalar_int: OfIsSizes,
163285 unaligned_multiple_scalar_int: OfIsSizes,170778 unaligned_multiple_scalar_int: OfIsSizes,
170779 unaligned_multiple_scalar_signed_int: OfIsSizes,
170780 unaligned_multiple_scalar_unsigned_int: OfIsSizes,
163286 multiple_scalar_signed_int: OfIsSizes,170781 multiple_scalar_signed_int: OfIsSizes,
163287 multiple_scalar_unsigned_int: OfIsSizes,170782 multiple_scalar_unsigned_int: OfIsSizes,
163288 multiple_scalar_signed_or_exclusive_int: OfIsSizes,170783 multiple_scalar_signed_or_exclusive_int: OfIsSizes,
...@@ -163397,14 +170892,28 @@ const Select = struct {...@@ -163397,14 +170892,28 @@ const Select = struct {
163397 false,170892 false,
163398 .scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and170893 .scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163399 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,170894 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,
163402 .scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and170895 .scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163403 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and170896 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
163404 of_is.is.bitSize(cg.target) >= int_info.bits else false,170897 of_is.is.bitSize(cg.target) >= int_info.bits else false,
163405 .scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and170898 .scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163406 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and170899 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
163407 of_is.is.bitSize(cg.target) >= int_info.bits else false,170900 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,
163408 .scalar_signed_or_exclusive_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and170917 .scalar_signed_or_exclusive_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and
163409 if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) {170918 if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) {
163410 .signed => of_is.is.bitSize(cg.target) >= int_info.bits,170919 .signed => of_is.is.bitSize(cg.target) >= int_info.bits,
...@@ -163429,6 +170938,12 @@ const Select = struct {...@@ -163429,6 +170938,12 @@ const Select = struct {
163429 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,170938 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,
163430 .unaligned_multiple_scalar_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and170939 .unaligned_multiple_scalar_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
163431 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false,170940 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,
163432 .multiple_scalar_signed_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and170947 .multiple_scalar_signed_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
163433 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and170948 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
163434 of_is.is.bitSize(cg.target) >= int_info.bits else false,170949 of_is.is.bitSize(cg.target) >= int_info.bits else false,
...@@ -163823,7 +171338,8 @@ const Select = struct {...@@ -163823,7 +171338,8 @@ const Select = struct {
163823 ptest_mask_mem: Select.Operand.Ref,171338 ptest_mask_mem: Select.Operand.Ref,
163824 pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 },171339 pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 },
163825 bits_mem: enum { forward, reverse },171340 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 },
163827 frame: FrameIndex,171343 frame: FrameIndex,
163828 lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none },171344 lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none },
163829 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },171345 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },
...@@ -164213,23 +171729,51 @@ const Select = struct {...@@ -164213,23 +171729,51 @@ const Select = struct {
164213 .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) },171729 .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) },
164214 } }))), true };171730 } }))), true };
164215 },171731 },
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 },
164216 .splat_float_mem => |splat_spec| {171763 .splat_float_mem => |splat_spec| {
164217 const zcu = pt.zcu;171764 const zcu = pt.zcu;
164218 assert(spec.type.isVector(zcu));171765 assert(spec.type.isVector(zcu));
164219 const elem_ty = spec.type.childType(zcu);171766 const elem_ty = spec.type.childType(zcu);
171767 assert(cg.floatBits(elem_ty) != null);
164220 const ref_ty = splat_spec.ref.typeOf(s);171768 const ref_ty = splat_spec.ref.typeOf(s);
164221 assert(ref_ty.isVector(zcu) and ref_ty.childType(zcu).toIntern() == elem_ty.toIntern());171769 assert(ref_ty.isVector(zcu) and ref_ty.childType(zcu).toIntern() == elem_ty.toIntern());
164222 var elem_buf: [@divExact(64, 2)]InternPool.Index = undefined;171770 var elem_buf: [@divExact(64, 2)]InternPool.Index = undefined;
164223 const elems = elem_buf[0..spec.type.vectorLen(zcu)];171771 const elems = elem_buf[0..spec.type.vectorLen(zcu)];
164224 const inside_len = (ref_ty.vectorLen(zcu) - 1) % elems.len + 1;171772 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) {171773 @memset(elems[0..inside_len], (try pt.floatValue(elem_ty, @as(f16, switch (splat_spec.inside) {
164226 .inside => splat_spec.val,171774 .zero => 0.0,
164227 .outside => 0.0,171775 }))).toIntern());
164228 })).toIntern());171776 @memset(elems[inside_len..], (try pt.floatValue(elem_ty, splat_spec.outside)).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());
164233 return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{171777 return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{
164234 .ty = spec.type.toIntern(),171778 .ty = spec.type.toIntern(),
164235 .storage = .{ .elems = elems },171779 .storage = .{ .elems = elems },
...@@ -164336,6 +171880,7 @@ const Select = struct {...@@ -164336,6 +171880,7 @@ const Select = struct {
164336 src1,171880 src1,
164337 src1_sub_bit_size,171881 src1_sub_bit_size,
164338 log2_src0_elem_size,171882 log2_src0_elem_size,
171883 elem_mask,
164339 smin,171884 smin,
164340 smax,171885 smax,
164341 umax,171886 umax,
...@@ -164387,6 +171932,7 @@ const Select = struct {...@@ -164387,6 +171932,7 @@ const Select = struct {
164387 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };171932 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };
164388 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };171933 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };
164389 const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" };171934 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" };
164390 const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" };171936 const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" };
164391 const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" };171937 const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
164392 const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" };171938 const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
...@@ -164406,7 +171952,7 @@ const Select = struct {...@@ -164406,7 +171952,7 @@ const Select = struct {
164406 const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" };171952 const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" };
164407 const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" };171953 const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" };
164408 const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" };171954 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" };
164410 const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" };171956 const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" };
164411 const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" };171957 const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" };
164412 const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" };171958 const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" };
...@@ -164896,6 +172442,9 @@ const Select = struct {...@@ -164896,6 +172442,9 @@ const Select = struct {
164896 fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand {172442 fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand {
164897 return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base }, .imm = @bitCast(imm) };172443 return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base }, .imm = @bitCast(imm) };
164898 }172444 }
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
164900 fn rm(mode: bits.RoundMode) Select.Operand {172449 fn rm(mode: bits.RoundMode) Select.Operand {
164901 return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(mode.imm().unsigned) };172450 return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(mode.imm().unsigned) };
...@@ -165188,6 +172737,11 @@ const Select = struct {...@@ -165188,6 +172737,11 @@ const Select = struct {
165188 .src1_sub_bit_size => @as(SignedImm, @intCast(Select.Operand.Ref.src1.valueOf(s).immediate)) -172737 .src1_sub_bit_size => @as(SignedImm, @intCast(Select.Operand.Ref.src1.valueOf(s).immediate)) -
165189 @as(SignedImm, @intCast(s.cg.nonBoolScalarBitSize(op.flags.base.ref.typeOf(s)))),172738 @as(SignedImm, @intCast(s.cg.nonBoolScalarBitSize(op.flags.base.ref.typeOf(s)))),
165190 .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))),172739 .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 ),
165191 inline .smin, .smax, .umax, .smin_shr_src1, .smax_shr_src1, .umax_shr_src1 => |adjust| switch (op.flags.base.size) {172745 inline .smin, .smax, .umax, .smin_shr_src1, .smax_shr_src1, .umax_shr_src1 => |adjust| switch (op.flags.base.size) {
165192 else => unreachable,172746 else => unreachable,
165193 inline .none, .byte, .word, .dword, .qword => |size| {172747 inline .none, .byte, .word, .dword, .qword => |size| {
src/arch/x86_64/Mir.zig+2-2
...@@ -1170,11 +1170,11 @@ pub const Inst = struct {...@@ -1170,11 +1170,11 @@ pub const Inst = struct {
1170 /// Extract packed floating-point values1170 /// Extract packed floating-point values
1171 /// Extract packed integer values1171 /// Extract packed integer values
1172 extract,1172 extract,
1173 /// Packed horizontal word minimum
1174 hminposu,
1175 /// Insert scalar single-precision floating-point value1173 /// Insert scalar single-precision floating-point value
1176 /// Insert packed floating-point values1174 /// Insert packed floating-point values
1177 insert,1175 insert,
1176 /// Packed horizontal word minimum
1177 minposu,
1178 /// Packed move with sign extend1178 /// Packed move with sign extend
1179 movsxb,1179 movsxb,
1180 movsxd,1180 movsxd,
src/codegen/c/Type.zig+120
...@@ -1492,6 +1492,21 @@ pub const Pool = struct {...@@ -1492,6 +1492,21 @@ pub const Pool = struct {
1492 };1492 };
1493 return pool.fromFields(allocator, .@"struct", &fields, kind);1493 return pool.fromFields(allocator, .@"struct", &fields, kind);
1494 },1494 },
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 },
1495 .vector_1_u8_type => {1510 .vector_1_u8_type => {
1496 const vector_ctype = try pool.getVector(allocator, .{1511 const vector_ctype = try pool.getVector(allocator, .{
1497 .elem_ctype = .u8,1512 .elem_ctype = .u8,
...@@ -1597,6 +1612,21 @@ pub const Pool = struct {...@@ -1597,6 +1612,21 @@ pub const Pool = struct {
1597 };1612 };
1598 return pool.fromFields(allocator, .@"struct", &fields, kind);1613 return pool.fromFields(allocator, .@"struct", &fields, kind);
1599 },1614 },
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 },
1600 .vector_4_i16_type => {1630 .vector_4_i16_type => {
1601 const vector_ctype = try pool.getVector(allocator, .{1631 const vector_ctype = try pool.getVector(allocator, .{
1602 .elem_ctype = .i16,1632 .elem_ctype = .i16,
...@@ -1642,6 +1672,21 @@ pub const Pool = struct {...@@ -1642,6 +1672,21 @@ pub const Pool = struct {
1642 };1672 };
1643 return pool.fromFields(allocator, .@"struct", &fields, kind);1673 return pool.fromFields(allocator, .@"struct", &fields, kind);
1644 },1674 },
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 },
1645 .vector_4_u16_type => {1690 .vector_4_u16_type => {
1646 const vector_ctype = try pool.getVector(allocator, .{1691 const vector_ctype = try pool.getVector(allocator, .{
1647 .elem_ctype = .u16,1692 .elem_ctype = .u16,
...@@ -1687,6 +1732,21 @@ pub const Pool = struct {...@@ -1687,6 +1732,21 @@ pub const Pool = struct {
1687 };1732 };
1688 return pool.fromFields(allocator, .@"struct", &fields, kind);1733 return pool.fromFields(allocator, .@"struct", &fields, kind);
1689 },1734 },
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 },
1690 .vector_4_i32_type => {1750 .vector_4_i32_type => {
1691 const vector_ctype = try pool.getVector(allocator, .{1751 const vector_ctype = try pool.getVector(allocator, .{
1692 .elem_ctype = .i32,1752 .elem_ctype = .i32,
...@@ -1717,6 +1777,21 @@ pub const Pool = struct {...@@ -1717,6 +1777,21 @@ pub const Pool = struct {
1717 };1777 };
1718 return pool.fromFields(allocator, .@"struct", &fields, kind);1778 return pool.fromFields(allocator, .@"struct", &fields, kind);
1719 },1779 },
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 },
1720 .vector_4_u32_type => {1795 .vector_4_u32_type => {
1721 const vector_ctype = try pool.getVector(allocator, .{1796 const vector_ctype = try pool.getVector(allocator, .{
1722 .elem_ctype = .u32,1797 .elem_ctype = .u32,
...@@ -1747,6 +1822,21 @@ pub const Pool = struct {...@@ -1747,6 +1822,21 @@ pub const Pool = struct {
1747 };1822 };
1748 return pool.fromFields(allocator, .@"struct", &fields, kind);1823 return pool.fromFields(allocator, .@"struct", &fields, kind);
1749 },1824 },
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 },
1750 .vector_2_i64_type => {1840 .vector_2_i64_type => {
1751 const vector_ctype = try pool.getVector(allocator, .{1841 const vector_ctype = try pool.getVector(allocator, .{
1752 .elem_ctype = .i64,1842 .elem_ctype = .i64,
...@@ -1777,6 +1867,21 @@ pub const Pool = struct {...@@ -1777,6 +1867,21 @@ pub const Pool = struct {
1777 };1867 };
1778 return pool.fromFields(allocator, .@"struct", &fields, kind);1868 return pool.fromFields(allocator, .@"struct", &fields, kind);
1779 },1869 },
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 },
1780 .vector_2_u64_type => {1885 .vector_2_u64_type => {
1781 const vector_ctype = try pool.getVector(allocator, .{1886 const vector_ctype = try pool.getVector(allocator, .{
1782 .elem_ctype = .u64,1887 .elem_ctype = .u64,
...@@ -1807,6 +1912,21 @@ pub const Pool = struct {...@@ -1807,6 +1912,21 @@ pub const Pool = struct {
1807 };1912 };
1808 return pool.fromFields(allocator, .@"struct", &fields, kind);1913 return pool.fromFields(allocator, .@"struct", &fields, kind);
1809 },1914 },
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 },
1810 .vector_1_u128_type => {1930 .vector_1_u128_type => {
1811 const vector_ctype = try pool.getVector(allocator, .{1931 const vector_ctype = try pool.getVector(allocator, .{
1812 .elem_ctype = .u128,1932 .elem_ctype = .u128,
test/behavior/x86_64.zig+1-1
...@@ -7,8 +7,8 @@ test {...@@ -7,8 +7,8 @@ test {
7 if (builtin.object_format == .macho) return error.SkipZigTest;7 if (builtin.object_format == .macho) return error.SkipZigTest;
8 // COFF linker does not support the new backend.8 // COFF linker does not support the new backend.
9 if (builtin.object_format == .coff) return error.SkipZigTest;9 if (builtin.object_format == .coff) return error.SkipZigTest;
10 _ = @import("x86_64/access.zig");
10 _ = @import("x86_64/binary.zig");11 _ = @import("x86_64/binary.zig");
11 _ = @import("x86_64/cast.zig");12 _ = @import("x86_64/cast.zig");
12 _ = @import("x86_64/mem.zig");
13 _ = @import("x86_64/unary.zig");13 _ = @import("x86_64/unary.zig");
14}14}
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 {...@@ -117,9 +117,9 @@ pub fn build(b: *std.Build) void {
117 const target = b.resolveTargetQuery(query);117 const target = b.resolveTargetQuery(query);
118 const cpu = query.serializeCpuAlloc(b.allocator) catch @panic("OOM");118 const cpu = query.serializeCpuAlloc(b.allocator) catch @panic("OOM");
119 for ([_][]const u8{119 for ([_][]const u8{
120 "access.zig",
120 "binary.zig",121 "binary.zig",
121 "cast.zig",122 "cast.zig",
122 "mem.zig",
123 "unary.zig",123 "unary.zig",
124 }) |path| {124 }) |path| {
125 const test_mod = b.createModule(.{125 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 {...@@ -5094,6 +5094,14 @@ test reduceXor {
5094 try test_reduce_xor.testIntVectors();5094 try test_reduce_xor.testIntVectors();
5095}5095}
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
5097inline fn reduceAdd(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {5105inline fn reduceAdd(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5098 return @reduce(.Add, rhs);5106 return @reduce(.Add, rhs);
5099}5107}
test/cases/compile_errors/@import_zon_bad_type.zig+3-3
...@@ -117,9 +117,9 @@ export fn testMutablePointer() void {...@@ -117,9 +117,9 @@ export fn testMutablePointer() void {
117// tmp.zig:37:38: note: imported here117// tmp.zig:37:38: note: imported here
118// neg_inf.zon:1:1: error: expected type '?u8'118// neg_inf.zon:1:1: error: expected type '?u8'
119// tmp.zig:57:28: note: imported here119// 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'
121// tmp.zig:62:39: note: imported here121// 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'
123// tmp.zig:67:44: note: imported here123// 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'
125// tmp.zig:72:50: note: imported here125// 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 {...@@ -15,6 +15,6 @@ pub export fn entry() void {
15// error15// error
16//16//
17// :7:25: error: unable to resolve comptime value17// :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-known18// :7:25: note: initializer of comptime-only struct 'tmp.S.foo__anon_491.C' must be comptime-known
19// :4:16: note: struct requires comptime because of this field19// :4:16: note: struct requires comptime because of this field
20// :4:16: note: types are not available at runtime20// :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 {...@@ -16,5 +16,5 @@ pub export fn entry2() void {
16//16//
17// :3:6: error: no field or member function named 'copy' in '[]const u8'17// :3:6: error: no field or member function named 'copy' in '[]const u8'
18// :9:8: error: no field or member function named 'bar' in '@TypeOf(.{})'18// :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'
20// :12:6: note: struct declared here20// :12:6: note: struct declared here
test/cases/compile_errors/coerce_anon_struct.zig+1-1
...@@ -6,6 +6,6 @@ export fn foo() void {...@@ -6,6 +6,6 @@ export fn foo() void {
66
7// error7// error
8//8//
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'
10// :3:16: note: struct declared here10// :3:16: note: struct declared here
11// :1:11: note: struct declared here11// :1:11: note: struct declared here
test/cases/compile_errors/redundant_try.zig+2-2
...@@ -44,9 +44,9 @@ comptime {...@@ -44,9 +44,9 @@ comptime {
44//44//
45// :5:23: error: expected error union type, found 'comptime_int'45// :5:23: error: expected error union type, found 'comptime_int'
46// :10:23: error: expected error union type, found '@TypeOf(.{})'46// :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'
48// :15:23: note: struct declared here48// :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'
50// :20:27: note: struct declared here50// :20:27: note: struct declared here
51// :25:23: error: expected error union type, found 'struct { comptime *const [5:0]u8 = "hello" }'51// :25:23: error: expected error union type, found 'struct { comptime *const [5:0]u8 = "hello" }'
52// :31:13: error: expected error union type, found 'u32'52// :31:13: error: expected error union type, found 'u32'