authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-02-03 01:10:34-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-02-06 16:14:53-05:00
log39119088f968c36ec72ad0ebb69e02ce31b5a033
tree58e96616a3198bb23f69989c1b9199eed6d26594
parentc58e60a042ec2a351a0d8953f602fc23763e3ecd

x86_64: rewrite vector `@truncate`


3 files changed, 6864 insertions(+), 599 deletions(-)

src/Sema.zig+21-17
......@@ -23751,23 +23751,27 @@ fn zirTruncate(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
2375123751 @tagName(dest_info.signedness), operand_ty.fmt(pt),
2375223752 });
2375323753 }
23754 if (operand_info.bits < dest_info.bits) {
23755 const msg = msg: {
23756 const msg = try sema.errMsg(
23757 src,
23758 "destination type '{}' has more bits than source type '{}'",
23759 .{ dest_ty.fmt(pt), operand_ty.fmt(pt) },
23760 );
23761 errdefer msg.destroy(sema.gpa);
23762 try sema.errNote(src, msg, "destination type has {d} bits", .{
23763 dest_info.bits,
23764 });
23765 try sema.errNote(operand_src, msg, "operand type has {d} bits", .{
23766 operand_info.bits,
23767 });
23768 break :msg msg;
23769 };
23770 return sema.failWithOwnedErrorMsg(block, msg);
23754 switch (std.math.order(dest_info.bits, operand_info.bits)) {
23755 .gt => {
23756 const msg = msg: {
23757 const msg = try sema.errMsg(
23758 src,
23759 "destination type '{}' has more bits than source type '{}'",
23760 .{ dest_ty.fmt(pt), operand_ty.fmt(pt) },
23761 );
23762 errdefer msg.destroy(sema.gpa);
23763 try sema.errNote(src, msg, "destination type has {d} bits", .{
23764 dest_info.bits,
23765 });
23766 try sema.errNote(operand_src, msg, "operand type has {d} bits", .{
23767 operand_info.bits,
23768 });
23769 break :msg msg;
23770 };
23771 return sema.failWithOwnedErrorMsg(block, msg);
23772 },
23773 .eq => return operand,
23774 .lt => {},
2377123775 }
2377223776 }
2377323777
src/arch/x86_64/CodeGen.zig+5498-582
......@@ -2414,7 +2414,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24142414}
24152415
24162416fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2417 @setEvalBranchQuota(4_600);
2417 @setEvalBranchQuota(5_500);
24182418 const pt = cg.pt;
24192419 const zcu = pt.zcu;
24202420 const ip = &zcu.intern_pool;
......@@ -21970,9 +21970,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2197021970 .dst_temps = .{.mem},
2197121971 .clobbers = .{ .eflags = true },
2197221972 .each = .{ .once = &.{
21973 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_size), ._, ._ },
21974 .{ .@"0:", .v_ps, .mova, .tmp1y, .memsia(.src0y, .@"2", .tmp0, .add_size), ._, ._ },
21975 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_size), .tmp1y, .rm(.{}), ._ },
21973 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
21974 .{ .@"0:", .v_ps, .mova, .tmp1y, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
21975 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
2197621976 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2197721977 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2197821978 } },
......@@ -22355,9 +22355,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2235522355 .dst_temps = .{.mem},
2235622356 .clobbers = .{ .eflags = true },
2235722357 .each = .{ .once = &.{
22358 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_size), ._, ._ },
22359 .{ .@"0:", .v_ps, .cvtpd2, .tmp1x, .memsia(.src0y, .@"2", .tmp0, .add_size), ._, ._ },
22360 .{ ._, .v_ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ },
22358 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
22359 .{ .@"0:", .v_ps, .cvtpd2, .tmp1x, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
22360 .{ ._, .v_ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2236122361 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2236222362 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2236322363 } },
......@@ -22382,9 +22382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2238222382 .dst_temps = .{.mem},
2238322383 .clobbers = .{ .eflags = true },
2238422384 .each = .{ .once = &.{
22385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_size), ._, ._ },
22386 .{ .@"0:", ._ps, .cvtpd2, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_size), ._, ._ },
22387 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_size), .tmp1x, ._, ._ },
22385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
22386 .{ .@"0:", ._ps, .cvtpd2, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
22387 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2238822388 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2238922389 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2239022390 } },
......@@ -23292,9 +23292,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2329223292 .dst_temps = .{.mem},
2329323293 .clobbers = .{ .eflags = true },
2329423294 .each = .{ .once = &.{
23295 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
23296 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
23297 .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
23295 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
23296 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
23297 .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2329823298 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2329923299 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2330023300 } },
......@@ -23500,13 +23500,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2350023500 .dst_temps = .{.mem},
2350123501 .clobbers = .{ .eflags = true },
2350223502 .each = .{ .once = &.{
23503 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
23504 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
23503 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
23504 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2350523505 .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ },
2350623506 .{ ._, .v_f128, .extract, .tmp1x, .tmp1y, .ui(1), ._ },
23507 .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp2y, ._, ._ },
23507 .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp2y, ._, ._ },
2350823508 .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ },
23509 .{ ._, .v_pd, .mova, .memsiad(.dst0y, .@"4", .tmp0, .add_size, 32), .tmp2y, ._, ._ },
23509 .{ ._, .v_pd, .mova, .memsiad(.dst0y, .@"4", .tmp0, .add_unaligned_size, 32), .tmp2y, ._, ._ },
2351023510 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2351123511 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2351223512 } },
......@@ -23975,9 +23975,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2397523975 .dst_temps = .{.mem},
2397623976 .clobbers = .{ .eflags = true },
2397723977 .each = .{ .once = &.{
23978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
23979 .{ .@"0:", .v_pd, .cvtps2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
23980 .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
23978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
23979 .{ .@"0:", .v_pd, .cvtps2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
23980 .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2398123981 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2398223982 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2398323983 } },
......@@ -24002,9 +24002,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2400224002 .dst_temps = .{.mem},
2400324003 .clobbers = .{ .eflags = true },
2400424004 .each = .{ .once = &.{
24005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
24006 .{ .@"0:", ._pd, .cvtps2, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
24007 .{ ._, ._pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
24005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
24006 .{ .@"0:", ._pd, .cvtps2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
24007 .{ ._, ._pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2400824008 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2400924009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2401024010 } },
......@@ -24077,6 +24077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2407724077 .unused,
2407824078 },
2407924079 .dst_temps = .{.mem},
24080 .clobbers = .{ .eflags = true },
2408024081 .each = .{ .once = &.{
2408124082 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2408224083 .{ .@"0:", .f_, .ld, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -24237,6 +24238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2423724238 .unused,
2423824239 },
2423924240 .dst_temps = .{.mem},
24241 .clobbers = .{ .eflags = true },
2424024242 .each = .{ .once = &.{
2424124243 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2424224244 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -24724,6 +24726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2472424726 .unused,
2472524727 },
2472624728 .dst_temps = .{.mem},
24729 .clobbers = .{ .eflags = true },
2472724730 .each = .{ .once = &.{
2472824731 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2472924732 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -24749,6 +24752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2474924752 .unused,
2475024753 },
2475124754 .dst_temps = .{.mem},
24755 .clobbers = .{ .eflags = true },
2475224756 .each = .{ .once = &.{
2475324757 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2475424758 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -24847,6 +24851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2484724851 .unused,
2484824852 },
2484924853 .dst_temps = .{.mem},
24854 .clobbers = .{ .eflags = true },
2485024855 .each = .{ .once = &.{
2485124856 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2485224857 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -24872,6 +24877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2487224877 .unused,
2487324878 },
2487424879 .dst_temps = .{.mem},
24880 .clobbers = .{ .eflags = true },
2487524881 .each = .{ .once = &.{
2487624882 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2487724883 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -24898,6 +24904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2489824904 .unused,
2489924905 },
2490024906 .dst_temps = .{.mem},
24907 .clobbers = .{ .eflags = true },
2490124908 .each = .{ .once = &.{
2490224909 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2490324910 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -24923,6 +24930,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2492324930 .unused,
2492424931 },
2492524932 .dst_temps = .{.mem},
24933 .clobbers = .{ .eflags = true },
2492624934 .each = .{ .once = &.{
2492724935 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2492824936 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -24949,6 +24957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2494924957 .unused,
2495024958 },
2495124959 .dst_temps = .{.mem},
24960 .clobbers = .{ .eflags = true },
2495224961 .each = .{ .once = &.{
2495324962 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2495424963 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
......@@ -24976,6 +24985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2497624985 .unused,
2497724986 },
2497824987 .dst_temps = .{.mem},
24988 .clobbers = .{ .eflags = true },
2497924989 .each = .{ .once = &.{
2498024990 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2498124991 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
......@@ -25089,6 +25099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2508925099 .unused,
2509025100 },
2509125101 .dst_temps = .{.mem},
25102 .clobbers = .{ .eflags = true },
2509225103 .each = .{ .once = &.{
2509325104 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2509425105 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -25114,6 +25125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2511425125 .unused,
2511525126 },
2511625127 .dst_temps = .{.mem},
25128 .clobbers = .{ .eflags = true },
2511725129 .each = .{ .once = &.{
2511825130 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2511925131 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -25139,6 +25151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2513925151 .unused,
2514025152 },
2514125153 .dst_temps = .{.mem},
25154 .clobbers = .{ .eflags = true },
2514225155 .each = .{ .once = &.{
2514325156 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2514425157 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -25164,6 +25177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2516425177 .unused,
2516525178 },
2516625179 .dst_temps = .{.mem},
25180 .clobbers = .{ .eflags = true },
2516725181 .each = .{ .once = &.{
2516825182 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2516925183 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
......@@ -25235,6 +25249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2523525249 .unused,
2523625250 },
2523725251 .dst_temps = .{.mem},
25252 .clobbers = .{ .eflags = true },
2523825253 .each = .{ .once = &.{
2523925254 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2524025255 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -25260,6 +25275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2526025275 .unused,
2526125276 },
2526225277 .dst_temps = .{.mem},
25278 .clobbers = .{ .eflags = true },
2526325279 .each = .{ .once = &.{
2526425280 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2526525281 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -25285,6 +25301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2528525301 .unused,
2528625302 },
2528725303 .dst_temps = .{.mem},
25304 .clobbers = .{ .eflags = true },
2528825305 .each = .{ .once = &.{
2528925306 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2529025307 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -25310,6 +25327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2531025327 .unused,
2531125328 },
2531225329 .dst_temps = .{.mem},
25330 .clobbers = .{ .eflags = true },
2531325331 .each = .{ .once = &.{
2531425332 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2531525333 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
......@@ -25358,6 +25376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2535825376 .unused,
2535925377 },
2536025378 .dst_temps = .{.mem},
25379 .clobbers = .{ .eflags = true },
2536125380 .each = .{ .once = &.{
2536225381 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
2536325382 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
......@@ -26157,7 +26176,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2615726176 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
2615826177 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }},
2615926178 .patterns = &.{
26160 .{ .src = .{ .mem, .none } },
26179 .{ .src = .{ .to_mem, .none } },
2616126180 },
2616226181 .extra_temps = .{
2616326182 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26171,10 +26190,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2617126190 .unused,
2617226191 },
2617326192 .dst_temps = .{.mem},
26193 .clobbers = .{ .eflags = true },
2617426194 .each = .{ .once = &.{
26175 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26176 .{ .@"0:", .vp_w, .movsxb, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
26177 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
26195 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26196 .{ .@"0:", .vp_w, .movsxb, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
26197 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2617826198 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2617926199 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2618026200 } },
......@@ -26183,7 +26203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2618326203 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any },
2618426204 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }},
2618526205 .patterns = &.{
26186 .{ .src = .{ .mem, .none } },
26206 .{ .src = .{ .to_mem, .none } },
2618726207 },
2618826208 .extra_temps = .{
2618926209 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26197,10 +26217,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2619726217 .unused,
2619826218 },
2619926219 .dst_temps = .{.mem},
26220 .clobbers = .{ .eflags = true },
2620026221 .each = .{ .once = &.{
26201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26202 .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
26203 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
26222 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26223 .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
26224 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2620426225 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2620526226 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2620626227 } },
......@@ -26209,7 +26230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2620926230 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
2621026231 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
2621126232 .patterns = &.{
26212 .{ .src = .{ .mem, .none } },
26233 .{ .src = .{ .to_mem, .none } },
2621326234 },
2621426235 .extra_temps = .{
2621526236 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26223,10 +26244,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2622326244 .unused,
2622426245 },
2622526246 .dst_temps = .{.mem},
26247 .clobbers = .{ .eflags = true },
2622626248 .each = .{ .once = &.{
26227 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26228 .{ .@"0:", .vp_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
26229 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
26249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26250 .{ .@"0:", .vp_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26251 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2623026252 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2623126253 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2623226254 } },
......@@ -26235,7 +26257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2623526257 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },
2623626258 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},
2623726259 .patterns = &.{
26238 .{ .src = .{ .mem, .none } },
26260 .{ .src = .{ .to_mem, .none } },
2623926261 },
2624026262 .extra_temps = .{
2624126263 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26249,10 +26271,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2624926271 .unused,
2625026272 },
2625126273 .dst_temps = .{.mem},
26274 .clobbers = .{ .eflags = true },
2625226275 .each = .{ .once = &.{
26253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26254 .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
26255 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
26276 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26277 .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26278 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2625626279 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2625726280 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2625826281 } },
......@@ -26261,7 +26284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2626126284 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
2626226285 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
2626326286 .patterns = &.{
26264 .{ .src = .{ .mem, .none } },
26287 .{ .src = .{ .to_mem, .none } },
2626526288 },
2626626289 .extra_temps = .{
2626726290 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26275,10 +26298,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2627526298 .unused,
2627626299 },
2627726300 .dst_temps = .{.mem},
26301 .clobbers = .{ .eflags = true },
2627826302 .each = .{ .once = &.{
26279 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26280 .{ .@"0:", .p_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
26281 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
26303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26304 .{ .@"0:", .p_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26305 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2628226306 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2628326307 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2628426308 } },
......@@ -26287,7 +26311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2628726311 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },
2628826312 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},
2628926313 .patterns = &.{
26290 .{ .src = .{ .mem, .none } },
26314 .{ .src = .{ .to_mem, .none } },
2629126315 },
2629226316 .extra_temps = .{
2629326317 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26301,10 +26325,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2630126325 .unused,
2630226326 },
2630326327 .dst_temps = .{.mem},
26328 .clobbers = .{ .eflags = true },
2630426329 .each = .{ .once = &.{
26305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26306 .{ .@"0:", .p_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
26307 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
26330 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26331 .{ .@"0:", .p_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26332 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2630826333 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2630926334 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2631026335 } },
......@@ -26327,6 +26352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2632726352 .unused,
2632826353 },
2632926354 .dst_temps = .{.mem},
26355 .clobbers = .{ .eflags = true },
2633026356 .each = .{ .once = &.{
2633126357 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2633226358 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26352,6 +26378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2635226378 .unused,
2635326379 },
2635426380 .dst_temps = .{.mem},
26381 .clobbers = .{ .eflags = true },
2635526382 .each = .{ .once = &.{
2635626383 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2635726384 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26378,6 +26405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2637826405 .unused,
2637926406 },
2638026407 .dst_temps = .{.mem},
26408 .clobbers = .{ .eflags = true },
2638126409 .each = .{ .once = &.{
2638226410 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2638326411 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26403,6 +26431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2640326431 .unused,
2640426432 },
2640526433 .dst_temps = .{.mem},
26434 .clobbers = .{ .eflags = true },
2640626435 .each = .{ .once = &.{
2640726436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2640826437 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26537,7 +26566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2653726566 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
2653826567 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
2653926568 .patterns = &.{
26540 .{ .src = .{ .mem, .none } },
26569 .{ .src = .{ .to_mem, .none } },
2654126570 },
2654226571 .extra_temps = .{
2654326572 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26551,10 +26580,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2655126580 .unused,
2655226581 },
2655326582 .dst_temps = .{.mem},
26583 .clobbers = .{ .eflags = true },
2655426584 .each = .{ .once = &.{
26555 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26556 .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memia(.src0q, .tmp0, .add_size), ._, ._ },
26557 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },
26585 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26586 .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26587 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2655826588 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2655926589 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2656026590 } },
......@@ -26563,7 +26593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2656326593 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },
2656426594 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},
2656526595 .patterns = &.{
26566 .{ .src = .{ .mem, .none } },
26596 .{ .src = .{ .to_mem, .none } },
2656726597 },
2656826598 .extra_temps = .{
2656926599 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26577,10 +26607,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2657726607 .unused,
2657826608 },
2657926609 .dst_temps = .{.mem},
26610 .clobbers = .{ .eflags = true },
2658026611 .each = .{ .once = &.{
26581 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26582 .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
26583 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },
26612 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26613 .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
26614 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2658426615 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2658526616 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2658626617 } },
......@@ -26589,7 +26620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2658926620 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
2659026621 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
2659126622 .patterns = &.{
26592 .{ .src = .{ .mem, .none } },
26623 .{ .src = .{ .to_mem, .none } },
2659326624 },
2659426625 .extra_temps = .{
2659526626 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26603,10 +26634,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2660326634 .unused,
2660426635 },
2660526636 .dst_temps = .{.mem},
26637 .clobbers = .{ .eflags = true },
2660626638 .each = .{ .once = &.{
26607 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26608 .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
26609 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
26639 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26640 .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26641 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2661026642 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2661126643 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2661226644 } },
......@@ -26615,7 +26647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2661526647 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
2661626648 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
2661726649 .patterns = &.{
26618 .{ .src = .{ .mem, .none } },
26650 .{ .src = .{ .to_mem, .none } },
2661926651 },
2662026652 .extra_temps = .{
2662126653 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26629,10 +26661,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2662926661 .unused,
2663026662 },
2663126663 .dst_temps = .{.mem},
26664 .clobbers = .{ .eflags = true },
2663226665 .each = .{ .once = &.{
26633 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26634 .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
26635 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
26666 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26667 .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26668 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2663626669 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2663726670 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2663826671 } },
......@@ -26641,7 +26674,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2664126674 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
2664226675 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
2664326676 .patterns = &.{
26644 .{ .src = .{ .mem, .none } },
26677 .{ .src = .{ .to_mem, .none } },
2664526678 },
2664626679 .extra_temps = .{
2664726680 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26655,10 +26688,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2665526688 .unused,
2665626689 },
2665726690 .dst_temps = .{.mem},
26691 .clobbers = .{ .eflags = true },
2665826692 .each = .{ .once = &.{
26659 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26660 .{ .@"0:", .p_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
26661 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
26693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26694 .{ .@"0:", .p_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26695 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2666226696 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2666326697 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2666426698 } },
......@@ -26667,7 +26701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2666726701 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
2666826702 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
2666926703 .patterns = &.{
26670 .{ .src = .{ .mem, .none } },
26704 .{ .src = .{ .to_mem, .none } },
2667126705 },
2667226706 .extra_temps = .{
2667326707 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26681,10 +26715,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2668126715 .unused,
2668226716 },
2668326717 .dst_temps = .{.mem},
26718 .clobbers = .{ .eflags = true },
2668426719 .each = .{ .once = &.{
26685 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26686 .{ .@"0:", .p_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
26687 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
26720 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26721 .{ .@"0:", .p_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26722 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2668826723 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2668926724 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2669026725 } },
......@@ -26707,6 +26742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2670726742 .unused,
2670826743 },
2670926744 .dst_temps = .{.mem},
26745 .clobbers = .{ .eflags = true },
2671026746 .each = .{ .once = &.{
2671126747 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2671226748 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26732,6 +26768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2673226768 .unused,
2673326769 },
2673426770 .dst_temps = .{.mem},
26771 .clobbers = .{ .eflags = true },
2673526772 .each = .{ .once = &.{
2673626773 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2673726774 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26758,6 +26795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2675826795 .unused,
2675926796 },
2676026797 .dst_temps = .{.mem},
26798 .clobbers = .{ .eflags = true },
2676126799 .each = .{ .once = &.{
2676226800 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2676326801 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26783,6 +26821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2678326821 .unused,
2678426822 },
2678526823 .dst_temps = .{.mem},
26824 .clobbers = .{ .eflags = true },
2678626825 .each = .{ .once = &.{
2678726826 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2678826827 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -26920,7 +26959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2692026959 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
2692126960 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
2692226961 .patterns = &.{
26923 .{ .src = .{ .mem, .none } },
26962 .{ .src = .{ .to_mem, .none } },
2692426963 },
2692526964 .extra_temps = .{
2692626965 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26934,10 +26973,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2693426973 .unused,
2693526974 },
2693626975 .dst_temps = .{.mem},
26976 .clobbers = .{ .eflags = true },
2693726977 .each = .{ .once = &.{
26938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26939 .{ .@"0:", .vp_q, .movsxb, .tmp1y, .memia(.src0d, .tmp0, .add_size), ._, ._ },
26940 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_size), .tmp1y, ._, ._ },
26978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26979 .{ .@"0:", .vp_q, .movsxb, .tmp1y, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26980 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2694126981 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2694226982 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2694326983 } },
......@@ -26946,7 +26986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2694626986 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
2694726987 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
2694826988 .patterns = &.{
26949 .{ .src = .{ .mem, .none } },
26989 .{ .src = .{ .to_mem, .none } },
2695026990 },
2695126991 .extra_temps = .{
2695226992 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26960,10 +27000,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2696027000 .unused,
2696127001 },
2696227002 .dst_temps = .{.mem},
27003 .clobbers = .{ .eflags = true },
2696327004 .each = .{ .once = &.{
26964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26965 .{ .@"0:", .vp_q, .movzxb, .tmp1y, .memia(.src0d, .tmp0, .add_size), ._, ._ },
26966 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_size), .tmp1y, ._, ._ },
27005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27006 .{ .@"0:", .vp_q, .movzxb, .tmp1y, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
27007 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2696727008 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2696827009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2696927010 } },
......@@ -26972,7 +27013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2697227013 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any },
2697327014 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
2697427015 .patterns = &.{
26975 .{ .src = .{ .mem, .none } },
27016 .{ .src = .{ .to_mem, .none } },
2697627017 },
2697727018 .extra_temps = .{
2697827019 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -26986,10 +27027,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2698627027 .unused,
2698727028 },
2698827029 .dst_temps = .{.mem},
27030 .clobbers = .{ .eflags = true },
2698927031 .each = .{ .once = &.{
26990 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
26991 .{ .@"0:", .vp_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },
26992 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },
27032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27033 .{ .@"0:", .vp_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27034 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2699327035 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2699427036 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2699527037 } },
......@@ -26998,7 +27040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2699827040 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },
2699927041 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
2700027042 .patterns = &.{
27001 .{ .src = .{ .mem, .none } },
27043 .{ .src = .{ .to_mem, .none } },
2700227044 },
2700327045 .extra_temps = .{
2700427046 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27012,10 +27054,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2701227054 .unused,
2701327055 },
2701427056 .dst_temps = .{.mem},
27057 .clobbers = .{ .eflags = true },
2701527058 .each = .{ .once = &.{
27016 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27017 .{ .@"0:", .vp_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },
27018 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },
27059 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27060 .{ .@"0:", .vp_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27061 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2701927062 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2702027063 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2702127064 } },
......@@ -27024,7 +27067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2702427067 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any },
2702527068 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
2702627069 .patterns = &.{
27027 .{ .src = .{ .mem, .none } },
27070 .{ .src = .{ .to_mem, .none } },
2702827071 },
2702927072 .extra_temps = .{
2703027073 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27038,10 +27081,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2703827081 .unused,
2703927082 },
2704027083 .dst_temps = .{.mem},
27084 .clobbers = .{ .eflags = true },
2704127085 .each = .{ .once = &.{
27042 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27043 .{ .@"0:", .p_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },
27044 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },
27086 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27087 .{ .@"0:", .p_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27088 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2704527089 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2704627090 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2704727091 } },
......@@ -27050,7 +27094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2705027094 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },
2705127095 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
2705227096 .patterns = &.{
27053 .{ .src = .{ .mem, .none } },
27097 .{ .src = .{ .to_mem, .none } },
2705427098 },
2705527099 .extra_temps = .{
2705627100 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27064,10 +27108,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2706427108 .unused,
2706527109 },
2706627110 .dst_temps = .{.mem},
27111 .clobbers = .{ .eflags = true },
2706727112 .each = .{ .once = &.{
27068 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27069 .{ .@"0:", .p_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },
27070 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },
27113 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27114 .{ .@"0:", .p_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27115 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2707127116 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2707227117 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2707327118 } },
......@@ -27090,6 +27135,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2709027135 .unused,
2709127136 },
2709227137 .dst_temps = .{.mem},
27138 .clobbers = .{ .eflags = true },
2709327139 .each = .{ .once = &.{
2709427140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2709527141 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -27116,6 +27162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2711627162 .unused,
2711727163 },
2711827164 .dst_temps = .{.mem},
27165 .clobbers = .{ .eflags = true },
2711927166 .each = .{ .once = &.{
2712027167 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2712127168 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -27142,6 +27189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2714227189 .unused,
2714327190 },
2714427191 .dst_temps = .{.mem},
27192 .clobbers = .{ .eflags = true },
2714527193 .each = .{ .once = &.{
2714627194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2714727195 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -27167,6 +27215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2716727215 .unused,
2716827216 },
2716927217 .dst_temps = .{.mem},
27218 .clobbers = .{ .eflags = true },
2717027219 .each = .{ .once = &.{
2717127220 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2717227221 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -27301,6 +27350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2730127350 .unused,
2730227351 },
2730327352 .dst_temps = .{.mem},
27353 .clobbers = .{ .eflags = true },
2730427354 .each = .{ .once = &.{
2730527355 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2730627356 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -27331,6 +27381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2733127381 .unused,
2733227382 },
2733327383 .dst_temps = .{.mem},
27384 .clobbers = .{ .eflags = true },
2733427385 .each = .{ .once = &.{
2733527386 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2733627387 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -27361,6 +27412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2736127412 .unused,
2736227413 },
2736327414 .dst_temps = .{.mem},
27415 .clobbers = .{ .eflags = true },
2736427416 .each = .{ .once = &.{
2736527417 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2736627418 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -27391,6 +27443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2739127443 .unused,
2739227444 },
2739327445 .dst_temps = .{.mem},
27446 .clobbers = .{ .eflags = true },
2739427447 .each = .{ .once = &.{
2739527448 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2739627449 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -27526,7 +27579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2752627579 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
2752727580 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
2752827581 .patterns = &.{
27529 .{ .src = .{ .mem, .none } },
27582 .{ .src = .{ .to_mem, .none } },
2753027583 },
2753127584 .extra_temps = .{
2753227585 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27540,10 +27593,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2754027593 .unused,
2754127594 },
2754227595 .dst_temps = .{.mem},
27596 .clobbers = .{ .eflags = true },
2754327597 .each = .{ .once = &.{
27544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27545 .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
27546 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
27598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27599 .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
27600 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2754727601 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2754827602 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2754927603 } },
......@@ -27552,7 +27606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2755227606 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any },
2755327607 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},
2755427608 .patterns = &.{
27555 .{ .src = .{ .mem, .none } },
27609 .{ .src = .{ .to_mem, .none } },
2755627610 },
2755727611 .extra_temps = .{
2755827612 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27566,10 +27620,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2756627620 .unused,
2756727621 },
2756827622 .dst_temps = .{.mem},
27623 .clobbers = .{ .eflags = true },
2756927624 .each = .{ .once = &.{
27570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27571 .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
27572 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
27625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27626 .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
27627 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2757327628 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2757427629 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2757527630 } },
......@@ -27578,7 +27633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2757827633 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
2757927634 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
2758027635 .patterns = &.{
27581 .{ .src = .{ .mem, .none } },
27636 .{ .src = .{ .to_mem, .none } },
2758227637 },
2758327638 .extra_temps = .{
2758427639 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27592,10 +27647,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2759227647 .unused,
2759327648 },
2759427649 .dst_temps = .{.mem},
27650 .clobbers = .{ .eflags = true },
2759527651 .each = .{ .once = &.{
27596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27597 .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
27598 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
27652 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27653 .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27654 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2759927655 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2760027656 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2760127657 } },
......@@ -27604,7 +27660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2760427660 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },
2760527661 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
2760627662 .patterns = &.{
27607 .{ .src = .{ .mem, .none } },
27663 .{ .src = .{ .to_mem, .none } },
2760827664 },
2760927665 .extra_temps = .{
2761027666 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27618,10 +27674,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2761827674 .unused,
2761927675 },
2762027676 .dst_temps = .{.mem},
27677 .clobbers = .{ .eflags = true },
2762127678 .each = .{ .once = &.{
27622 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27623 .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
27624 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
27679 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27680 .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27681 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2762527682 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2762627683 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2762727684 } },
......@@ -27630,7 +27687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2763027687 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
2763127688 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
2763227689 .patterns = &.{
27633 .{ .src = .{ .mem, .none } },
27690 .{ .src = .{ .to_mem, .none } },
2763427691 },
2763527692 .extra_temps = .{
2763627693 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27644,10 +27701,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2764427701 .unused,
2764527702 },
2764627703 .dst_temps = .{.mem},
27704 .clobbers = .{ .eflags = true },
2764727705 .each = .{ .once = &.{
27648 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27649 .{ .@"0:", .p_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
27650 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
27706 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27707 .{ .@"0:", .p_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27708 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2765127709 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2765227710 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2765327711 } },
......@@ -27656,7 +27714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2765627714 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },
2765727715 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
2765827716 .patterns = &.{
27659 .{ .src = .{ .mem, .none } },
27717 .{ .src = .{ .to_mem, .none } },
2766027718 },
2766127719 .extra_temps = .{
2766227720 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27670,10 +27728,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2767027728 .unused,
2767127729 },
2767227730 .dst_temps = .{.mem},
27731 .clobbers = .{ .eflags = true },
2767327732 .each = .{ .once = &.{
27674 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27675 .{ .@"0:", .p_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
27676 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
27733 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27734 .{ .@"0:", .p_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27735 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2767727736 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2767827737 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2767927738 } },
......@@ -27695,6 +27754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2769527754 .unused,
2769627755 },
2769727756 .dst_temps = .{.mem},
27757 .clobbers = .{ .eflags = true },
2769827758 .each = .{ .once = &.{
2769927759 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2770027760 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -27720,6 +27780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2772027780 .unused,
2772127781 },
2772227782 .dst_temps = .{.mem},
27783 .clobbers = .{ .eflags = true },
2772327784 .each = .{ .once = &.{
2772427785 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2772527786 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -27854,7 +27915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2785427915 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
2785527916 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
2785627917 .patterns = &.{
27857 .{ .src = .{ .mem, .none } },
27918 .{ .src = .{ .to_mem, .none } },
2785827919 },
2785927920 .extra_temps = .{
2786027921 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27868,10 +27929,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2786827929 .unused,
2786927930 },
2787027931 .dst_temps = .{.mem},
27932 .clobbers = .{ .eflags = true },
2787127933 .each = .{ .once = &.{
27872 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27873 .{ .@"0:", .vp_q, .movsxw, .tmp1y, .memia(.src0q, .tmp0, .add_size), ._, ._ },
27874 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },
27934 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27935 .{ .@"0:", .vp_q, .movsxw, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27936 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2787527937 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2787627938 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2787727939 } },
......@@ -27880,7 +27942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2788027942 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },
2788127943 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
2788227944 .patterns = &.{
27883 .{ .src = .{ .mem, .none } },
27945 .{ .src = .{ .to_mem, .none } },
2788427946 },
2788527947 .extra_temps = .{
2788627948 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27894,10 +27956,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2789427956 .unused,
2789527957 },
2789627958 .dst_temps = .{.mem},
27959 .clobbers = .{ .eflags = true },
2789727960 .each = .{ .once = &.{
27898 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27899 .{ .@"0:", .vp_q, .movzxw, .tmp1y, .memia(.src0q, .tmp0, .add_size), ._, ._ },
27900 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },
27961 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27962 .{ .@"0:", .vp_q, .movzxw, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27963 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2790127964 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2790227965 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2790327966 } },
......@@ -27906,7 +27969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2790627969 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
2790727970 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
2790827971 .patterns = &.{
27909 .{ .src = .{ .mem, .none } },
27972 .{ .src = .{ .to_mem, .none } },
2791027973 },
2791127974 .extra_temps = .{
2791227975 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27920,10 +27983,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2792027983 .unused,
2792127984 },
2792227985 .dst_temps = .{.mem},
27986 .clobbers = .{ .eflags = true },
2792327987 .each = .{ .once = &.{
27924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27925 .{ .@"0:", .vp_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
27926 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
27988 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27989 .{ .@"0:", .vp_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
27990 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2792727991 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2792827992 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2792927993 } },
......@@ -27932,7 +27996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2793227996 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },
2793327997 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
2793427998 .patterns = &.{
27935 .{ .src = .{ .mem, .none } },
27999 .{ .src = .{ .to_mem, .none } },
2793628000 },
2793728001 .extra_temps = .{
2793828002 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27946,10 +28010,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2794628010 .unused,
2794728011 },
2794828012 .dst_temps = .{.mem},
28013 .clobbers = .{ .eflags = true },
2794928014 .each = .{ .once = &.{
27950 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27951 .{ .@"0:", .vp_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
27952 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
28015 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28016 .{ .@"0:", .vp_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
28017 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2795328018 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2795428019 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2795528020 } },
......@@ -27958,7 +28023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2795828023 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
2795928024 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
2796028025 .patterns = &.{
27961 .{ .src = .{ .mem, .none } },
28026 .{ .src = .{ .to_mem, .none } },
2796228027 },
2796328028 .extra_temps = .{
2796428029 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27972,10 +28037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2797228037 .unused,
2797328038 },
2797428039 .dst_temps = .{.mem},
28040 .clobbers = .{ .eflags = true },
2797528041 .each = .{ .once = &.{
27976 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
27977 .{ .@"0:", .p_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
27978 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
28042 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28043 .{ .@"0:", .p_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
28044 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2797928045 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2798028046 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2798128047 } },
......@@ -27984,7 +28050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2798428050 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },
2798528051 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
2798628052 .patterns = &.{
27987 .{ .src = .{ .mem, .none } },
28053 .{ .src = .{ .to_mem, .none } },
2798828054 },
2798928055 .extra_temps = .{
2799028056 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -27998,10 +28064,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2799828064 .unused,
2799928065 },
2800028066 .dst_temps = .{.mem},
28067 .clobbers = .{ .eflags = true },
2800128068 .each = .{ .once = &.{
28002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28003 .{ .@"0:", .p_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },
28004 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },
28069 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28070 .{ .@"0:", .p_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
28071 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2800528072 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
2800628073 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2800728074 } },
......@@ -28024,6 +28091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2802428091 .unused,
2802528092 },
2802628093 .dst_temps = .{.mem},
28094 .clobbers = .{ .eflags = true },
2802728095 .each = .{ .once = &.{
2802828096 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2802928097 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -28050,6 +28118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2805028118 .unused,
2805128119 },
2805228120 .dst_temps = .{.mem},
28121 .clobbers = .{ .eflags = true },
2805328122 .each = .{ .once = &.{
2805428123 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2805528124 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -28181,6 +28250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2818128250 .unused,
2818228251 },
2818328252 .dst_temps = .{.mem},
28253 .clobbers = .{ .eflags = true },
2818428254 .each = .{ .once = &.{
2818528255 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2818628256 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -28211,6 +28281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2821128281 .unused,
2821228282 },
2821328283 .dst_temps = .{.mem},
28284 .clobbers = .{ .eflags = true },
2821428285 .each = .{ .once = &.{
2821528286 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2821628287 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -28346,7 +28417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2834628417 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
2834728418 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
2834828419 .patterns = &.{
28349 .{ .src = .{ .mem, .none } },
28420 .{ .src = .{ .to_mem, .none } },
2835028421 },
2835128422 .extra_temps = .{
2835228423 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -28360,10 +28431,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2836028431 .unused,
2836128432 },
2836228433 .dst_temps = .{.mem},
28434 .clobbers = .{ .eflags = true },
2836328435 .each = .{ .once = &.{
28364 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28365 .{ .@"0:", .vp_q, .movsxd, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
28366 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
28436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28437 .{ .@"0:", .vp_q, .movsxd, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
28438 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2836728439 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2836828440 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2836928441 } },
......@@ -28372,7 +28444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2837228444 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },
2837328445 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
2837428446 .patterns = &.{
28375 .{ .src = .{ .mem, .none } },
28447 .{ .src = .{ .to_mem, .none } },
2837628448 },
2837728449 .extra_temps = .{
2837828450 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -28386,10 +28458,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2838628458 .unused,
2838728459 },
2838828460 .dst_temps = .{.mem},
28461 .clobbers = .{ .eflags = true },
2838928462 .each = .{ .once = &.{
28390 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28391 .{ .@"0:", .vp_q, .movzxd, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },
28392 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },
28463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28464 .{ .@"0:", .vp_q, .movzxd, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
28465 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2839328466 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2839428467 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2839528468 } },
......@@ -28398,7 +28471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2839828471 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
2839928472 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
2840028473 .patterns = &.{
28401 .{ .src = .{ .mem, .none } },
28474 .{ .src = .{ .to_mem, .none } },
2840228475 },
2840328476 .extra_temps = .{
2840428477 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -28412,10 +28485,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2841228485 .unused,
2841328486 },
2841428487 .dst_temps = .{.mem},
28488 .clobbers = .{ .eflags = true },
2841528489 .each = .{ .once = &.{
28416 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28417 .{ .@"0:", .vp_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
28418 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
28490 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28491 .{ .@"0:", .vp_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28492 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2841928493 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2842028494 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2842128495 } },
......@@ -28424,7 +28498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2842428498 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },
2842528499 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
2842628500 .patterns = &.{
28427 .{ .src = .{ .mem, .none } },
28501 .{ .src = .{ .to_mem, .none } },
2842828502 },
2842928503 .extra_temps = .{
2843028504 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -28438,10 +28512,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2843828512 .unused,
2843928513 },
2844028514 .dst_temps = .{.mem},
28515 .clobbers = .{ .eflags = true },
2844128516 .each = .{ .once = &.{
28442 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28443 .{ .@"0:", .vp_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
28444 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
28517 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28518 .{ .@"0:", .vp_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28519 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2844528520 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2844628521 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2844728522 } },
......@@ -28450,7 +28525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2845028525 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
2845128526 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
2845228527 .patterns = &.{
28453 .{ .src = .{ .mem, .none } },
28528 .{ .src = .{ .to_mem, .none } },
2845428529 },
2845528530 .extra_temps = .{
2845628531 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -28464,10 +28539,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2846428539 .unused,
2846528540 },
2846628541 .dst_temps = .{.mem},
28542 .clobbers = .{ .eflags = true },
2846728543 .each = .{ .once = &.{
28468 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28469 .{ .@"0:", .p_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
28470 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
28544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28545 .{ .@"0:", .p_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28546 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2847128547 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2847228548 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2847328549 } },
......@@ -28476,7 +28552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2847628552 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .dword } }, .any },
2847728553 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
2847828554 .patterns = &.{
28479 .{ .src = .{ .mem, .none } },
28555 .{ .src = .{ .to_mem, .none } },
2848028556 },
2848128557 .extra_temps = .{
2848228558 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
......@@ -28490,10 +28566,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2849028566 .unused,
2849128567 },
2849228568 .dst_temps = .{.mem},
28569 .clobbers = .{ .eflags = true },
2849328570 .each = .{ .once = &.{
28494 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
28495 .{ .@"0:", .p_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },
28496 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },
28571 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28572 .{ .@"0:", .p_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28573 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2849728574 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
2849828575 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2849928576 } },
......@@ -28516,6 +28593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2851628593 .unused,
2851728594 },
2851828595 .dst_temps = .{.mem},
28596 .clobbers = .{ .eflags = true },
2851928597 .each = .{ .once = &.{
2852028598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2852128599 .{ .@"0:", ._, .movsxd, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -28542,6 +28620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2854228620 .unused,
2854328621 },
2854428622 .dst_temps = .{.mem},
28623 .clobbers = .{ .eflags = true },
2854528624 .each = .{ .once = &.{
2854628625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2854728626 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -28670,6 +28749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2867028749 .unused,
2867128750 },
2867228751 .dst_temps = .{.mem},
28752 .clobbers = .{ .eflags = true },
2867328753 .each = .{ .once = &.{
2867428754 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2867528755 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -28700,6 +28780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2870028780 .unused,
2870128781 },
2870228782 .dst_temps = .{.mem},
28783 .clobbers = .{ .eflags = true },
2870328784 .each = .{ .once = &.{
2870428785 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2870528786 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
......@@ -28714,7 +28795,5049 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2871428795 }, .{
2871528796 .required_features = .{ .@"64bit", .slow_incdec, null, null },
2871628797 .src_constraints = .{ .any_scalar_signed_int, .any },
28717 .dst_constraints = .{.any_scalar_signed_int},
28798 .dst_constraints = .{.any_scalar_signed_int},
28799 .patterns = &.{
28800 .{ .src = .{ .to_mem, .none } },
28801 },
28802 .extra_temps = .{
28803 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
28804 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28805 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28806 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28807 .{ .type = .i64, .kind = .{ .reg = .rax } },
28808 .unused,
28809 .unused,
28810 .unused,
28811 .unused,
28812 },
28813 .dst_temps = .{.mem},
28814 .clobbers = .{ .eflags = true },
28815 .each = .{ .once = &.{
28816 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28817 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28818 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28819 .{ .@"0:", ._, .mov, .tmp3d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ },
28820 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28821 .{ ._, ._sq, .lod, ._, ._, ._, ._ },
28822 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28823 .{ ._, ._r, .sa, .tmp4q, .ui(63), ._, ._ },
28824 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28825 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28826 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
28827 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
28828 } },
28829 }, .{
28830 .required_features = .{ .@"64bit", null, null, null },
28831 .src_constraints = .{ .any_scalar_signed_int, .any },
28832 .dst_constraints = .{.any_scalar_signed_int},
28833 .patterns = &.{
28834 .{ .src = .{ .to_mem, .none } },
28835 },
28836 .extra_temps = .{
28837 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
28838 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28839 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28840 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28841 .{ .type = .i64, .kind = .{ .reg = .rax } },
28842 .unused,
28843 .unused,
28844 .unused,
28845 .unused,
28846 },
28847 .dst_temps = .{.mem},
28848 .clobbers = .{ .eflags = true },
28849 .each = .{ .once = &.{
28850 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28851 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28852 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28853 .{ .@"0:", ._, .mov, .tmp3d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ },
28854 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28855 .{ ._, ._sq, .lod, ._, ._, ._, ._ },
28856 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28857 .{ ._, ._r, .sa, .tmp4q, .ui(63), ._, ._ },
28858 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28859 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28860 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
28861 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
28862 } },
28863 }, .{
28864 .required_features = .{ .@"64bit", .slow_incdec, null, null },
28865 .src_constraints = .{ .any_scalar_int, .any },
28866 .dst_constraints = .{.any_scalar_int},
28867 .patterns = &.{
28868 .{ .src = .{ .to_mem, .none } },
28869 },
28870 .extra_temps = .{
28871 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
28872 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28873 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28874 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28875 .{ .type = .u64, .kind = .{ .reg = .rax } },
28876 .unused,
28877 .unused,
28878 .unused,
28879 .unused,
28880 },
28881 .dst_temps = .{.mem},
28882 .clobbers = .{ .eflags = true },
28883 .each = .{ .once = &.{
28884 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28885 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28886 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28887 .{ .@"0:", ._, .mov, .tmp3d, .sa(.src0, .add_elem_size_div_8), ._, ._ },
28888 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28889 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
28890 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28891 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28892 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
28893 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
28894 } },
28895 }, .{
28896 .required_features = .{ .@"64bit", null, null, null },
28897 .src_constraints = .{ .any_scalar_int, .any },
28898 .dst_constraints = .{.any_scalar_int},
28899 .patterns = &.{
28900 .{ .src = .{ .to_mem, .none } },
28901 },
28902 .extra_temps = .{
28903 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
28904 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28905 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28906 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28907 .{ .type = .u64, .kind = .{ .reg = .rax } },
28908 .unused,
28909 .unused,
28910 .unused,
28911 .unused,
28912 },
28913 .dst_temps = .{.mem},
28914 .clobbers = .{ .eflags = true },
28915 .each = .{ .once = &.{
28916 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28917 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28918 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28919 .{ .@"0:", ._, .mov, .tmp3d, .sa(.src0, .add_elem_size_div_8), ._, ._ },
28920 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28921 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
28922 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28923 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28924 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
28925 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
28926 } },
28927 } }) catch |err| switch (err) {
28928 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
28929 @tagName(air_tag),
28930 dst_ty.fmt(pt),
28931 src_ty.fmt(pt),
28932 ops[0].tracking(cg),
28933 }),
28934 else => |e| return e,
28935 };
28936 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
28937 },
28938 .trunc => |air_tag| if (use_old) try cg.airTrunc(inst) else {
28939 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
28940 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
28941 var res: [1]Temp = undefined;
28942 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
28943 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
28944 .dst_constraints = .{.{ .exact_signed_int = 1 }},
28945 .patterns = &.{
28946 .{ .src = .{ .to_mut_gpr, .none } },
28947 },
28948 .dst_temps = .{.{ .ref = .src0 }},
28949 .clobbers = .{ .eflags = true },
28950 .each = .{ .once = &.{
28951 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },
28952 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
28953 } },
28954 }, .{
28955 .src_constraints = .{ .any_signed_int, .any },
28956 .dst_constraints = .{.{ .exact_signed_int = 1 }},
28957 .patterns = &.{
28958 .{ .src = .{ .to_mem, .none } },
28959 },
28960 .dst_temps = .{.{ .rc = .general_purpose }},
28961 .clobbers = .{ .eflags = true },
28962 .each = .{ .once = &.{
28963 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
28964 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },
28965 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
28966 } },
28967 }, .{
28968 .src_constraints = .{ .{ .int = .gpr }, .any },
28969 .dst_constraints = .{.{ .exact_int = 8 }},
28970 .patterns = &.{
28971 .{ .src = .{ .to_mut_gpr, .none } },
28972 },
28973 .dst_temps = .{.{ .ref = .src0 }},
28974 .each = .{ .once = &.{} },
28975 }, .{
28976 .src_constraints = .{ .any_signed_int, .any },
28977 .dst_constraints = .{.{ .exact_signed_int = 8 }},
28978 .patterns = &.{
28979 .{ .src = .{ .to_mem, .none } },
28980 },
28981 .dst_temps = .{.{ .rc = .general_purpose }},
28982 .each = .{ .once = &.{
28983 .{ ._, ._, .movsx, .dst0d, .mem(.src0b), ._, ._ },
28984 } },
28985 }, .{
28986 .src_constraints = .{ .any_unsigned_int, .any },
28987 .dst_constraints = .{.{ .exact_unsigned_int = 8 }},
28988 .patterns = &.{
28989 .{ .src = .{ .to_mem, .none } },
28990 },
28991 .dst_temps = .{.{ .rc = .general_purpose }},
28992 .each = .{ .once = &.{
28993 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
28994 } },
28995 }, .{
28996 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
28997 .dst_constraints = .{.{ .signed_int = .byte }},
28998 .patterns = &.{
28999 .{ .src = .{ .to_mut_gpr, .none } },
29000 },
29001 .dst_temps = .{.{ .ref = .src0 }},
29002 .clobbers = .{ .eflags = true },
29003 .each = .{ .once = &.{
29004 .{ ._, ._l, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
29005 .{ ._, ._r, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
29006 } },
29007 }, .{
29008 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29009 .dst_constraints = .{.{ .unsigned_int = .byte }},
29010 .patterns = &.{
29011 .{ .src = .{ .to_mut_gpr, .none } },
29012 },
29013 .dst_temps = .{.{ .ref = .src0 }},
29014 .clobbers = .{ .eflags = true },
29015 .each = .{ .once = &.{
29016 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },
29017 } },
29018 }, .{
29019 .src_constraints = .{ .any_int, .any },
29020 .dst_constraints = .{.{ .unsigned_int = .byte }},
29021 .patterns = &.{
29022 .{ .src = .{ .to_mem, .none } },
29023 },
29024 .dst_temps = .{.{ .rc = .general_purpose }},
29025 .clobbers = .{ .eflags = true },
29026 .each = .{ .once = &.{
29027 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
29028 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },
29029 } },
29030 }, .{
29031 .src_constraints = .{ .{ .int = .gpr }, .any },
29032 .dst_constraints = .{.{ .exact_int = 16 }},
29033 .patterns = &.{
29034 .{ .src = .{ .to_mut_gpr, .none } },
29035 },
29036 .dst_temps = .{.{ .ref = .src0 }},
29037 .each = .{ .once = &.{} },
29038 }, .{
29039 .src_constraints = .{ .any_signed_int, .any },
29040 .dst_constraints = .{.{ .exact_signed_int = 16 }},
29041 .patterns = &.{
29042 .{ .src = .{ .to_mem, .none } },
29043 },
29044 .dst_temps = .{.{ .rc = .general_purpose }},
29045 .each = .{ .once = &.{
29046 .{ ._, ._, .movsx, .dst0d, .mem(.src0w), ._, ._ },
29047 } },
29048 }, .{
29049 .src_constraints = .{ .any_unsigned_int, .any },
29050 .dst_constraints = .{.{ .exact_unsigned_int = 16 }},
29051 .patterns = &.{
29052 .{ .src = .{ .to_mem, .none } },
29053 },
29054 .dst_temps = .{.{ .rc = .general_purpose }},
29055 .each = .{ .once = &.{
29056 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
29057 } },
29058 }, .{
29059 .required_features = .{ .fast_imm16, null, null, null },
29060 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29061 .dst_constraints = .{.{ .unsigned_int = .word }},
29062 .patterns = &.{
29063 .{ .src = .{ .to_mut_gpr, .none } },
29064 },
29065 .dst_temps = .{.{ .ref = .src0 }},
29066 .clobbers = .{ .eflags = true },
29067 .each = .{ .once = &.{
29068 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },
29069 } },
29070 }, .{
29071 .required_features = .{ .fast_imm16, null, null, null },
29072 .src_constraints = .{ .any_unsigned_int, .any },
29073 .dst_constraints = .{.{ .unsigned_int = .word }},
29074 .patterns = &.{
29075 .{ .src = .{ .to_mem, .none } },
29076 },
29077 .dst_temps = .{.{ .rc = .general_purpose }},
29078 .clobbers = .{ .eflags = true },
29079 .each = .{ .once = &.{
29080 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
29081 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },
29082 } },
29083 }, .{
29084 .src_constraints = .{ .{ .int = .gpr }, .any },
29085 .dst_constraints = .{.{ .exact_int = 32 }},
29086 .patterns = &.{
29087 .{ .src = .{ .to_mut_gpr, .none } },
29088 },
29089 .dst_temps = .{.{ .ref = .src0 }},
29090 .each = .{ .once = &.{} },
29091 }, .{
29092 .src_constraints = .{ .any_int, .any },
29093 .dst_constraints = .{.{ .exact_int = 32 }},
29094 .patterns = &.{
29095 .{ .src = .{ .to_mem, .none } },
29096 },
29097 .dst_temps = .{.{ .rc = .general_purpose }},
29098 .each = .{ .once = &.{
29099 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
29100 } },
29101 }, .{
29102 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
29103 .dst_constraints = .{.{ .signed_int = .dword }},
29104 .patterns = &.{
29105 .{ .src = .{ .to_mut_gpr, .none } },
29106 },
29107 .dst_temps = .{.{ .ref = .src0 }},
29108 .clobbers = .{ .eflags = true },
29109 .each = .{ .once = &.{
29110 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29111 .{ ._, ._r, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29112 } },
29113 }, .{
29114 .src_constraints = .{ .any_signed_int, .any },
29115 .dst_constraints = .{.{ .signed_int = .dword }},
29116 .patterns = &.{
29117 .{ .src = .{ .to_mem, .none } },
29118 },
29119 .dst_temps = .{.{ .rc = .general_purpose }},
29120 .clobbers = .{ .eflags = true },
29121 .each = .{ .once = &.{
29122 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
29123 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29124 .{ ._, ._r, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29125 } },
29126 }, .{
29127 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29128 .dst_constraints = .{.{ .unsigned_int = .dword }},
29129 .patterns = &.{
29130 .{ .src = .{ .to_mut_gpr, .none } },
29131 },
29132 .dst_temps = .{.{ .ref = .src0 }},
29133 .clobbers = .{ .eflags = true },
29134 .each = .{ .once = &.{
29135 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },
29136 } },
29137 }, .{
29138 .src_constraints = .{ .any_unsigned_int, .any },
29139 .dst_constraints = .{.{ .unsigned_int = .dword }},
29140 .patterns = &.{
29141 .{ .src = .{ .to_mem, .none } },
29142 },
29143 .dst_temps = .{.{ .rc = .general_purpose }},
29144 .clobbers = .{ .eflags = true },
29145 .each = .{ .once = &.{
29146 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
29147 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },
29148 } },
29149 }, .{
29150 .required_features = .{ .@"64bit", null, null, null },
29151 .src_constraints = .{ .any_int, .any },
29152 .dst_constraints = .{.{ .exact_int = 64 }},
29153 .patterns = &.{
29154 .{ .src = .{ .to_mem, .none } },
29155 },
29156 .dst_temps = .{.{ .rc = .general_purpose }},
29157 .each = .{ .once = &.{
29158 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
29159 } },
29160 }, .{
29161 .required_features = .{ .@"64bit", null, null, null },
29162 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
29163 .dst_constraints = .{.{ .signed_int = .qword }},
29164 .patterns = &.{
29165 .{ .src = .{ .to_mut_gpr, .none } },
29166 },
29167 .dst_temps = .{.{ .ref = .src0 }},
29168 .clobbers = .{ .eflags = true },
29169 .each = .{ .once = &.{
29170 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29171 .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29172 } },
29173 }, .{
29174 .required_features = .{ .@"64bit", null, null, null },
29175 .src_constraints = .{ .any_signed_int, .any },
29176 .dst_constraints = .{.{ .signed_int = .qword }},
29177 .patterns = &.{
29178 .{ .src = .{ .to_mem, .none } },
29179 },
29180 .dst_temps = .{.{ .rc = .general_purpose }},
29181 .clobbers = .{ .eflags = true },
29182 .each = .{ .once = &.{
29183 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
29184 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29185 .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29186 } },
29187 }, .{
29188 .required_features = .{ .@"64bit", .bmi2, null, null },
29189 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29190 .dst_constraints = .{.{ .unsigned_int = .qword }},
29191 .patterns = &.{
29192 .{ .src = .{ .mem, .none } },
29193 .{ .src = .{ .to_gpr, .none } },
29194 },
29195 .dst_temps = .{.{ .rc = .general_purpose }},
29196 .clobbers = .{ .eflags = true },
29197 .each = .{ .once = &.{
29198 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
29199 .{ ._, ._, .bzhi, .dst0q, .src0q, .dst0q, ._ },
29200 } },
29201 }, .{
29202 .required_features = .{ .@"64bit", .bmi2, null, null },
29203 .src_constraints = .{ .any_unsigned_int, .any },
29204 .dst_constraints = .{.{ .unsigned_int = .qword }},
29205 .patterns = &.{
29206 .{ .src = .{ .to_mem, .none } },
29207 },
29208 .dst_temps = .{.{ .rc = .general_purpose }},
29209 .clobbers = .{ .eflags = true },
29210 .each = .{ .once = &.{
29211 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
29212 .{ ._, ._, .bzhi, .dst0q, .mem(.src0q), .dst0q, ._ },
29213 } },
29214 }, .{
29215 .required_features = .{ .@"64bit", null, null, null },
29216 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29217 .dst_constraints = .{.{ .unsigned_int = .qword }},
29218 .patterns = &.{
29219 .{ .src = .{ .mem, .none } },
29220 .{ .src = .{ .to_gpr, .none } },
29221 },
29222 .dst_temps = .{.{ .rc = .general_purpose }},
29223 .clobbers = .{ .eflags = true },
29224 .each = .{ .once = &.{
29225 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
29226 .{ ._, ._, .@"and", .dst0q, .src0q, ._, ._ },
29227 } },
29228 }, .{
29229 .required_features = .{ .@"64bit", null, null, null },
29230 .src_constraints = .{ .any_unsigned_int, .any },
29231 .dst_constraints = .{.{ .unsigned_int = .qword }},
29232 .patterns = &.{
29233 .{ .src = .{ .to_mem, .none } },
29234 },
29235 .dst_temps = .{.{ .rc = .general_purpose }},
29236 .clobbers = .{ .eflags = true },
29237 .each = .{ .once = &.{
29238 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
29239 .{ ._, ._, .@"and", .dst0q, .mem(.src0q), ._, ._ },
29240 } },
29241 }, .{
29242 .required_features = .{ .@"64bit", null, null, null },
29243 .src_constraints = .{ .any_int, .any },
29244 .dst_constraints = .{.{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }},
29245 .patterns = &.{
29246 .{ .src = .{ .to_mem, .none } },
29247 },
29248 .extra_temps = .{
29249 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29250 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29251 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29252 .unused,
29253 .unused,
29254 .unused,
29255 .unused,
29256 .unused,
29257 .unused,
29258 },
29259 .dst_temps = .{.mem},
29260 .each = .{ .once = &.{
29261 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29262 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29263 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
29264 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29265 } },
29266 }, .{
29267 .required_features = .{ .@"64bit", null, null, null },
29268 .src_constraints = .{ .any_signed_int, .any },
29269 .dst_constraints = .{.{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
29270 .patterns = &.{
29271 .{ .src = .{ .to_mem, .none } },
29272 },
29273 .extra_temps = .{
29274 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29275 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29276 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29277 .unused,
29278 .unused,
29279 .unused,
29280 .unused,
29281 .unused,
29282 .unused,
29283 },
29284 .dst_temps = .{.mem},
29285 .clobbers = .{ .eflags = true },
29286 .each = .{ .once = &.{
29287 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29288 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29289 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
29290 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29291 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },
29292 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
29293 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
29294 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
29295 } },
29296 }, .{
29297 .required_features = .{ .@"64bit", null, null, null },
29298 .src_constraints = .{ .any_signed_int, .any },
29299 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }},
29300 .patterns = &.{
29301 .{ .src = .{ .to_mem, .none } },
29302 },
29303 .extra_temps = .{
29304 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29305 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29306 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29307 .unused,
29308 .unused,
29309 .unused,
29310 .unused,
29311 .unused,
29312 .unused,
29313 },
29314 .dst_temps = .{.mem},
29315 .clobbers = .{ .eflags = true },
29316 .each = .{ .once = &.{
29317 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29318 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29319 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
29320 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29321 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },
29322 .{ ._, ._l, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29323 .{ ._, ._r, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29324 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
29325 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
29326 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
29327 } },
29328 }, .{
29329 .required_features = .{ .@"64bit", null, null, null },
29330 .src_constraints = .{ .any_signed_int, .any },
29331 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }},
29332 .patterns = &.{
29333 .{ .src = .{ .to_mem, .none } },
29334 },
29335 .extra_temps = .{
29336 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29337 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29338 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29339 .unused,
29340 .unused,
29341 .unused,
29342 .unused,
29343 .unused,
29344 .unused,
29345 },
29346 .dst_temps = .{.mem},
29347 .clobbers = .{ .eflags = true },
29348 .each = .{ .once = &.{
29349 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29350 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29351 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
29352 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29353 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -8), ._, ._ },
29354 .{ ._, ._l, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29355 .{ ._, ._r, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29356 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
29357 } },
29358 }, .{
29359 .required_features = .{ .@"64bit", null, null, null },
29360 .src_constraints = .{ .any_unsigned_int, .any },
29361 .dst_constraints = .{.{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
29362 .patterns = &.{
29363 .{ .src = .{ .to_mem, .none } },
29364 },
29365 .extra_temps = .{
29366 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29367 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29368 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29369 .unused,
29370 .unused,
29371 .unused,
29372 .unused,
29373 .unused,
29374 .unused,
29375 },
29376 .dst_temps = .{.mem},
29377 .each = .{ .once = &.{
29378 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29379 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29380 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
29381 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29382 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ },
29383 } },
29384 }, .{
29385 .required_features = .{ .@"64bit", .bmi2, null, null },
29386 .src_constraints = .{ .any_unsigned_int, .any },
29387 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
29388 .patterns = &.{
29389 .{ .src = .{ .to_mem, .none } },
29390 },
29391 .extra_temps = .{
29392 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29393 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29394 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29395 .unused,
29396 .unused,
29397 .unused,
29398 .unused,
29399 .unused,
29400 .unused,
29401 },
29402 .dst_temps = .{.mem},
29403 .clobbers = .{ .eflags = true },
29404 .each = .{ .once = &.{
29405 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29406 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29407 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
29408 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29409 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size_rem_64), ._, ._ },
29410 .{ ._, ._, .bzhi, .tmp2q, .memad(.src0q, .add_size, -16), .tmp2q, ._ },
29411 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp2q, ._, ._ },
29412 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ },
29413 } },
29414 }, .{
29415 .required_features = .{ .@"64bit", .bmi2, null, null },
29416 .src_constraints = .{ .any_unsigned_int, .any },
29417 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
29418 .patterns = &.{
29419 .{ .src = .{ .to_mem, .none } },
29420 },
29421 .extra_temps = .{
29422 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29423 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29424 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29425 .unused,
29426 .unused,
29427 .unused,
29428 .unused,
29429 .unused,
29430 .unused,
29431 },
29432 .dst_temps = .{.mem},
29433 .clobbers = .{ .eflags = true },
29434 .each = .{ .once = &.{
29435 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29436 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29437 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
29438 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29439 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size_rem_64), ._, ._ },
29440 .{ ._, ._, .bzhi, .tmp2q, .memad(.src0q, .add_size, -8), .tmp2q, ._ },
29441 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ },
29442 } },
29443 }, .{
29444 .required_features = .{ .@"64bit", null, null, null },
29445 .src_constraints = .{ .any_unsigned_int, .any },
29446 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
29447 .patterns = &.{
29448 .{ .src = .{ .to_mem, .none } },
29449 },
29450 .extra_temps = .{
29451 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29452 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29453 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29454 .unused,
29455 .unused,
29456 .unused,
29457 .unused,
29458 .unused,
29459 .unused,
29460 },
29461 .dst_temps = .{.mem},
29462 .clobbers = .{ .eflags = true },
29463 .each = .{ .once = &.{
29464 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29465 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29466 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
29467 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29468 .{ ._, ._, .mov, .tmp0q, .ua(.dst0, .add_umax), ._, ._ },
29469 .{ ._, ._, .@"and", .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },
29470 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
29471 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ },
29472 } },
29473 }, .{
29474 .required_features = .{ .@"64bit", null, null, null },
29475 .src_constraints = .{ .any_unsigned_int, .any },
29476 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
29477 .patterns = &.{
29478 .{ .src = .{ .to_mem, .none } },
29479 },
29480 .extra_temps = .{
29481 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29482 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29483 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29484 .unused,
29485 .unused,
29486 .unused,
29487 .unused,
29488 .unused,
29489 .unused,
29490 },
29491 .dst_temps = .{.mem},
29492 .clobbers = .{ .eflags = true },
29493 .each = .{ .once = &.{
29494 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29495 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29496 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
29497 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29498 .{ ._, ._, .mov, .tmp0q, .ua(.dst0, .add_umax), ._, ._ },
29499 .{ ._, ._, .@"and", .tmp0q, .memad(.src0q, .add_size, -8), ._, ._ },
29500 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
29501 } },
29502 }, .{
29503 .required_features = .{ .avx, null, null, null },
29504 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
29505 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }},
29506 .patterns = &.{
29507 .{ .src = .{ .to_sse, .none } },
29508 },
29509 .extra_temps = .{
29510 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29511 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29512 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
29513 .unused,
29514 .unused,
29515 .unused,
29516 .unused,
29517 .unused,
29518 .unused,
29519 },
29520 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
29521 .each = .{ .once = &.{
29522 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29523 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
29524 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
29525 .{ ._, .vp_b, .add, .dst0x, .dst0x, .lea(.tmp0x), ._ },
29526 .{ ._, .vp_, .xor, .dst0x, .dst0x, .lea(.tmp0x), ._ },
29527 } },
29528 }, .{
29529 .required_features = .{ .avx, null, null, null },
29530 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
29531 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
29532 .patterns = &.{
29533 .{ .src = .{ .to_sse, .none } },
29534 },
29535 .extra_temps = .{
29536 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29537 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
29538 .unused,
29539 .unused,
29540 .unused,
29541 .unused,
29542 .unused,
29543 .unused,
29544 .unused,
29545 },
29546 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
29547 .each = .{ .once = &.{
29548 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29549 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
29550 } },
29551 }, .{
29552 .required_features = .{ .sse2, null, null, null },
29553 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
29554 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }},
29555 .patterns = &.{
29556 .{ .src = .{ .to_mut_sse, .none } },
29557 },
29558 .extra_temps = .{
29559 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29560 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29561 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
29562 .unused,
29563 .unused,
29564 .unused,
29565 .unused,
29566 .unused,
29567 .unused,
29568 },
29569 .dst_temps = .{.{ .ref = .src0 }},
29570 .each = .{ .once = &.{
29571 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29572 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
29573 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
29574 .{ ._, .p_b, .add, .dst0x, .lea(.tmp0x), ._, ._ },
29575 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
29576 } },
29577 }, .{
29578 .required_features = .{ .sse2, null, null, null },
29579 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
29580 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
29581 .patterns = &.{
29582 .{ .src = .{ .to_mut_sse, .none } },
29583 },
29584 .extra_temps = .{
29585 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29586 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
29587 .unused,
29588 .unused,
29589 .unused,
29590 .unused,
29591 .unused,
29592 .unused,
29593 .unused,
29594 },
29595 .dst_temps = .{.{ .ref = .src0 }},
29596 .each = .{ .once = &.{
29597 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29598 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
29599 } },
29600 }, .{
29601 .required_features = .{ .sse, null, null, null },
29602 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
29603 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
29604 .patterns = &.{
29605 .{ .src = .{ .to_mut_sse, .none } },
29606 },
29607 .extra_temps = .{
29608 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29609 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
29610 .unused,
29611 .unused,
29612 .unused,
29613 .unused,
29614 .unused,
29615 .unused,
29616 .unused,
29617 },
29618 .dst_temps = .{.{ .ref = .src0 }},
29619 .each = .{ .once = &.{
29620 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29621 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
29622 } },
29623 }, .{
29624 .required_features = .{ .avx2, null, null, null },
29625 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any },
29626 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }},
29627 .patterns = &.{
29628 .{ .src = .{ .to_sse, .none } },
29629 },
29630 .extra_temps = .{
29631 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29632 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29633 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
29634 .unused,
29635 .unused,
29636 .unused,
29637 .unused,
29638 .unused,
29639 .unused,
29640 },
29641 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
29642 .each = .{ .once = &.{
29643 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29644 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
29645 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
29646 .{ ._, .vp_b, .add, .dst0y, .dst0y, .lea(.tmp0y), ._ },
29647 .{ ._, .vp_, .xor, .dst0y, .dst0y, .lea(.tmp0y), ._ },
29648 } },
29649 }, .{
29650 .required_features = .{ .avx2, null, null, null },
29651 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any },
29652 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }},
29653 .patterns = &.{
29654 .{ .src = .{ .to_sse, .none } },
29655 },
29656 .extra_temps = .{
29657 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
29658 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
29659 .unused,
29660 .unused,
29661 .unused,
29662 .unused,
29663 .unused,
29664 .unused,
29665 .unused,
29666 },
29667 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
29668 .each = .{ .once = &.{
29669 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
29670 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
29671 } },
29672 }, .{
29673 .required_features = .{ .avx2, null, null, null },
29674 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any },
29675 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }},
29676 .patterns = &.{
29677 .{ .src = .{ .to_mem, .none } },
29678 },
29679 .extra_temps = .{
29680 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29681 .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } },
29682 .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } },
29683 .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } },
29684 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29685 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
29686 .unused,
29687 .unused,
29688 .unused,
29689 },
29690 .dst_temps = .{.mem},
29691 .clobbers = .{ .eflags = true },
29692 .each = .{ .once = &.{
29693 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
29694 .{ ._, .v_dqa, .mov, .tmp1y, .lea(.tmp0y), ._, ._ },
29695 .{ ._, ._, .lea, .tmp0p, .mem(.tmp5), ._, ._ },
29696 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
29697 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29698 .{ .@"0:", .vp_, .@"and", .tmp3y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ },
29699 .{ ._, .vp_b, .add, .tmp3y, .tmp3y, .tmp2y, ._ },
29700 .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .tmp2y, ._ },
29701 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp3y, ._, ._ },
29702 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
29703 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29704 } },
29705 }, .{
29706 .required_features = .{ .avx2, null, null, null },
29707 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any },
29708 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }},
29709 .patterns = &.{
29710 .{ .src = .{ .to_mem, .none } },
29711 },
29712 .extra_temps = .{
29713 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29714 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
29715 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
29716 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29717 .unused,
29718 .unused,
29719 .unused,
29720 .unused,
29721 .unused,
29722 },
29723 .dst_temps = .{.mem},
29724 .clobbers = .{ .eflags = true },
29725 .each = .{ .once = &.{
29726 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
29727 .{ ._, .v_dqa, .mov, .tmp1y, .lea(.tmp0y), ._, ._ },
29728 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29729 .{ .@"0:", .vp_, .@"and", .tmp2y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ },
29730 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp2y, ._, ._ },
29731 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
29732 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29733 } },
29734 }, .{
29735 .required_features = .{ .avx, null, null, null },
29736 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
29737 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }},
29738 .patterns = &.{
29739 .{ .src = .{ .to_mem, .none } },
29740 },
29741 .extra_temps = .{
29742 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29743 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
29744 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
29745 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
29746 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29747 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
29748 .unused,
29749 .unused,
29750 .unused,
29751 },
29752 .dst_temps = .{.mem},
29753 .clobbers = .{ .eflags = true },
29754 .each = .{ .once = &.{
29755 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
29756 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
29757 .{ ._, ._, .lea, .tmp0p, .mem(.tmp5), ._, ._ },
29758 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
29759 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29760 .{ .@"0:", .vp_, .@"and", .tmp3x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ },
29761 .{ ._, .vp_b, .add, .tmp3x, .tmp3x, .tmp2x, ._ },
29762 .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .tmp2x, ._ },
29763 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ },
29764 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
29765 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29766 } },
29767 }, .{
29768 .required_features = .{ .avx, null, null, null },
29769 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
29770 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
29771 .patterns = &.{
29772 .{ .src = .{ .to_mem, .none } },
29773 },
29774 .extra_temps = .{
29775 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29776 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
29777 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
29778 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29779 .unused,
29780 .unused,
29781 .unused,
29782 .unused,
29783 .unused,
29784 },
29785 .dst_temps = .{.mem},
29786 .clobbers = .{ .eflags = true },
29787 .each = .{ .once = &.{
29788 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
29789 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
29790 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29791 .{ .@"0:", .vp_, .@"and", .tmp2x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ },
29792 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
29793 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
29794 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29795 } },
29796 }, .{
29797 .required_features = .{ .sse2, null, null, null },
29798 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
29799 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }},
29800 .patterns = &.{
29801 .{ .src = .{ .to_mem, .none } },
29802 },
29803 .extra_temps = .{
29804 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29805 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
29806 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
29807 .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } },
29808 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29809 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
29810 .unused,
29811 .unused,
29812 .unused,
29813 },
29814 .dst_temps = .{.mem},
29815 .clobbers = .{ .eflags = true },
29816 .each = .{ .once = &.{
29817 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
29818 .{ ._, ._dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
29819 .{ ._, ._, .lea, .tmp0p, .mem(.tmp5), ._, ._ },
29820 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
29821 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29822 .{ .@"0:", ._dqa, .mov, .tmp3x, .tmp1x, ._, ._ },
29823 .{ ._, .p_, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
29824 .{ ._, .p_b, .add, .tmp3x, .tmp2x, ._, ._ },
29825 .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ },
29826 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ },
29827 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
29828 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29829 } },
29830 }, .{
29831 .required_features = .{ .sse2, null, null, null },
29832 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
29833 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
29834 .patterns = &.{
29835 .{ .src = .{ .to_mem, .none } },
29836 },
29837 .extra_temps = .{
29838 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29839 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
29840 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
29841 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29842 .unused,
29843 .unused,
29844 .unused,
29845 .unused,
29846 .unused,
29847 },
29848 .dst_temps = .{.mem},
29849 .clobbers = .{ .eflags = true },
29850 .each = .{ .once = &.{
29851 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
29852 .{ ._, ._dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
29853 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29854 .{ .@"0:", ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
29855 .{ ._, .p_, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
29856 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
29857 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
29858 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29859 } },
29860 }, .{
29861 .required_features = .{ .sse, null, null, null },
29862 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
29863 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
29864 .patterns = &.{
29865 .{ .src = .{ .to_mem, .none } },
29866 },
29867 .extra_temps = .{
29868 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29869 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
29870 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
29871 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
29872 .unused,
29873 .unused,
29874 .unused,
29875 .unused,
29876 .unused,
29877 },
29878 .dst_temps = .{.mem},
29879 .clobbers = .{ .eflags = true },
29880 .each = .{ .once = &.{
29881 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
29882 .{ ._, ._ps, .mova, .tmp1x, .lea(.tmp0x), ._, ._ },
29883 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29884 .{ .@"0:", ._ps, .mova, .tmp2x, .tmp1x, ._, ._ },
29885 .{ ._, ._ps, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
29886 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
29887 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
29888 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29889 } },
29890 }, .{
29891 .required_features = .{ .slow_incdec, null, null, null },
29892 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
29893 .dst_constraints = .{.{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 1 } }},
29894 .patterns = &.{
29895 .{ .src = .{ .to_mem, .none } },
29896 },
29897 .extra_temps = .{
29898 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29899 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
29900 .unused,
29901 .unused,
29902 .unused,
29903 .unused,
29904 .unused,
29905 .unused,
29906 .unused,
29907 },
29908 .dst_temps = .{.mem},
29909 .clobbers = .{ .eflags = true },
29910 .each = .{ .once = &.{
29911 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29912 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
29913 .{ ._, ._, .@"and", .tmp1b, .si(1), ._, ._ },
29914 .{ ._, ._, .neg, .tmp1b, ._, ._, ._ },
29915 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
29916 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
29917 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29918 } },
29919 }, .{
29920 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
29921 .dst_constraints = .{.{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 1 } }},
29922 .patterns = &.{
29923 .{ .src = .{ .to_mem, .none } },
29924 },
29925 .extra_temps = .{
29926 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29927 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
29928 .unused,
29929 .unused,
29930 .unused,
29931 .unused,
29932 .unused,
29933 .unused,
29934 .unused,
29935 },
29936 .dst_temps = .{.mem},
29937 .clobbers = .{ .eflags = true },
29938 .each = .{ .once = &.{
29939 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29940 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
29941 .{ ._, ._, .@"and", .tmp1b, .si(1), ._, ._ },
29942 .{ ._, ._, .neg, .tmp1b, ._, ._, ._ },
29943 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
29944 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
29945 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
29946 } },
29947 }, .{
29948 .required_features = .{ .slow_incdec, null, null, null },
29949 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
29950 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
29951 .patterns = &.{
29952 .{ .src = .{ .to_mem, .none } },
29953 },
29954 .extra_temps = .{
29955 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29956 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
29957 .unused,
29958 .unused,
29959 .unused,
29960 .unused,
29961 .unused,
29962 .unused,
29963 .unused,
29964 },
29965 .dst_temps = .{.mem},
29966 .clobbers = .{ .eflags = true },
29967 .each = .{ .once = &.{
29968 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29969 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
29970 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
29971 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
29972 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
29973 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
29974 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29975 } },
29976 }, .{
29977 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
29978 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
29979 .patterns = &.{
29980 .{ .src = .{ .to_mem, .none } },
29981 },
29982 .extra_temps = .{
29983 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
29984 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
29985 .unused,
29986 .unused,
29987 .unused,
29988 .unused,
29989 .unused,
29990 .unused,
29991 .unused,
29992 },
29993 .dst_temps = .{.mem},
29994 .clobbers = .{ .eflags = true },
29995 .each = .{ .once = &.{
29996 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
29997 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
29998 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
29999 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30000 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30001 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30002 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30003 } },
30004 }, .{
30005 .required_features = .{ .slow_incdec, null, null, null },
30006 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
30007 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30008 .patterns = &.{
30009 .{ .src = .{ .to_mem, .none } },
30010 },
30011 .extra_temps = .{
30012 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30013 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30014 .unused,
30015 .unused,
30016 .unused,
30017 .unused,
30018 .unused,
30019 .unused,
30020 .unused,
30021 },
30022 .dst_temps = .{.mem},
30023 .clobbers = .{ .eflags = true },
30024 .each = .{ .once = &.{
30025 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30026 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
30027 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30028 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30029 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30030 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30031 } },
30032 }, .{
30033 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
30034 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30035 .patterns = &.{
30036 .{ .src = .{ .to_mem, .none } },
30037 },
30038 .extra_temps = .{
30039 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30040 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30041 .unused,
30042 .unused,
30043 .unused,
30044 .unused,
30045 .unused,
30046 .unused,
30047 .unused,
30048 },
30049 .dst_temps = .{.mem},
30050 .clobbers = .{ .eflags = true },
30051 .each = .{ .once = &.{
30052 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30053 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
30054 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30055 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30056 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30057 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30058 } },
30059 }, .{
30060 .required_features = .{ .slow_incdec, null, null, null },
30061 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
30062 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30063 .patterns = &.{
30064 .{ .src = .{ .to_mem, .none } },
30065 },
30066 .extra_temps = .{
30067 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30068 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30069 .unused,
30070 .unused,
30071 .unused,
30072 .unused,
30073 .unused,
30074 .unused,
30075 .unused,
30076 },
30077 .dst_temps = .{.mem},
30078 .clobbers = .{ .eflags = true },
30079 .each = .{ .once = &.{
30080 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30081 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0b, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
30082 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30083 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30084 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30085 } },
30086 }, .{
30087 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
30088 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30089 .patterns = &.{
30090 .{ .src = .{ .to_mem, .none } },
30091 },
30092 .extra_temps = .{
30093 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30094 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30095 .unused,
30096 .unused,
30097 .unused,
30098 .unused,
30099 .unused,
30100 .unused,
30101 .unused,
30102 },
30103 .dst_temps = .{.mem},
30104 .clobbers = .{ .eflags = true },
30105 .each = .{ .once = &.{
30106 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30107 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0b, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
30108 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30109 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30110 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30111 } },
30112 }, .{
30113 .required_features = .{ .slow_incdec, null, null, null },
30114 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
30115 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30116 .patterns = &.{
30117 .{ .src = .{ .to_mem, .none } },
30118 },
30119 .extra_temps = .{
30120 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30121 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30122 .unused,
30123 .unused,
30124 .unused,
30125 .unused,
30126 .unused,
30127 .unused,
30128 .unused,
30129 },
30130 .dst_temps = .{.mem},
30131 .clobbers = .{ .eflags = true },
30132 .each = .{ .once = &.{
30133 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30134 .{ .@"0:", ._, .movsx, .tmp1d, .memsia(.src0b, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
30135 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30136 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30137 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30138 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30139 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30140 } },
30141 }, .{
30142 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
30143 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30144 .patterns = &.{
30145 .{ .src = .{ .to_mem, .none } },
30146 },
30147 .extra_temps = .{
30148 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30149 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30150 .unused,
30151 .unused,
30152 .unused,
30153 .unused,
30154 .unused,
30155 .unused,
30156 .unused,
30157 },
30158 .dst_temps = .{.mem},
30159 .clobbers = .{ .eflags = true },
30160 .each = .{ .once = &.{
30161 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30162 .{ .@"0:", ._, .movsx, .tmp1d, .memsia(.src0b, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
30163 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30164 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30165 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30166 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30167 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30168 } },
30169 }, .{
30170 .required_features = .{ .slow_incdec, null, null, null },
30171 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
30172 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30173 .patterns = &.{
30174 .{ .src = .{ .to_mem, .none } },
30175 },
30176 .extra_temps = .{
30177 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30178 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30179 .unused,
30180 .unused,
30181 .unused,
30182 .unused,
30183 .unused,
30184 .unused,
30185 .unused,
30186 },
30187 .dst_temps = .{.mem},
30188 .clobbers = .{ .eflags = true },
30189 .each = .{ .once = &.{
30190 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30191 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0b, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
30192 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30193 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30194 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30195 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30196 } },
30197 }, .{
30198 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
30199 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30200 .patterns = &.{
30201 .{ .src = .{ .to_mem, .none } },
30202 },
30203 .extra_temps = .{
30204 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30205 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30206 .unused,
30207 .unused,
30208 .unused,
30209 .unused,
30210 .unused,
30211 .unused,
30212 .unused,
30213 },
30214 .dst_temps = .{.mem},
30215 .clobbers = .{ .eflags = true },
30216 .each = .{ .once = &.{
30217 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30218 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0b, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
30219 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30220 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30221 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30222 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30223 } },
30224 }, .{
30225 .required_features = .{ .slow_incdec, null, null, null },
30226 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
30227 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30228 .patterns = &.{
30229 .{ .src = .{ .to_mem, .none } },
30230 },
30231 .extra_temps = .{
30232 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30233 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30234 .unused,
30235 .unused,
30236 .unused,
30237 .unused,
30238 .unused,
30239 .unused,
30240 .unused,
30241 },
30242 .dst_temps = .{.mem},
30243 .clobbers = .{ .eflags = true },
30244 .each = .{ .once = &.{
30245 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30246 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
30247 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30248 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30249 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30250 } },
30251 }, .{
30252 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
30253 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30254 .patterns = &.{
30255 .{ .src = .{ .to_mem, .none } },
30256 },
30257 .extra_temps = .{
30258 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30259 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30260 .unused,
30261 .unused,
30262 .unused,
30263 .unused,
30264 .unused,
30265 .unused,
30266 .unused,
30267 },
30268 .dst_temps = .{.mem},
30269 .clobbers = .{ .eflags = true },
30270 .each = .{ .once = &.{
30271 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30272 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
30273 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30274 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30275 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30276 } },
30277 }, .{
30278 .required_features = .{ .slow_incdec, null, null, null },
30279 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
30280 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30281 .patterns = &.{
30282 .{ .src = .{ .to_mem, .none } },
30283 },
30284 .extra_temps = .{
30285 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30286 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30287 .unused,
30288 .unused,
30289 .unused,
30290 .unused,
30291 .unused,
30292 .unused,
30293 .unused,
30294 },
30295 .dst_temps = .{.mem},
30296 .clobbers = .{ .eflags = true },
30297 .each = .{ .once = &.{
30298 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30299 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
30300 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30301 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30302 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30303 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30304 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30305 } },
30306 }, .{
30307 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
30308 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30309 .patterns = &.{
30310 .{ .src = .{ .to_mem, .none } },
30311 },
30312 .extra_temps = .{
30313 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30314 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30315 .unused,
30316 .unused,
30317 .unused,
30318 .unused,
30319 .unused,
30320 .unused,
30321 .unused,
30322 },
30323 .dst_temps = .{.mem},
30324 .clobbers = .{ .eflags = true },
30325 .each = .{ .once = &.{
30326 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30327 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
30328 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30329 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30330 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30331 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30332 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30333 } },
30334 }, .{
30335 .required_features = .{ .bmi2, .slow_incdec, null, null },
30336 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
30337 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30338 .patterns = &.{
30339 .{ .src = .{ .to_mem, .none } },
30340 },
30341 .extra_temps = .{
30342 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30343 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30344 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30345 .unused,
30346 .unused,
30347 .unused,
30348 .unused,
30349 .unused,
30350 .unused,
30351 },
30352 .dst_temps = .{.mem},
30353 .clobbers = .{ .eflags = true },
30354 .each = .{ .once = &.{
30355 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30356 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
30357 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), .tmp1d, ._ },
30358 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30359 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30360 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30361 } },
30362 }, .{
30363 .required_features = .{ .bmi2, null, null, null },
30364 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
30365 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30366 .patterns = &.{
30367 .{ .src = .{ .to_mem, .none } },
30368 },
30369 .extra_temps = .{
30370 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30371 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30372 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30373 .unused,
30374 .unused,
30375 .unused,
30376 .unused,
30377 .unused,
30378 .unused,
30379 },
30380 .dst_temps = .{.mem},
30381 .clobbers = .{ .eflags = true },
30382 .each = .{ .once = &.{
30383 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30384 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
30385 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), .tmp1d, ._ },
30386 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30387 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30388 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30389 } },
30390 }, .{
30391 .required_features = .{ .slow_incdec, null, null, null },
30392 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
30393 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30394 .patterns = &.{
30395 .{ .src = .{ .to_mem, .none } },
30396 },
30397 .extra_temps = .{
30398 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30399 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30400 .unused,
30401 .unused,
30402 .unused,
30403 .unused,
30404 .unused,
30405 .unused,
30406 .unused,
30407 },
30408 .dst_temps = .{.mem},
30409 .clobbers = .{ .eflags = true },
30410 .each = .{ .once = &.{
30411 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30412 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
30413 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30414 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30415 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30416 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30417 } },
30418 }, .{
30419 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
30420 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30421 .patterns = &.{
30422 .{ .src = .{ .to_mem, .none } },
30423 },
30424 .extra_temps = .{
30425 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30426 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30427 .unused,
30428 .unused,
30429 .unused,
30430 .unused,
30431 .unused,
30432 .unused,
30433 .unused,
30434 },
30435 .dst_temps = .{.mem},
30436 .clobbers = .{ .eflags = true },
30437 .each = .{ .once = &.{
30438 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30439 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
30440 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30441 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30442 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30443 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30444 } },
30445 }, .{
30446 .required_features = .{ .slow_incdec, null, null, null },
30447 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
30448 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30449 .patterns = &.{
30450 .{ .src = .{ .to_mem, .none } },
30451 },
30452 .extra_temps = .{
30453 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30454 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30455 .unused,
30456 .unused,
30457 .unused,
30458 .unused,
30459 .unused,
30460 .unused,
30461 .unused,
30462 },
30463 .dst_temps = .{.mem},
30464 .clobbers = .{ .eflags = true },
30465 .each = .{ .once = &.{
30466 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30467 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
30468 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30469 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30470 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30471 } },
30472 }, .{
30473 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
30474 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30475 .patterns = &.{
30476 .{ .src = .{ .to_mem, .none } },
30477 },
30478 .extra_temps = .{
30479 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30480 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30481 .unused,
30482 .unused,
30483 .unused,
30484 .unused,
30485 .unused,
30486 .unused,
30487 .unused,
30488 },
30489 .dst_temps = .{.mem},
30490 .clobbers = .{ .eflags = true },
30491 .each = .{ .once = &.{
30492 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30493 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
30494 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30495 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30496 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30497 } },
30498 }, .{
30499 .required_features = .{ .slow_incdec, null, null, null },
30500 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
30501 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30502 .patterns = &.{
30503 .{ .src = .{ .to_mem, .none } },
30504 },
30505 .extra_temps = .{
30506 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30507 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30508 .unused,
30509 .unused,
30510 .unused,
30511 .unused,
30512 .unused,
30513 .unused,
30514 .unused,
30515 },
30516 .dst_temps = .{.mem},
30517 .clobbers = .{ .eflags = true },
30518 .each = .{ .once = &.{
30519 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30520 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
30521 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30522 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30523 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30524 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30525 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30526 } },
30527 }, .{
30528 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
30529 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30530 .patterns = &.{
30531 .{ .src = .{ .to_mem, .none } },
30532 },
30533 .extra_temps = .{
30534 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30535 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30536 .unused,
30537 .unused,
30538 .unused,
30539 .unused,
30540 .unused,
30541 .unused,
30542 .unused,
30543 },
30544 .dst_temps = .{.mem},
30545 .clobbers = .{ .eflags = true },
30546 .each = .{ .once = &.{
30547 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30548 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
30549 .{ ._, ._l, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30550 .{ ._, ._r, .sa, .tmp1b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30551 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30552 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30553 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30554 } },
30555 }, .{
30556 .required_features = .{ .bmi2, .slow_incdec, null, null },
30557 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
30558 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30559 .patterns = &.{
30560 .{ .src = .{ .to_mem, .none } },
30561 },
30562 .extra_temps = .{
30563 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30564 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30565 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30566 .unused,
30567 .unused,
30568 .unused,
30569 .unused,
30570 .unused,
30571 .unused,
30572 },
30573 .dst_temps = .{.mem},
30574 .clobbers = .{ .eflags = true },
30575 .each = .{ .once = &.{
30576 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30577 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
30578 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), .tmp1d, ._ },
30579 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30580 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30581 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30582 } },
30583 }, .{
30584 .required_features = .{ .bmi2, null, null, null },
30585 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
30586 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30587 .patterns = &.{
30588 .{ .src = .{ .to_mem, .none } },
30589 },
30590 .extra_temps = .{
30591 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30592 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30593 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30594 .unused,
30595 .unused,
30596 .unused,
30597 .unused,
30598 .unused,
30599 .unused,
30600 },
30601 .dst_temps = .{.mem},
30602 .clobbers = .{ .eflags = true },
30603 .each = .{ .once = &.{
30604 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30605 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
30606 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), .tmp1d, ._ },
30607 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30608 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30609 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30610 } },
30611 }, .{
30612 .required_features = .{ .slow_incdec, null, null, null },
30613 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
30614 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30615 .patterns = &.{
30616 .{ .src = .{ .to_mem, .none } },
30617 },
30618 .extra_temps = .{
30619 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30620 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30621 .unused,
30622 .unused,
30623 .unused,
30624 .unused,
30625 .unused,
30626 .unused,
30627 .unused,
30628 },
30629 .dst_temps = .{.mem},
30630 .clobbers = .{ .eflags = true },
30631 .each = .{ .once = &.{
30632 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30633 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
30634 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30635 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30636 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30637 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30638 } },
30639 }, .{
30640 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
30641 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30642 .patterns = &.{
30643 .{ .src = .{ .to_mem, .none } },
30644 },
30645 .extra_temps = .{
30646 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30647 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30648 .unused,
30649 .unused,
30650 .unused,
30651 .unused,
30652 .unused,
30653 .unused,
30654 .unused,
30655 },
30656 .dst_temps = .{.mem},
30657 .clobbers = .{ .eflags = true },
30658 .each = .{ .once = &.{
30659 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30660 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
30661 .{ ._, ._, .@"and", .tmp1b, .sa(.dst0, .add_umax), ._, ._ },
30662 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
30663 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30664 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30665 } },
30666 }, .{
30667 .required_features = .{ .slow_incdec, null, null, null },
30668 .src_constraints = .{ .any_scalar_int, .any },
30669 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30670 .patterns = &.{
30671 .{ .src = .{ .to_mem, .none } },
30672 },
30673 .extra_temps = .{
30674 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30675 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30676 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30677 .unused,
30678 .unused,
30679 .unused,
30680 .unused,
30681 .unused,
30682 .unused,
30683 },
30684 .dst_temps = .{.mem},
30685 .clobbers = .{ .eflags = true },
30686 .each = .{ .once = &.{
30687 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30688 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30689 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
30690 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30691 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30692 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30693 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30694 } },
30695 }, .{
30696 .src_constraints = .{ .any_scalar_int, .any },
30697 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
30698 .patterns = &.{
30699 .{ .src = .{ .to_mem, .none } },
30700 },
30701 .extra_temps = .{
30702 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30703 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30704 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30705 .unused,
30706 .unused,
30707 .unused,
30708 .unused,
30709 .unused,
30710 .unused,
30711 },
30712 .dst_temps = .{.mem},
30713 .clobbers = .{ .eflags = true },
30714 .each = .{ .once = &.{
30715 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30716 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30717 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
30718 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30719 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30720 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30721 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30722 } },
30723 }, .{
30724 .required_features = .{ .slow_incdec, null, null, null },
30725 .src_constraints = .{ .any_scalar_signed_int, .any },
30726 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30727 .patterns = &.{
30728 .{ .src = .{ .to_mem, .none } },
30729 },
30730 .extra_temps = .{
30731 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30732 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30733 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30734 .unused,
30735 .unused,
30736 .unused,
30737 .unused,
30738 .unused,
30739 .unused,
30740 },
30741 .dst_temps = .{.mem},
30742 .clobbers = .{ .eflags = true },
30743 .each = .{ .once = &.{
30744 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30745 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30746 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
30747 .{ ._, ._l, .sa, .tmp2b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30748 .{ ._, ._r, .sa, .tmp2b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30749 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30750 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30751 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30752 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30753 } },
30754 }, .{
30755 .src_constraints = .{ .any_scalar_signed_int, .any },
30756 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
30757 .patterns = &.{
30758 .{ .src = .{ .to_mem, .none } },
30759 },
30760 .extra_temps = .{
30761 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30762 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30763 .{ .type = .i8, .kind = .{ .rc = .general_purpose } },
30764 .unused,
30765 .unused,
30766 .unused,
30767 .unused,
30768 .unused,
30769 .unused,
30770 },
30771 .dst_temps = .{.mem},
30772 .clobbers = .{ .eflags = true },
30773 .each = .{ .once = &.{
30774 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30775 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30776 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
30777 .{ ._, ._l, .sa, .tmp2b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30778 .{ ._, ._r, .sa, .tmp2b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
30779 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30780 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30781 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30782 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30783 } },
30784 }, .{
30785 .required_features = .{ .bmi2, .slow_incdec, null, null },
30786 .src_constraints = .{ .any_scalar_unsigned_int, .any },
30787 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30788 .patterns = &.{
30789 .{ .src = .{ .to_mem, .none } },
30790 },
30791 .extra_temps = .{
30792 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30793 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30794 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30795 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30796 .unused,
30797 .unused,
30798 .unused,
30799 .unused,
30800 .unused,
30801 },
30802 .dst_temps = .{.mem},
30803 .clobbers = .{ .eflags = true },
30804 .each = .{ .once = &.{
30805 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30806 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30807 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size), ._, ._ },
30808 .{ .@"0:", ._, .bzhi, .tmp3d, .memi(.src0d, .tmp1), .tmp2d, ._ },
30809 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ },
30810 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30811 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30812 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30813 } },
30814 }, .{
30815 .required_features = .{ .bmi2, null, null, null },
30816 .src_constraints = .{ .any_scalar_unsigned_int, .any },
30817 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30818 .patterns = &.{
30819 .{ .src = .{ .to_mem, .none } },
30820 },
30821 .extra_temps = .{
30822 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30823 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30824 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30825 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30826 .unused,
30827 .unused,
30828 .unused,
30829 .unused,
30830 .unused,
30831 },
30832 .dst_temps = .{.mem},
30833 .clobbers = .{ .eflags = true },
30834 .each = .{ .once = &.{
30835 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30836 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30837 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size), ._, ._ },
30838 .{ .@"0:", ._, .bzhi, .tmp3d, .memi(.src0d, .tmp1), .tmp2d, ._ },
30839 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ },
30840 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30841 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30842 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30843 } },
30844 }, .{
30845 .required_features = .{ .slow_incdec, null, null, null },
30846 .src_constraints = .{ .any_scalar_unsigned_int, .any },
30847 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30848 .patterns = &.{
30849 .{ .src = .{ .to_mem, .none } },
30850 },
30851 .extra_temps = .{
30852 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30853 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30854 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30855 .unused,
30856 .unused,
30857 .unused,
30858 .unused,
30859 .unused,
30860 .unused,
30861 },
30862 .dst_temps = .{.mem},
30863 .clobbers = .{ .eflags = true },
30864 .each = .{ .once = &.{
30865 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30866 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30867 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
30868 .{ ._, ._, .@"and", .tmp2b, .sa(.dst0, .add_umax), ._, ._ },
30869 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30870 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30871 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
30872 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30873 } },
30874 }, .{
30875 .src_constraints = .{ .any_scalar_unsigned_int, .any },
30876 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
30877 .patterns = &.{
30878 .{ .src = .{ .to_mem, .none } },
30879 },
30880 .extra_temps = .{
30881 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
30882 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
30883 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
30884 .unused,
30885 .unused,
30886 .unused,
30887 .unused,
30888 .unused,
30889 .unused,
30890 },
30891 .dst_temps = .{.mem},
30892 .clobbers = .{ .eflags = true },
30893 .each = .{ .once = &.{
30894 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
30895 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
30896 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
30897 .{ ._, ._, .@"and", .tmp2b, .sa(.dst0, .add_umax), ._, ._ },
30898 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ },
30899 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
30900 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
30901 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
30902 } },
30903 }, .{
30904 .required_features = .{ .avx, null, null, null },
30905 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
30906 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
30907 .patterns = &.{
30908 .{ .src = .{ .to_sse, .none } },
30909 },
30910 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
30911 .each = .{ .once = &.{
30912 .{ ._, .vp_w, .sll, .dst0x, .src0x, .uia(16, .dst0, .sub_bit_size), ._ },
30913 .{ ._, .vp_w, .sra, .dst0x, .dst0x, .uia(16, .dst0, .sub_bit_size), ._ },
30914 } },
30915 }, .{
30916 .required_features = .{ .avx, null, null, null },
30917 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
30918 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
30919 .patterns = &.{
30920 .{ .src = .{ .to_sse, .none } },
30921 },
30922 .extra_temps = .{
30923 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
30924 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
30925 .unused,
30926 .unused,
30927 .unused,
30928 .unused,
30929 .unused,
30930 .unused,
30931 .unused,
30932 },
30933 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
30934 .each = .{ .once = &.{
30935 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
30936 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
30937 } },
30938 }, .{
30939 .required_features = .{ .sse2, null, null, null },
30940 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
30941 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
30942 .patterns = &.{
30943 .{ .src = .{ .to_mut_sse, .none } },
30944 },
30945 .dst_temps = .{.{ .ref = .src0 }},
30946 .each = .{ .once = &.{
30947 .{ ._, .p_w, .sll, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
30948 .{ ._, .p_w, .sra, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
30949 } },
30950 }, .{
30951 .required_features = .{ .sse2, null, null, null },
30952 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
30953 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
30954 .patterns = &.{
30955 .{ .src = .{ .to_mut_sse, .none } },
30956 },
30957 .extra_temps = .{
30958 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
30959 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
30960 .unused,
30961 .unused,
30962 .unused,
30963 .unused,
30964 .unused,
30965 .unused,
30966 .unused,
30967 },
30968 .dst_temps = .{.{ .ref = .src0 }},
30969 .each = .{ .once = &.{
30970 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
30971 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
30972 } },
30973 }, .{
30974 .required_features = .{ .sse, null, null, null },
30975 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
30976 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
30977 .patterns = &.{
30978 .{ .src = .{ .to_mut_sse, .none } },
30979 },
30980 .extra_temps = .{
30981 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
30982 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
30983 .unused,
30984 .unused,
30985 .unused,
30986 .unused,
30987 .unused,
30988 .unused,
30989 .unused,
30990 },
30991 .dst_temps = .{.{ .ref = .src0 }},
30992 .each = .{ .once = &.{
30993 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
30994 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
30995 } },
30996 }, .{
30997 .required_features = .{ .avx2, null, null, null },
30998 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, .any },
30999 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .word } }},
31000 .patterns = &.{
31001 .{ .src = .{ .to_sse, .none } },
31002 },
31003 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
31004 .each = .{ .once = &.{
31005 .{ ._, .vp_w, .sll, .dst0y, .src0y, .uia(16, .dst0, .sub_bit_size), ._ },
31006 .{ ._, .vp_w, .sra, .dst0y, .dst0y, .uia(16, .dst0, .sub_bit_size), ._ },
31007 } },
31008 }, .{
31009 .required_features = .{ .avx2, null, null, null },
31010 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any },
31011 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }},
31012 .patterns = &.{
31013 .{ .src = .{ .to_sse, .none } },
31014 },
31015 .extra_temps = .{
31016 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
31017 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
31018 .unused,
31019 .unused,
31020 .unused,
31021 .unused,
31022 .unused,
31023 .unused,
31024 .unused,
31025 },
31026 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
31027 .each = .{ .once = &.{
31028 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
31029 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
31030 } },
31031 }, .{
31032 .required_features = .{ .avx2, null, null, null },
31033 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any },
31034 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }},
31035 .patterns = &.{
31036 .{ .src = .{ .to_mem, .none } },
31037 },
31038 .extra_temps = .{
31039 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31040 .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } },
31041 .unused,
31042 .unused,
31043 .unused,
31044 .unused,
31045 .unused,
31046 .unused,
31047 .unused,
31048 },
31049 .dst_temps = .{.mem},
31050 .clobbers = .{ .eflags = true },
31051 .each = .{ .once = &.{
31052 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31053 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
31054 .{ ._, .vp_w, .sll, .tmp1y, .tmp1y, .uia(16, .dst0, .sub_bit_size), ._ },
31055 .{ ._, .vp_w, .sra, .tmp1y, .tmp1y, .uia(16, .dst0, .sub_bit_size), ._ },
31056 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
31057 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
31058 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31059 } },
31060 }, .{
31061 .required_features = .{ .avx2, null, null, null },
31062 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any },
31063 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }},
31064 .patterns = &.{
31065 .{ .src = .{ .to_mem, .none } },
31066 },
31067 .extra_temps = .{
31068 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31069 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
31070 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
31071 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
31072 .unused,
31073 .unused,
31074 .unused,
31075 .unused,
31076 .unused,
31077 },
31078 .dst_temps = .{.mem},
31079 .clobbers = .{ .eflags = true },
31080 .each = .{ .once = &.{
31081 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
31082 .{ ._, .v_dqa, .mov, .tmp1y, .lea(.tmp0y), ._, ._ },
31083 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31084 .{ .@"0:", .vp_, .@"and", .tmp2y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ },
31085 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp2y, ._, ._ },
31086 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
31087 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31088 } },
31089 }, .{
31090 .required_features = .{ .avx, null, null, null },
31091 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
31092 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
31093 .patterns = &.{
31094 .{ .src = .{ .to_mem, .none } },
31095 },
31096 .extra_temps = .{
31097 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31098 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
31099 .unused,
31100 .unused,
31101 .unused,
31102 .unused,
31103 .unused,
31104 .unused,
31105 .unused,
31106 },
31107 .dst_temps = .{.mem},
31108 .clobbers = .{ .eflags = true },
31109 .each = .{ .once = &.{
31110 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31111 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
31112 .{ ._, .vp_w, .sll, .tmp1x, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._ },
31113 .{ ._, .vp_w, .sra, .tmp1x, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._ },
31114 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
31115 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31116 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31117 } },
31118 }, .{
31119 .required_features = .{ .avx, null, null, null },
31120 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
31121 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
31122 .patterns = &.{
31123 .{ .src = .{ .to_mem, .none } },
31124 },
31125 .extra_temps = .{
31126 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31127 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
31128 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
31129 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
31130 .unused,
31131 .unused,
31132 .unused,
31133 .unused,
31134 .unused,
31135 },
31136 .dst_temps = .{.mem},
31137 .clobbers = .{ .eflags = true },
31138 .each = .{ .once = &.{
31139 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
31140 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
31141 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31142 .{ .@"0:", .vp_, .@"and", .tmp2x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ },
31143 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
31144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31146 } },
31147 }, .{
31148 .required_features = .{ .sse2, null, null, null },
31149 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
31150 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
31151 .patterns = &.{
31152 .{ .src = .{ .to_mem, .none } },
31153 },
31154 .extra_temps = .{
31155 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31156 .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } },
31157 .unused,
31158 .unused,
31159 .unused,
31160 .unused,
31161 .unused,
31162 .unused,
31163 .unused,
31164 },
31165 .dst_temps = .{.mem},
31166 .clobbers = .{ .eflags = true },
31167 .each = .{ .once = &.{
31168 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31169 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
31170 .{ ._, .p_w, .sll, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
31171 .{ ._, .p_w, .sra, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
31172 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
31173 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31174 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31175 } },
31176 }, .{
31177 .required_features = .{ .sse2, null, null, null },
31178 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
31179 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
31180 .patterns = &.{
31181 .{ .src = .{ .to_mem, .none } },
31182 },
31183 .extra_temps = .{
31184 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31185 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
31186 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
31187 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
31188 .unused,
31189 .unused,
31190 .unused,
31191 .unused,
31192 .unused,
31193 },
31194 .dst_temps = .{.mem},
31195 .clobbers = .{ .eflags = true },
31196 .each = .{ .once = &.{
31197 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
31198 .{ ._, ._dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
31199 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31200 .{ .@"0:", ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
31201 .{ ._, .p_, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
31202 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
31203 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31204 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31205 } },
31206 }, .{
31207 .required_features = .{ .sse, null, null, null },
31208 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
31209 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
31210 .patterns = &.{
31211 .{ .src = .{ .to_mem, .none } },
31212 },
31213 .extra_temps = .{
31214 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31215 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
31216 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
31217 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
31218 .unused,
31219 .unused,
31220 .unused,
31221 .unused,
31222 .unused,
31223 },
31224 .dst_temps = .{.mem},
31225 .clobbers = .{ .eflags = true },
31226 .each = .{ .once = &.{
31227 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
31228 .{ ._, ._ps, .mova, .tmp1x, .lea(.tmp0x), ._, ._ },
31229 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31230 .{ .@"0:", ._ps, .mova, .tmp2x, .tmp1x, ._, ._ },
31231 .{ ._, ._ps, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
31232 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
31233 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31234 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31235 } },
31236 }, .{
31237 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
31238 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
31239 .patterns = &.{
31240 .{ .src = .{ .to_mem, .none } },
31241 },
31242 .extra_temps = .{
31243 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31244 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31245 .unused,
31246 .unused,
31247 .unused,
31248 .unused,
31249 .unused,
31250 .unused,
31251 .unused,
31252 },
31253 .dst_temps = .{.mem},
31254 .clobbers = .{ .eflags = true },
31255 .each = .{ .once = &.{
31256 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31257 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
31258 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31259 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31260 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31261 } },
31262 }, .{
31263 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
31264 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
31265 .patterns = &.{
31266 .{ .src = .{ .to_mem, .none } },
31267 },
31268 .extra_temps = .{
31269 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31270 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
31271 .unused,
31272 .unused,
31273 .unused,
31274 .unused,
31275 .unused,
31276 .unused,
31277 .unused,
31278 },
31279 .dst_temps = .{.mem},
31280 .clobbers = .{ .eflags = true },
31281 .each = .{ .once = &.{
31282 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31283 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
31284 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31285 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31286 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31287 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31288 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31289 } },
31290 }, .{
31291 .required_features = .{ .fast_imm16, null, null, null },
31292 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
31293 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31294 .patterns = &.{
31295 .{ .src = .{ .to_mem, .none } },
31296 },
31297 .extra_temps = .{
31298 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31299 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31300 .unused,
31301 .unused,
31302 .unused,
31303 .unused,
31304 .unused,
31305 .unused,
31306 .unused,
31307 },
31308 .dst_temps = .{.mem},
31309 .clobbers = .{ .eflags = true },
31310 .each = .{ .once = &.{
31311 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31312 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
31313 .{ ._, ._, .@"and", .tmp1w, .sa(.dst0, .add_umax), ._, ._ },
31314 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31315 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31316 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31317 } },
31318 }, .{
31319 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
31320 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31321 .patterns = &.{
31322 .{ .src = .{ .to_mem, .none } },
31323 },
31324 .extra_temps = .{
31325 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31326 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31327 .unused,
31328 .unused,
31329 .unused,
31330 .unused,
31331 .unused,
31332 .unused,
31333 .unused,
31334 },
31335 .dst_temps = .{.mem},
31336 .clobbers = .{ .eflags = true },
31337 .each = .{ .once = &.{
31338 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31339 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
31340 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
31341 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31342 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31343 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31344 } },
31345 }, .{
31346 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
31347 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
31348 .patterns = &.{
31349 .{ .src = .{ .to_mem, .none } },
31350 },
31351 .extra_temps = .{
31352 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31353 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31354 .unused,
31355 .unused,
31356 .unused,
31357 .unused,
31358 .unused,
31359 .unused,
31360 .unused,
31361 },
31362 .dst_temps = .{.mem},
31363 .clobbers = .{ .eflags = true },
31364 .each = .{ .once = &.{
31365 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31366 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
31367 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31368 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31369 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31370 } },
31371 }, .{
31372 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
31373 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
31374 .patterns = &.{
31375 .{ .src = .{ .to_mem, .none } },
31376 },
31377 .extra_temps = .{
31378 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31379 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
31380 .unused,
31381 .unused,
31382 .unused,
31383 .unused,
31384 .unused,
31385 .unused,
31386 .unused,
31387 },
31388 .dst_temps = .{.mem},
31389 .clobbers = .{ .eflags = true },
31390 .each = .{ .once = &.{
31391 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31392 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
31393 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31394 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31395 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31396 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31397 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31398 } },
31399 }, .{
31400 .required_features = .{ .bmi2, null, null, null },
31401 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
31402 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31403 .patterns = &.{
31404 .{ .src = .{ .to_mem, .none } },
31405 },
31406 .extra_temps = .{
31407 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31408 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
31409 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31410 .unused,
31411 .unused,
31412 .unused,
31413 .unused,
31414 .unused,
31415 .unused,
31416 },
31417 .dst_temps = .{.mem},
31418 .clobbers = .{ .eflags = true },
31419 .each = .{ .once = &.{
31420 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31421 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
31422 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), .tmp1d, ._ },
31423 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31424 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31425 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31426 } },
31427 }, .{
31428 .required_features = .{ .fast_imm16, null, null, null },
31429 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
31430 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31431 .patterns = &.{
31432 .{ .src = .{ .to_mem, .none } },
31433 },
31434 .extra_temps = .{
31435 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31436 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31437 .unused,
31438 .unused,
31439 .unused,
31440 .unused,
31441 .unused,
31442 .unused,
31443 .unused,
31444 },
31445 .dst_temps = .{.mem},
31446 .clobbers = .{ .eflags = true },
31447 .each = .{ .once = &.{
31448 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31449 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
31450 .{ ._, ._, .@"and", .tmp1w, .sa(.dst0, .add_umax), ._, ._ },
31451 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31452 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31453 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31454 } },
31455 }, .{
31456 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
31457 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31458 .patterns = &.{
31459 .{ .src = .{ .to_mem, .none } },
31460 },
31461 .extra_temps = .{
31462 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31463 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31464 .unused,
31465 .unused,
31466 .unused,
31467 .unused,
31468 .unused,
31469 .unused,
31470 .unused,
31471 },
31472 .dst_temps = .{.mem},
31473 .clobbers = .{ .eflags = true },
31474 .each = .{ .once = &.{
31475 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31476 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
31477 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
31478 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31479 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31480 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31481 } },
31482 }, .{
31483 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
31484 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
31485 .patterns = &.{
31486 .{ .src = .{ .to_mem, .none } },
31487 },
31488 .extra_temps = .{
31489 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31490 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31491 .unused,
31492 .unused,
31493 .unused,
31494 .unused,
31495 .unused,
31496 .unused,
31497 .unused,
31498 },
31499 .dst_temps = .{.mem},
31500 .clobbers = .{ .eflags = true },
31501 .each = .{ .once = &.{
31502 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31503 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
31504 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31505 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31506 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31507 } },
31508 }, .{
31509 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
31510 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
31511 .patterns = &.{
31512 .{ .src = .{ .to_mem, .none } },
31513 },
31514 .extra_temps = .{
31515 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31516 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
31517 .unused,
31518 .unused,
31519 .unused,
31520 .unused,
31521 .unused,
31522 .unused,
31523 .unused,
31524 },
31525 .dst_temps = .{.mem},
31526 .clobbers = .{ .eflags = true },
31527 .each = .{ .once = &.{
31528 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31529 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
31530 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31531 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31532 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31533 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31534 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31535 } },
31536 }, .{
31537 .required_features = .{ .bmi2, null, null, null },
31538 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
31539 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31540 .patterns = &.{
31541 .{ .src = .{ .to_mem, .none } },
31542 },
31543 .extra_temps = .{
31544 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31545 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
31546 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31547 .unused,
31548 .unused,
31549 .unused,
31550 .unused,
31551 .unused,
31552 .unused,
31553 },
31554 .dst_temps = .{.mem},
31555 .clobbers = .{ .eflags = true },
31556 .each = .{ .once = &.{
31557 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31558 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
31559 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), .tmp1d, ._ },
31560 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31561 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31562 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31563 } },
31564 }, .{
31565 .required_features = .{ .fast_imm16, null, null, null },
31566 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
31567 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31568 .patterns = &.{
31569 .{ .src = .{ .to_mem, .none } },
31570 },
31571 .extra_temps = .{
31572 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31573 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31574 .unused,
31575 .unused,
31576 .unused,
31577 .unused,
31578 .unused,
31579 .unused,
31580 .unused,
31581 },
31582 .dst_temps = .{.mem},
31583 .clobbers = .{ .eflags = true },
31584 .each = .{ .once = &.{
31585 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31586 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
31587 .{ ._, ._, .@"and", .tmp1w, .sa(.dst0, .add_umax), ._, ._ },
31588 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31589 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31590 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31591 } },
31592 }, .{
31593 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
31594 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31595 .patterns = &.{
31596 .{ .src = .{ .to_mem, .none } },
31597 },
31598 .extra_temps = .{
31599 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31600 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31601 .unused,
31602 .unused,
31603 .unused,
31604 .unused,
31605 .unused,
31606 .unused,
31607 .unused,
31608 },
31609 .dst_temps = .{.mem},
31610 .clobbers = .{ .eflags = true },
31611 .each = .{ .once = &.{
31612 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31613 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
31614 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
31615 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31616 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31617 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31618 } },
31619 }, .{
31620 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any },
31621 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
31622 .patterns = &.{
31623 .{ .src = .{ .to_mem, .none } },
31624 },
31625 .extra_temps = .{
31626 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31627 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31628 .unused,
31629 .unused,
31630 .unused,
31631 .unused,
31632 .unused,
31633 .unused,
31634 .unused,
31635 },
31636 .dst_temps = .{.mem},
31637 .clobbers = .{ .eflags = true },
31638 .each = .{ .once = &.{
31639 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31640 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
31641 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31642 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31643 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31644 } },
31645 }, .{
31646 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
31647 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
31648 .patterns = &.{
31649 .{ .src = .{ .to_mem, .none } },
31650 },
31651 .extra_temps = .{
31652 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31653 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
31654 .unused,
31655 .unused,
31656 .unused,
31657 .unused,
31658 .unused,
31659 .unused,
31660 .unused,
31661 },
31662 .dst_temps = .{.mem},
31663 .clobbers = .{ .eflags = true },
31664 .each = .{ .once = &.{
31665 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31666 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
31667 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31668 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31669 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31670 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31671 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31672 } },
31673 }, .{
31674 .required_features = .{ .bmi2, null, null, null },
31675 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
31676 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31677 .patterns = &.{
31678 .{ .src = .{ .to_mem, .none } },
31679 },
31680 .extra_temps = .{
31681 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31682 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
31683 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31684 .unused,
31685 .unused,
31686 .unused,
31687 .unused,
31688 .unused,
31689 .unused,
31690 },
31691 .dst_temps = .{.mem},
31692 .clobbers = .{ .eflags = true },
31693 .each = .{ .once = &.{
31694 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31695 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
31696 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), .tmp1d, ._ },
31697 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31698 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31699 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31700 } },
31701 }, .{
31702 .required_features = .{ .fast_imm16, null, null, null },
31703 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
31704 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31705 .patterns = &.{
31706 .{ .src = .{ .to_mem, .none } },
31707 },
31708 .extra_temps = .{
31709 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31710 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31711 .unused,
31712 .unused,
31713 .unused,
31714 .unused,
31715 .unused,
31716 .unused,
31717 .unused,
31718 },
31719 .dst_temps = .{.mem},
31720 .clobbers = .{ .eflags = true },
31721 .each = .{ .once = &.{
31722 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31723 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
31724 .{ ._, ._, .@"and", .tmp1w, .sa(.dst0, .add_umax), ._, ._ },
31725 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31726 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31727 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31728 } },
31729 }, .{
31730 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
31731 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31732 .patterns = &.{
31733 .{ .src = .{ .to_mem, .none } },
31734 },
31735 .extra_temps = .{
31736 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31737 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31738 .unused,
31739 .unused,
31740 .unused,
31741 .unused,
31742 .unused,
31743 .unused,
31744 .unused,
31745 },
31746 .dst_temps = .{.mem},
31747 .clobbers = .{ .eflags = true },
31748 .each = .{ .once = &.{
31749 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31750 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
31751 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
31752 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
31753 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31754 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31755 } },
31756 }, .{
31757 .src_constraints = .{ .any_scalar_int, .any },
31758 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
31759 .patterns = &.{
31760 .{ .src = .{ .to_mem, .none } },
31761 },
31762 .extra_temps = .{
31763 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31764 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
31765 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31766 .unused,
31767 .unused,
31768 .unused,
31769 .unused,
31770 .unused,
31771 .unused,
31772 },
31773 .dst_temps = .{.mem},
31774 .clobbers = .{ .eflags = true },
31775 .each = .{ .once = &.{
31776 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31777 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
31778 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
31779 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31780 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
31781 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31782 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31783 } },
31784 }, .{
31785 .src_constraints = .{ .any_scalar_signed_int, .any },
31786 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
31787 .patterns = &.{
31788 .{ .src = .{ .to_mem, .none } },
31789 },
31790 .extra_temps = .{
31791 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31792 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
31793 .{ .type = .i16, .kind = .{ .rc = .general_purpose } },
31794 .unused,
31795 .unused,
31796 .unused,
31797 .unused,
31798 .unused,
31799 .unused,
31800 },
31801 .dst_temps = .{.mem},
31802 .clobbers = .{ .eflags = true },
31803 .each = .{ .once = &.{
31804 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31805 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
31806 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
31807 .{ ._, ._l, .sa, .tmp2d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31808 .{ ._, ._r, .sa, .tmp2d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31809 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31810 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
31811 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31812 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31813 } },
31814 }, .{
31815 .required_features = .{ .bmi2, null, null, null },
31816 .src_constraints = .{ .any_scalar_unsigned_int, .any },
31817 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31818 .patterns = &.{
31819 .{ .src = .{ .to_mem, .none } },
31820 },
31821 .extra_temps = .{
31822 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31823 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
31824 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
31825 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31826 .unused,
31827 .unused,
31828 .unused,
31829 .unused,
31830 .unused,
31831 },
31832 .dst_temps = .{.mem},
31833 .clobbers = .{ .eflags = true },
31834 .each = .{ .once = &.{
31835 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31836 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
31837 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size), ._, ._ },
31838 .{ .@"0:", ._, .bzhi, .tmp3d, .memi(.src0d, .tmp1), .tmp2d, ._ },
31839 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ },
31840 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
31841 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31842 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31843 } },
31844 }, .{
31845 .required_features = .{ .fast_imm16, null, null, null },
31846 .src_constraints = .{ .any_scalar_unsigned_int, .any },
31847 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31848 .patterns = &.{
31849 .{ .src = .{ .to_mem, .none } },
31850 },
31851 .extra_temps = .{
31852 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31853 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
31854 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31855 .unused,
31856 .unused,
31857 .unused,
31858 .unused,
31859 .unused,
31860 .unused,
31861 },
31862 .dst_temps = .{.mem},
31863 .clobbers = .{ .eflags = true },
31864 .each = .{ .once = &.{
31865 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31866 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
31867 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
31868 .{ ._, ._, .@"and", .tmp2w, .sa(.dst0, .add_umax), ._, ._ },
31869 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31870 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
31871 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31872 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31873 } },
31874 }, .{
31875 .src_constraints = .{ .any_scalar_unsigned_int, .any },
31876 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
31877 .patterns = &.{
31878 .{ .src = .{ .to_mem, .none } },
31879 },
31880 .extra_temps = .{
31881 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
31882 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
31883 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
31884 .unused,
31885 .unused,
31886 .unused,
31887 .unused,
31888 .unused,
31889 .unused,
31890 },
31891 .dst_temps = .{.mem},
31892 .clobbers = .{ .eflags = true },
31893 .each = .{ .once = &.{
31894 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
31895 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
31896 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
31897 .{ ._, ._, .@"and", .tmp2d, .sa(.dst0, .add_umax), ._, ._ },
31898 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
31899 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
31900 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
31901 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31902 } },
31903 }, .{
31904 .required_features = .{ .avx, null, null, null },
31905 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
31906 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
31907 .patterns = &.{
31908 .{ .src = .{ .to_sse, .none } },
31909 },
31910 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
31911 .each = .{ .once = &.{
31912 .{ ._, .vp_d, .sll, .dst0x, .src0x, .uia(32, .dst0, .sub_bit_size), ._ },
31913 .{ ._, .vp_d, .sra, .dst0x, .dst0x, .uia(32, .dst0, .sub_bit_size), ._ },
31914 } },
31915 }, .{
31916 .required_features = .{ .avx, null, null, null },
31917 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
31918 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
31919 .patterns = &.{
31920 .{ .src = .{ .to_sse, .none } },
31921 },
31922 .extra_temps = .{
31923 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
31924 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
31925 .unused,
31926 .unused,
31927 .unused,
31928 .unused,
31929 .unused,
31930 .unused,
31931 .unused,
31932 },
31933 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
31934 .each = .{ .once = &.{
31935 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
31936 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
31937 } },
31938 }, .{
31939 .required_features = .{ .sse2, null, null, null },
31940 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
31941 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
31942 .patterns = &.{
31943 .{ .src = .{ .to_mut_sse, .none } },
31944 },
31945 .dst_temps = .{.{ .ref = .src0 }},
31946 .each = .{ .once = &.{
31947 .{ ._, .p_d, .sll, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31948 .{ ._, .p_d, .sra, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },
31949 } },
31950 }, .{
31951 .required_features = .{ .sse2, null, null, null },
31952 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
31953 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
31954 .patterns = &.{
31955 .{ .src = .{ .to_mut_sse, .none } },
31956 },
31957 .extra_temps = .{
31958 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
31959 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
31960 .unused,
31961 .unused,
31962 .unused,
31963 .unused,
31964 .unused,
31965 .unused,
31966 .unused,
31967 },
31968 .dst_temps = .{.{ .ref = .src0 }},
31969 .each = .{ .once = &.{
31970 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
31971 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
31972 } },
31973 }, .{
31974 .required_features = .{ .sse, null, null, null },
31975 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
31976 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
31977 .patterns = &.{
31978 .{ .src = .{ .to_mut_sse, .none } },
31979 },
31980 .extra_temps = .{
31981 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
31982 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
31983 .unused,
31984 .unused,
31985 .unused,
31986 .unused,
31987 .unused,
31988 .unused,
31989 .unused,
31990 },
31991 .dst_temps = .{.{ .ref = .src0 }},
31992 .each = .{ .once = &.{
31993 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
31994 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
31995 } },
31996 }, .{
31997 .required_features = .{ .avx2, null, null, null },
31998 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
31999 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }},
32000 .patterns = &.{
32001 .{ .src = .{ .to_sse, .none } },
32002 },
32003 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
32004 .each = .{ .once = &.{
32005 .{ ._, .vp_d, .sll, .dst0y, .src0y, .uia(32, .dst0, .sub_bit_size), ._ },
32006 .{ ._, .vp_d, .sra, .dst0y, .dst0y, .uia(32, .dst0, .sub_bit_size), ._ },
32007 } },
32008 }, .{
32009 .required_features = .{ .avx2, null, null, null },
32010 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any },
32011 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }},
32012 .patterns = &.{
32013 .{ .src = .{ .to_sse, .none } },
32014 },
32015 .extra_temps = .{
32016 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32017 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
32018 .unused,
32019 .unused,
32020 .unused,
32021 .unused,
32022 .unused,
32023 .unused,
32024 .unused,
32025 },
32026 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
32027 .each = .{ .once = &.{
32028 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32029 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
32030 } },
32031 }, .{
32032 .required_features = .{ .avx2, null, null, null },
32033 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
32034 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
32035 .patterns = &.{
32036 .{ .src = .{ .to_mem, .none } },
32037 },
32038 .extra_temps = .{
32039 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32040 .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } },
32041 .unused,
32042 .unused,
32043 .unused,
32044 .unused,
32045 .unused,
32046 .unused,
32047 .unused,
32048 },
32049 .dst_temps = .{.mem},
32050 .clobbers = .{ .eflags = true },
32051 .each = .{ .once = &.{
32052 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32053 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
32054 .{ ._, .vp_d, .sll, .tmp1y, .tmp1y, .uia(16, .dst0, .sub_bit_size), ._ },
32055 .{ ._, .vp_d, .sra, .tmp1y, .tmp1y, .uia(16, .dst0, .sub_bit_size), ._ },
32056 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
32057 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
32058 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32059 } },
32060 }, .{
32061 .required_features = .{ .avx2, null, null, null },
32062 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any },
32063 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }},
32064 .patterns = &.{
32065 .{ .src = .{ .to_mem, .none } },
32066 },
32067 .extra_temps = .{
32068 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32069 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
32070 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
32071 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32072 .unused,
32073 .unused,
32074 .unused,
32075 .unused,
32076 .unused,
32077 },
32078 .dst_temps = .{.mem},
32079 .clobbers = .{ .eflags = true },
32080 .each = .{ .once = &.{
32081 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
32082 .{ ._, .v_dqa, .mov, .tmp1y, .lea(.tmp0y), ._, ._ },
32083 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32084 .{ .@"0:", .vp_, .@"and", .tmp2y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ },
32085 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp2y, ._, ._ },
32086 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
32087 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32088 } },
32089 }, .{
32090 .required_features = .{ .avx, null, null, null },
32091 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
32092 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
32093 .patterns = &.{
32094 .{ .src = .{ .to_mem, .none } },
32095 },
32096 .extra_temps = .{
32097 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32098 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
32099 .unused,
32100 .unused,
32101 .unused,
32102 .unused,
32103 .unused,
32104 .unused,
32105 .unused,
32106 },
32107 .dst_temps = .{.mem},
32108 .clobbers = .{ .eflags = true },
32109 .each = .{ .once = &.{
32110 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32111 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
32112 .{ ._, .vp_d, .sll, .tmp1x, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._ },
32113 .{ ._, .vp_d, .sra, .tmp1x, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._ },
32114 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
32115 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
32116 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32117 } },
32118 }, .{
32119 .required_features = .{ .avx, null, null, null },
32120 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
32121 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
32122 .patterns = &.{
32123 .{ .src = .{ .to_mem, .none } },
32124 },
32125 .extra_temps = .{
32126 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32127 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
32128 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
32129 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32130 .unused,
32131 .unused,
32132 .unused,
32133 .unused,
32134 .unused,
32135 },
32136 .dst_temps = .{.mem},
32137 .clobbers = .{ .eflags = true },
32138 .each = .{ .once = &.{
32139 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
32140 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
32141 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32142 .{ .@"0:", .vp_, .@"and", .tmp2x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ },
32143 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
32144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
32145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32146 } },
32147 }, .{
32148 .required_features = .{ .sse2, null, null, null },
32149 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
32150 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
32151 .patterns = &.{
32152 .{ .src = .{ .to_mem, .none } },
32153 },
32154 .extra_temps = .{
32155 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32156 .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } },
32157 .unused,
32158 .unused,
32159 .unused,
32160 .unused,
32161 .unused,
32162 .unused,
32163 .unused,
32164 },
32165 .dst_temps = .{.mem},
32166 .clobbers = .{ .eflags = true },
32167 .each = .{ .once = &.{
32168 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32169 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
32170 .{ ._, .p_d, .sll, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
32171 .{ ._, .p_d, .sra, .tmp1x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
32172 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
32173 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
32174 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32175 } },
32176 }, .{
32177 .required_features = .{ .sse2, null, null, null },
32178 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
32179 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
32180 .patterns = &.{
32181 .{ .src = .{ .to_mem, .none } },
32182 },
32183 .extra_temps = .{
32184 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32185 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
32186 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
32187 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32188 .unused,
32189 .unused,
32190 .unused,
32191 .unused,
32192 .unused,
32193 },
32194 .dst_temps = .{.mem},
32195 .clobbers = .{ .eflags = true },
32196 .each = .{ .once = &.{
32197 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
32198 .{ ._, ._dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
32199 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32200 .{ .@"0:", ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
32201 .{ ._, .p_, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
32202 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
32203 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
32204 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32205 } },
32206 }, .{
32207 .required_features = .{ .sse, null, null, null },
32208 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
32209 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
32210 .patterns = &.{
32211 .{ .src = .{ .to_mem, .none } },
32212 },
32213 .extra_temps = .{
32214 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32215 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
32216 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
32217 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32218 .unused,
32219 .unused,
32220 .unused,
32221 .unused,
32222 .unused,
32223 },
32224 .dst_temps = .{.mem},
32225 .clobbers = .{ .eflags = true },
32226 .each = .{ .once = &.{
32227 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
32228 .{ ._, ._ps, .mova, .tmp1x, .lea(.tmp0x), ._, ._ },
32229 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32230 .{ .@"0:", ._ps, .mova, .tmp2x, .tmp1x, ._, ._ },
32231 .{ ._, ._ps, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
32232 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
32233 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
32234 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32235 } },
32236 }, .{
32237 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
32238 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
32239 .patterns = &.{
32240 .{ .src = .{ .to_mem, .none } },
32241 },
32242 .extra_temps = .{
32243 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32244 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32245 .unused,
32246 .unused,
32247 .unused,
32248 .unused,
32249 .unused,
32250 .unused,
32251 .unused,
32252 },
32253 .dst_temps = .{.mem},
32254 .clobbers = .{ .eflags = true },
32255 .each = .{ .once = &.{
32256 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32257 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
32258 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32259 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32260 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32261 } },
32262 }, .{
32263 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
32264 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
32265 .patterns = &.{
32266 .{ .src = .{ .to_mem, .none } },
32267 },
32268 .extra_temps = .{
32269 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32270 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
32271 .unused,
32272 .unused,
32273 .unused,
32274 .unused,
32275 .unused,
32276 .unused,
32277 .unused,
32278 },
32279 .dst_temps = .{.mem},
32280 .clobbers = .{ .eflags = true },
32281 .each = .{ .once = &.{
32282 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32283 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
32284 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32285 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32286 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32287 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32288 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32289 } },
32290 }, .{
32291 .required_features = .{ .bmi2, null, null, null },
32292 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
32293 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32294 .patterns = &.{
32295 .{ .src = .{ .to_mem, .none } },
32296 },
32297 .extra_temps = .{
32298 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32299 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
32300 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32301 .unused,
32302 .unused,
32303 .unused,
32304 .unused,
32305 .unused,
32306 .unused,
32307 },
32308 .dst_temps = .{.mem},
32309 .clobbers = .{ .eflags = true },
32310 .each = .{ .once = &.{
32311 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32312 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
32313 .{ .@"0:", ._, .bzhi, .tmp2d, .memia(.src0d, .tmp0, .add_unaligned_size), .tmp1d, ._ },
32314 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32315 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32316 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32317 } },
32318 }, .{
32319 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
32320 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32321 .patterns = &.{
32322 .{ .src = .{ .to_mem, .none } },
32323 },
32324 .extra_temps = .{
32325 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32326 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32327 .unused,
32328 .unused,
32329 .unused,
32330 .unused,
32331 .unused,
32332 .unused,
32333 .unused,
32334 },
32335 .dst_temps = .{.mem},
32336 .clobbers = .{ .eflags = true },
32337 .each = .{ .once = &.{
32338 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32339 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
32340 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
32341 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32342 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32343 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32344 } },
32345 }, .{
32346 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
32347 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
32348 .patterns = &.{
32349 .{ .src = .{ .to_mem, .none } },
32350 },
32351 .extra_temps = .{
32352 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32353 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32354 .unused,
32355 .unused,
32356 .unused,
32357 .unused,
32358 .unused,
32359 .unused,
32360 .unused,
32361 },
32362 .dst_temps = .{.mem},
32363 .clobbers = .{ .eflags = true },
32364 .each = .{ .once = &.{
32365 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32366 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
32367 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32368 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32369 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32370 } },
32371 }, .{
32372 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
32373 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
32374 .patterns = &.{
32375 .{ .src = .{ .to_mem, .none } },
32376 },
32377 .extra_temps = .{
32378 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32379 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
32380 .unused,
32381 .unused,
32382 .unused,
32383 .unused,
32384 .unused,
32385 .unused,
32386 .unused,
32387 },
32388 .dst_temps = .{.mem},
32389 .clobbers = .{ .eflags = true },
32390 .each = .{ .once = &.{
32391 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32392 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
32393 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32394 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32395 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32396 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32397 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32398 } },
32399 }, .{
32400 .required_features = .{ .bmi2, null, null, null },
32401 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
32402 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32403 .patterns = &.{
32404 .{ .src = .{ .to_mem, .none } },
32405 },
32406 .extra_temps = .{
32407 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32408 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
32409 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32410 .unused,
32411 .unused,
32412 .unused,
32413 .unused,
32414 .unused,
32415 .unused,
32416 },
32417 .dst_temps = .{.mem},
32418 .clobbers = .{ .eflags = true },
32419 .each = .{ .once = &.{
32420 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32421 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
32422 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), .tmp1d, ._ },
32423 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32424 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32425 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32426 } },
32427 }, .{
32428 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
32429 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32430 .patterns = &.{
32431 .{ .src = .{ .to_mem, .none } },
32432 },
32433 .extra_temps = .{
32434 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32435 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32436 .unused,
32437 .unused,
32438 .unused,
32439 .unused,
32440 .unused,
32441 .unused,
32442 .unused,
32443 },
32444 .dst_temps = .{.mem},
32445 .clobbers = .{ .eflags = true },
32446 .each = .{ .once = &.{
32447 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32448 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
32449 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
32450 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32451 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32452 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32453 } },
32454 }, .{
32455 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any },
32456 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
32457 .patterns = &.{
32458 .{ .src = .{ .to_mem, .none } },
32459 },
32460 .extra_temps = .{
32461 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32462 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32463 .unused,
32464 .unused,
32465 .unused,
32466 .unused,
32467 .unused,
32468 .unused,
32469 .unused,
32470 },
32471 .dst_temps = .{.mem},
32472 .clobbers = .{ .eflags = true },
32473 .each = .{ .once = &.{
32474 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32475 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
32476 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32477 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32478 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32479 } },
32480 }, .{
32481 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
32482 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
32483 .patterns = &.{
32484 .{ .src = .{ .to_mem, .none } },
32485 },
32486 .extra_temps = .{
32487 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32488 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
32489 .unused,
32490 .unused,
32491 .unused,
32492 .unused,
32493 .unused,
32494 .unused,
32495 .unused,
32496 },
32497 .dst_temps = .{.mem},
32498 .clobbers = .{ .eflags = true },
32499 .each = .{ .once = &.{
32500 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32501 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
32502 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32503 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32504 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32505 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32506 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32507 } },
32508 }, .{
32509 .required_features = .{ .bmi2, null, null, null },
32510 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
32511 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32512 .patterns = &.{
32513 .{ .src = .{ .to_mem, .none } },
32514 },
32515 .extra_temps = .{
32516 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32517 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
32518 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32519 .unused,
32520 .unused,
32521 .unused,
32522 .unused,
32523 .unused,
32524 .unused,
32525 },
32526 .dst_temps = .{.mem},
32527 .clobbers = .{ .eflags = true },
32528 .each = .{ .once = &.{
32529 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32530 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
32531 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), .tmp1d, ._ },
32532 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32533 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32534 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32535 } },
32536 }, .{
32537 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
32538 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32539 .patterns = &.{
32540 .{ .src = .{ .to_mem, .none } },
32541 },
32542 .extra_temps = .{
32543 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32544 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32545 .unused,
32546 .unused,
32547 .unused,
32548 .unused,
32549 .unused,
32550 .unused,
32551 .unused,
32552 },
32553 .dst_temps = .{.mem},
32554 .clobbers = .{ .eflags = true },
32555 .each = .{ .once = &.{
32556 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32557 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
32558 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
32559 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32560 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32561 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32562 } },
32563 }, .{
32564 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any },
32565 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
32566 .patterns = &.{
32567 .{ .src = .{ .to_mem, .none } },
32568 },
32569 .extra_temps = .{
32570 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32571 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32572 .unused,
32573 .unused,
32574 .unused,
32575 .unused,
32576 .unused,
32577 .unused,
32578 .unused,
32579 },
32580 .dst_temps = .{.mem},
32581 .clobbers = .{ .eflags = true },
32582 .each = .{ .once = &.{
32583 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32584 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
32585 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32586 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32587 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32588 } },
32589 }, .{
32590 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .yword } }, .any },
32591 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
32592 .patterns = &.{
32593 .{ .src = .{ .to_mem, .none } },
32594 },
32595 .extra_temps = .{
32596 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32597 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
32598 .unused,
32599 .unused,
32600 .unused,
32601 .unused,
32602 .unused,
32603 .unused,
32604 .unused,
32605 },
32606 .dst_temps = .{.mem},
32607 .clobbers = .{ .eflags = true },
32608 .each = .{ .once = &.{
32609 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32610 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
32611 .{ ._, ._l, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32612 .{ ._, ._r, .sa, .tmp1d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32613 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32614 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32615 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32616 } },
32617 }, .{
32618 .required_features = .{ .bmi2, null, null, null },
32619 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any },
32620 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32621 .patterns = &.{
32622 .{ .src = .{ .to_mem, .none } },
32623 },
32624 .extra_temps = .{
32625 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32626 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
32627 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32628 .unused,
32629 .unused,
32630 .unused,
32631 .unused,
32632 .unused,
32633 .unused,
32634 },
32635 .dst_temps = .{.mem},
32636 .clobbers = .{ .eflags = true },
32637 .each = .{ .once = &.{
32638 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32639 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
32640 .{ .@"0:", ._, .bzhi, .tmp2d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), .tmp1d, ._ },
32641 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32642 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32643 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32644 } },
32645 }, .{
32646 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any },
32647 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32648 .patterns = &.{
32649 .{ .src = .{ .to_mem, .none } },
32650 },
32651 .extra_temps = .{
32652 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32653 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32654 .unused,
32655 .unused,
32656 .unused,
32657 .unused,
32658 .unused,
32659 .unused,
32660 .unused,
32661 },
32662 .dst_temps = .{.mem},
32663 .clobbers = .{ .eflags = true },
32664 .each = .{ .once = &.{
32665 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32666 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },
32667 .{ ._, ._, .@"and", .tmp1d, .sa(.dst0, .add_umax), ._, ._ },
32668 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
32669 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32670 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32671 } },
32672 }, .{
32673 .src_constraints = .{ .any_scalar_int, .any },
32674 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
32675 .patterns = &.{
32676 .{ .src = .{ .to_mem, .none } },
32677 },
32678 .extra_temps = .{
32679 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32680 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32681 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32682 .unused,
32683 .unused,
32684 .unused,
32685 .unused,
32686 .unused,
32687 .unused,
32688 },
32689 .dst_temps = .{.mem},
32690 .clobbers = .{ .eflags = true },
32691 .each = .{ .once = &.{
32692 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32693 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
32694 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
32695 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32696 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
32697 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32698 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32699 } },
32700 }, .{
32701 .src_constraints = .{ .any_scalar_signed_int, .any },
32702 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
32703 .patterns = &.{
32704 .{ .src = .{ .to_mem, .none } },
32705 },
32706 .extra_temps = .{
32707 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32708 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32709 .{ .type = .i32, .kind = .{ .rc = .general_purpose } },
32710 .unused,
32711 .unused,
32712 .unused,
32713 .unused,
32714 .unused,
32715 .unused,
32716 },
32717 .dst_temps = .{.mem},
32718 .clobbers = .{ .eflags = true },
32719 .each = .{ .once = &.{
32720 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32721 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
32722 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
32723 .{ ._, ._l, .sa, .tmp2d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32724 .{ ._, ._r, .sa, .tmp2d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
32725 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32726 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
32727 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32728 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32729 } },
32730 }, .{
32731 .required_features = .{ .bmi2, null, null, null },
32732 .src_constraints = .{ .any_scalar_unsigned_int, .any },
32733 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32734 .patterns = &.{
32735 .{ .src = .{ .to_mem, .none } },
32736 },
32737 .extra_temps = .{
32738 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32739 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32740 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
32741 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32742 .unused,
32743 .unused,
32744 .unused,
32745 .unused,
32746 .unused,
32747 },
32748 .dst_temps = .{.mem},
32749 .clobbers = .{ .eflags = true },
32750 .each = .{ .once = &.{
32751 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32752 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
32753 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size), ._, ._ },
32754 .{ .@"0:", ._, .bzhi, .tmp3d, .memi(.src0d, .tmp1), .tmp2d, ._ },
32755 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ },
32756 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
32757 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32758 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32759 } },
32760 }, .{
32761 .src_constraints = .{ .any_scalar_unsigned_int, .any },
32762 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
32763 .patterns = &.{
32764 .{ .src = .{ .to_mem, .none } },
32765 },
32766 .extra_temps = .{
32767 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32768 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32769 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
32770 .unused,
32771 .unused,
32772 .unused,
32773 .unused,
32774 .unused,
32775 .unused,
32776 },
32777 .dst_temps = .{.mem},
32778 .clobbers = .{ .eflags = true },
32779 .each = .{ .once = &.{
32780 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32781 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
32782 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp1), ._, ._ },
32783 .{ ._, ._, .@"and", .tmp2d, .sa(.dst0, .add_umax), ._, ._ },
32784 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
32785 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
32786 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
32787 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32788 } },
32789 }, .{
32790 .required_features = .{ .avx, null, null, null },
32791 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
32792 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
32793 .patterns = &.{
32794 .{ .src = .{ .to_sse, .none } },
32795 },
32796 .extra_temps = .{
32797 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32798 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32799 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
32800 .unused,
32801 .unused,
32802 .unused,
32803 .unused,
32804 .unused,
32805 .unused,
32806 },
32807 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
32808 .each = .{ .once = &.{
32809 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32810 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
32811 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
32812 .{ ._, .vp_q, .add, .dst0x, .dst0x, .lea(.tmp0x), ._ },
32813 .{ ._, .vp_, .xor, .dst0x, .dst0x, .lea(.tmp0x), ._ },
32814 } },
32815 }, .{
32816 .required_features = .{ .avx, null, null, null },
32817 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
32818 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
32819 .patterns = &.{
32820 .{ .src = .{ .to_sse, .none } },
32821 },
32822 .extra_temps = .{
32823 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32824 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
32825 .unused,
32826 .unused,
32827 .unused,
32828 .unused,
32829 .unused,
32830 .unused,
32831 .unused,
32832 },
32833 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
32834 .each = .{ .once = &.{
32835 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32836 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
32837 } },
32838 }, .{
32839 .required_features = .{ .sse2, null, null, null },
32840 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
32841 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
32842 .patterns = &.{
32843 .{ .src = .{ .to_mut_sse, .none } },
32844 },
32845 .extra_temps = .{
32846 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32847 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32848 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
32849 .unused,
32850 .unused,
32851 .unused,
32852 .unused,
32853 .unused,
32854 .unused,
32855 },
32856 .dst_temps = .{.{ .ref = .src0 }},
32857 .each = .{ .once = &.{
32858 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32859 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
32860 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
32861 .{ ._, .p_q, .add, .dst0x, .lea(.tmp0x), ._, ._ },
32862 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
32863 } },
32864 }, .{
32865 .required_features = .{ .sse2, null, null, null },
32866 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
32867 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
32868 .patterns = &.{
32869 .{ .src = .{ .to_mut_sse, .none } },
32870 },
32871 .extra_temps = .{
32872 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32873 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
32874 .unused,
32875 .unused,
32876 .unused,
32877 .unused,
32878 .unused,
32879 .unused,
32880 .unused,
32881 },
32882 .dst_temps = .{.{ .ref = .src0 }},
32883 .each = .{ .once = &.{
32884 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32885 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
32886 } },
32887 }, .{
32888 .required_features = .{ .sse, null, null, null },
32889 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
32890 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
32891 .patterns = &.{
32892 .{ .src = .{ .to_mut_sse, .none } },
32893 },
32894 .extra_temps = .{
32895 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32896 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
32897 .unused,
32898 .unused,
32899 .unused,
32900 .unused,
32901 .unused,
32902 .unused,
32903 .unused,
32904 },
32905 .dst_temps = .{.{ .ref = .src0 }},
32906 .each = .{ .once = &.{
32907 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32908 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
32909 } },
32910 }, .{
32911 .required_features = .{ .avx2, null, null, null },
32912 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
32913 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }},
32914 .patterns = &.{
32915 .{ .src = .{ .to_sse, .none } },
32916 },
32917 .extra_temps = .{
32918 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32919 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32920 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
32921 .unused,
32922 .unused,
32923 .unused,
32924 .unused,
32925 .unused,
32926 .unused,
32927 },
32928 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
32929 .each = .{ .once = &.{
32930 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32931 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
32932 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
32933 .{ ._, .vp_q, .add, .dst0y, .dst0y, .lea(.tmp0y), ._ },
32934 .{ ._, .vp_, .xor, .dst0y, .dst0y, .lea(.tmp0y), ._ },
32935 } },
32936 }, .{
32937 .required_features = .{ .avx2, null, null, null },
32938 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any },
32939 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }},
32940 .patterns = &.{
32941 .{ .src = .{ .to_sse, .none } },
32942 },
32943 .extra_temps = .{
32944 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
32945 .{ .kind = .{ .umax_mem = .{ .ref = .dst0 } } },
32946 .unused,
32947 .unused,
32948 .unused,
32949 .unused,
32950 .unused,
32951 .unused,
32952 .unused,
32953 },
32954 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
32955 .each = .{ .once = &.{
32956 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
32957 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
32958 } },
32959 }, .{
32960 .required_features = .{ .avx2, null, null, null },
32961 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
32962 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
32963 .patterns = &.{
32964 .{ .src = .{ .to_mem, .none } },
32965 },
32966 .extra_temps = .{
32967 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
32968 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
32969 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
32970 .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } },
32971 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
32972 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
32973 .unused,
32974 .unused,
32975 .unused,
32976 },
32977 .dst_temps = .{.mem},
32978 .clobbers = .{ .eflags = true },
32979 .each = .{ .once = &.{
32980 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
32981 .{ ._, .v_dqa, .mov, .tmp1y, .lea(.tmp0y), ._, ._ },
32982 .{ ._, ._, .lea, .tmp0p, .mem(.tmp5), ._, ._ },
32983 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
32984 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
32985 .{ .@"0:", .vp_, .@"and", .tmp3y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ },
32986 .{ ._, .vp_q, .add, .tmp3y, .tmp3y, .tmp2y, ._ },
32987 .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .tmp2y, ._ },
32988 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp3y, ._, ._ },
32989 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
32990 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32991 } },
32992 }, .{
32993 .required_features = .{ .avx2, null, null, null },
32994 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any },
32995 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }},
32996 .patterns = &.{
32997 .{ .src = .{ .to_mem, .none } },
32998 },
32999 .extra_temps = .{
33000 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33001 .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } },
33002 .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } },
33003 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
33004 .unused,
33005 .unused,
33006 .unused,
33007 .unused,
33008 .unused,
33009 },
33010 .dst_temps = .{.mem},
33011 .clobbers = .{ .eflags = true },
33012 .each = .{ .once = &.{
33013 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
33014 .{ ._, .v_dqa, .mov, .tmp1y, .lea(.tmp0y), ._, ._ },
33015 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33016 .{ .@"0:", .vp_, .@"and", .tmp2y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ },
33017 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp2y, ._, ._ },
33018 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
33019 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33020 } },
33021 }, .{
33022 .required_features = .{ .avx, null, null, null },
33023 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
33024 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
33025 .patterns = &.{
33026 .{ .src = .{ .to_mem, .none } },
33027 },
33028 .extra_temps = .{
33029 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33030 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
33031 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
33032 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
33033 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
33034 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
33035 .unused,
33036 .unused,
33037 .unused,
33038 },
33039 .dst_temps = .{.mem},
33040 .clobbers = .{ .eflags = true },
33041 .each = .{ .once = &.{
33042 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
33043 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
33044 .{ ._, ._, .lea, .tmp0p, .mem(.tmp5), ._, ._ },
33045 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
33046 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33047 .{ .@"0:", .vp_, .@"and", .tmp3x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ },
33048 .{ ._, .vp_q, .add, .tmp3x, .tmp3x, .tmp2x, ._ },
33049 .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .tmp2x, ._ },
33050 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ },
33051 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
33052 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33053 } },
33054 }, .{
33055 .required_features = .{ .avx, null, null, null },
33056 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
33057 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
33058 .patterns = &.{
33059 .{ .src = .{ .to_mem, .none } },
33060 },
33061 .extra_temps = .{
33062 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33063 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
33064 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
33065 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
33066 .unused,
33067 .unused,
33068 .unused,
33069 .unused,
33070 .unused,
33071 },
33072 .dst_temps = .{.mem},
33073 .clobbers = .{ .eflags = true },
33074 .each = .{ .once = &.{
33075 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
33076 .{ ._, .v_dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
33077 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33078 .{ .@"0:", .vp_, .@"and", .tmp2x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ },
33079 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
33080 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
33081 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33082 } },
33083 }, .{
33084 .required_features = .{ .sse2, null, null, null },
33085 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
33086 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
33087 .patterns = &.{
33088 .{ .src = .{ .to_mem, .none } },
33089 },
33090 .extra_temps = .{
33091 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33092 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
33093 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
33094 .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } },
33095 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
33096 .{ .kind = .{ .smin_mem = .{ .ref = .dst0 } } },
33097 .unused,
33098 .unused,
33099 .unused,
33100 },
33101 .dst_temps = .{.mem},
33102 .clobbers = .{ .eflags = true },
33103 .each = .{ .once = &.{
33104 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
33105 .{ ._, ._dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
33106 .{ ._, ._, .lea, .tmp0p, .mem(.tmp5), ._, ._ },
33107 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
33108 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33109 .{ .@"0:", ._dqa, .mov, .tmp3x, .tmp1x, ._, ._ },
33110 .{ ._, .p_, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
33111 .{ ._, .p_q, .add, .tmp3x, .tmp2x, ._, ._ },
33112 .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ },
33113 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ },
33114 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
33115 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33116 } },
33117 }, .{
33118 .required_features = .{ .sse2, null, null, null },
33119 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
33120 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
33121 .patterns = &.{
33122 .{ .src = .{ .to_mem, .none } },
33123 },
33124 .extra_temps = .{
33125 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33126 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
33127 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
33128 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
33129 .unused,
33130 .unused,
33131 .unused,
33132 .unused,
33133 .unused,
33134 },
33135 .dst_temps = .{.mem},
33136 .clobbers = .{ .eflags = true },
33137 .each = .{ .once = &.{
33138 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
33139 .{ ._, ._dqa, .mov, .tmp1x, .lea(.tmp0x), ._, ._ },
33140 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33141 .{ .@"0:", ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ },
33142 .{ ._, .p_, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
33143 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
33144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
33145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33146 } },
33147 }, .{
33148 .required_features = .{ .sse, null, null, null },
33149 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
33150 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
33151 .patterns = &.{
33152 .{ .src = .{ .to_mem, .none } },
33153 },
33154 .extra_temps = .{
33155 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33156 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
33157 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
33158 .{ .kind = .{ .umax_mem = .{ .ref = .dst0, .to_signedness = .unsigned } } },
33159 .unused,
33160 .unused,
33161 .unused,
33162 .unused,
33163 .unused,
33164 },
33165 .dst_temps = .{.mem},
33166 .clobbers = .{ .eflags = true },
33167 .each = .{ .once = &.{
33168 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
33169 .{ ._, ._ps, .mova, .tmp1x, .lea(.tmp0x), ._, ._ },
33170 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33171 .{ .@"0:", ._ps, .mova, .tmp2x, .tmp1x, ._, ._ },
33172 .{ ._, ._ps, .@"and", .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
33173 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ },
33174 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
33175 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33176 } },
33177 }, .{
33178 .required_features = .{ .@"64bit", null, null, null },
33179 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
33180 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
33181 .patterns = &.{
33182 .{ .src = .{ .to_mem, .none } },
33183 },
33184 .extra_temps = .{
33185 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33186 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33187 .unused,
33188 .unused,
33189 .unused,
33190 .unused,
33191 .unused,
33192 .unused,
33193 .unused,
33194 },
33195 .dst_temps = .{.mem},
33196 .clobbers = .{ .eflags = true },
33197 .each = .{ .once = &.{
33198 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33199 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
33200 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33201 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33202 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33203 } },
33204 }, .{
33205 .required_features = .{ .@"64bit", null, null, null },
33206 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
33207 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
33208 .patterns = &.{
33209 .{ .src = .{ .to_mem, .none } },
33210 },
33211 .extra_temps = .{
33212 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33213 .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
33214 .unused,
33215 .unused,
33216 .unused,
33217 .unused,
33218 .unused,
33219 .unused,
33220 .unused,
33221 },
33222 .dst_temps = .{.mem},
33223 .clobbers = .{ .eflags = true },
33224 .each = .{ .once = &.{
33225 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33226 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
33227 .{ ._, ._l, .sa, .tmp1q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33228 .{ ._, ._r, .sa, .tmp1q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33229 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33230 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33231 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33232 } },
33233 }, .{
33234 .required_features = .{ .@"64bit", .bmi2, null, null },
33235 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
33236 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33237 .patterns = &.{
33238 .{ .src = .{ .to_mem, .none } },
33239 },
33240 .extra_temps = .{
33241 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33242 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
33243 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33244 .unused,
33245 .unused,
33246 .unused,
33247 .unused,
33248 .unused,
33249 .unused,
33250 },
33251 .dst_temps = .{.mem},
33252 .clobbers = .{ .eflags = true },
33253 .each = .{ .once = &.{
33254 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33255 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
33256 .{ .@"0:", ._, .bzhi, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), .tmp1q, ._ },
33257 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
33258 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33259 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33260 } },
33261 }, .{
33262 .required_features = .{ .@"64bit", null, null, null },
33263 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
33264 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33265 .patterns = &.{
33266 .{ .src = .{ .to_mem, .none } },
33267 },
33268 .extra_temps = .{
33269 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33270 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33271 .unused,
33272 .unused,
33273 .unused,
33274 .unused,
33275 .unused,
33276 .unused,
33277 .unused,
33278 },
33279 .dst_temps = .{.mem},
33280 .clobbers = .{ .eflags = true },
33281 .each = .{ .once = &.{
33282 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33283 .{ .@"0:", ._, .mov, .tmp1q, .ua(.dst0, .add_umax), ._, ._ },
33284 .{ ._, ._, .@"and", .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
33285 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33286 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33287 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33288 } },
33289 }, .{
33290 .required_features = .{ .@"64bit", null, null, null },
33291 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any },
33292 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
33293 .patterns = &.{
33294 .{ .src = .{ .to_mem, .none } },
33295 },
33296 .extra_temps = .{
33297 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33298 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33299 .unused,
33300 .unused,
33301 .unused,
33302 .unused,
33303 .unused,
33304 .unused,
33305 .unused,
33306 },
33307 .dst_temps = .{.mem},
33308 .clobbers = .{ .eflags = true },
33309 .each = .{ .once = &.{
33310 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33311 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
33312 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33313 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33314 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33315 } },
33316 }, .{
33317 .required_features = .{ .@"64bit", null, null, null },
33318 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
33319 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
33320 .patterns = &.{
33321 .{ .src = .{ .to_mem, .none } },
33322 },
33323 .extra_temps = .{
33324 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33325 .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
33326 .unused,
33327 .unused,
33328 .unused,
33329 .unused,
33330 .unused,
33331 .unused,
33332 .unused,
33333 },
33334 .dst_temps = .{.mem},
33335 .clobbers = .{ .eflags = true },
33336 .each = .{ .once = &.{
33337 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33338 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
33339 .{ ._, ._l, .sa, .tmp1q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33340 .{ ._, ._r, .sa, .tmp1q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33341 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33342 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33343 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33344 } },
33345 }, .{
33346 .required_features = .{ .@"64bit", .bmi2, null, null },
33347 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
33348 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33349 .patterns = &.{
33350 .{ .src = .{ .to_mem, .none } },
33351 },
33352 .extra_temps = .{
33353 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33354 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
33355 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33356 .unused,
33357 .unused,
33358 .unused,
33359 .unused,
33360 .unused,
33361 .unused,
33362 },
33363 .dst_temps = .{.mem},
33364 .clobbers = .{ .eflags = true },
33365 .each = .{ .once = &.{
33366 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33367 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
33368 .{ .@"0:", ._, .bzhi, .tmp2q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), .tmp1q, ._ },
33369 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
33370 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33371 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33372 } },
33373 }, .{
33374 .required_features = .{ .@"64bit", null, null, null },
33375 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
33376 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33377 .patterns = &.{
33378 .{ .src = .{ .to_mem, .none } },
33379 },
33380 .extra_temps = .{
33381 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33382 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33383 .unused,
33384 .unused,
33385 .unused,
33386 .unused,
33387 .unused,
33388 .unused,
33389 .unused,
33390 },
33391 .dst_temps = .{.mem},
33392 .clobbers = .{ .eflags = true },
33393 .each = .{ .once = &.{
33394 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33395 .{ .@"0:", ._, .mov, .tmp1q, .ua(.dst0, .add_umax), ._, ._ },
33396 .{ ._, ._, .@"and", .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
33397 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33398 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33399 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33400 } },
33401 }, .{
33402 .required_features = .{ .@"64bit", null, null, null },
33403 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any },
33404 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
33405 .patterns = &.{
33406 .{ .src = .{ .to_mem, .none } },
33407 },
33408 .extra_temps = .{
33409 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33410 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33411 .unused,
33412 .unused,
33413 .unused,
33414 .unused,
33415 .unused,
33416 .unused,
33417 .unused,
33418 },
33419 .dst_temps = .{.mem},
33420 .clobbers = .{ .eflags = true },
33421 .each = .{ .once = &.{
33422 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33423 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
33424 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33425 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33426 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33427 } },
33428 }, .{
33429 .required_features = .{ .@"64bit", null, null, null },
33430 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .yword } }, .any },
33431 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
33432 .patterns = &.{
33433 .{ .src = .{ .to_mem, .none } },
33434 },
33435 .extra_temps = .{
33436 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33437 .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
33438 .unused,
33439 .unused,
33440 .unused,
33441 .unused,
33442 .unused,
33443 .unused,
33444 .unused,
33445 },
33446 .dst_temps = .{.mem},
33447 .clobbers = .{ .eflags = true },
33448 .each = .{ .once = &.{
33449 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33450 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
33451 .{ ._, ._l, .sa, .tmp1q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33452 .{ ._, ._r, .sa, .tmp1q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33453 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33454 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33455 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33456 } },
33457 }, .{
33458 .required_features = .{ .@"64bit", .bmi2, null, null },
33459 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any },
33460 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33461 .patterns = &.{
33462 .{ .src = .{ .to_mem, .none } },
33463 },
33464 .extra_temps = .{
33465 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33466 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
33467 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33468 .unused,
33469 .unused,
33470 .unused,
33471 .unused,
33472 .unused,
33473 .unused,
33474 },
33475 .dst_temps = .{.mem},
33476 .clobbers = .{ .eflags = true },
33477 .each = .{ .once = &.{
33478 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33479 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
33480 .{ .@"0:", ._, .bzhi, .tmp2q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), .tmp1q, ._ },
33481 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
33482 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33483 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33484 } },
33485 }, .{
33486 .required_features = .{ .@"64bit", null, null, null },
33487 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any },
33488 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33489 .patterns = &.{
33490 .{ .src = .{ .to_mem, .none } },
33491 },
33492 .extra_temps = .{
33493 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33494 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33495 .unused,
33496 .unused,
33497 .unused,
33498 .unused,
33499 .unused,
33500 .unused,
33501 .unused,
33502 },
33503 .dst_temps = .{.mem},
33504 .clobbers = .{ .eflags = true },
33505 .each = .{ .once = &.{
33506 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33507 .{ .@"0:", ._, .mov, .tmp1q, .ua(.dst0, .add_umax), ._, ._ },
33508 .{ ._, ._, .@"and", .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
33509 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
33510 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33511 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33512 } },
33513 }, .{
33514 .required_features = .{ .@"64bit", null, null, null },
33515 .src_constraints = .{ .any_scalar_int, .any },
33516 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
33517 .patterns = &.{
33518 .{ .src = .{ .to_mem, .none } },
33519 },
33520 .extra_temps = .{
33521 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33522 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33523 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33524 .unused,
33525 .unused,
33526 .unused,
33527 .unused,
33528 .unused,
33529 .unused,
33530 },
33531 .dst_temps = .{.mem},
33532 .clobbers = .{ .eflags = true },
33533 .each = .{ .once = &.{
33534 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33535 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
33536 .{ .@"0:", ._, .mov, .tmp2q, .memi(.src0q, .tmp1), ._, ._ },
33537 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
33538 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
33539 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33540 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33541 } },
33542 }, .{
33543 .required_features = .{ .@"64bit", null, null, null },
33544 .src_constraints = .{ .any_scalar_signed_int, .any },
33545 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
33546 .patterns = &.{
33547 .{ .src = .{ .to_mem, .none } },
33548 },
33549 .extra_temps = .{
33550 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33551 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33552 .{ .type = .i64, .kind = .{ .rc = .general_purpose } },
33553 .unused,
33554 .unused,
33555 .unused,
33556 .unused,
33557 .unused,
33558 .unused,
33559 },
33560 .dst_temps = .{.mem},
33561 .clobbers = .{ .eflags = true },
33562 .each = .{ .once = &.{
33563 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33564 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
33565 .{ .@"0:", ._, .mov, .tmp2q, .memi(.src0q, .tmp1), ._, ._ },
33566 .{ ._, ._l, .sa, .tmp2q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33567 .{ ._, ._r, .sa, .tmp2q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
33568 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
33569 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
33570 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33571 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33572 } },
33573 }, .{
33574 .required_features = .{ .@"64bit", .bmi2, null, null },
33575 .src_constraints = .{ .any_scalar_unsigned_int, .any },
33576 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33577 .patterns = &.{
33578 .{ .src = .{ .to_mem, .none } },
33579 },
33580 .extra_temps = .{
33581 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33582 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33583 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
33584 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33585 .unused,
33586 .unused,
33587 .unused,
33588 .unused,
33589 .unused,
33590 },
33591 .dst_temps = .{.mem},
33592 .clobbers = .{ .eflags = true },
33593 .each = .{ .once = &.{
33594 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33595 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
33596 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_bit_size), ._, ._ },
33597 .{ .@"0:", ._, .bzhi, .tmp3q, .memi(.src0q, .tmp1), .tmp2q, ._ },
33598 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ },
33599 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
33600 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33601 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33602 } },
33603 }, .{
33604 .required_features = .{ .@"64bit", null, null, null },
33605 .src_constraints = .{ .any_scalar_unsigned_int, .any },
33606 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
33607 .patterns = &.{
33608 .{ .src = .{ .to_mem, .none } },
33609 },
33610 .extra_temps = .{
33611 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
33612 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33613 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
33614 .unused,
33615 .unused,
33616 .unused,
33617 .unused,
33618 .unused,
33619 .unused,
33620 },
33621 .dst_temps = .{.mem},
33622 .clobbers = .{ .eflags = true },
33623 .each = .{ .once = &.{
33624 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
33625 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
33626 .{ .@"0:", ._, .mov, .tmp2q, .ua(.dst0, .add_umax), ._, ._ },
33627 .{ ._, ._, .@"and", .tmp2q, .memi(.src0q, .tmp1), ._, ._ },
33628 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
33629 .{ ._, ._, .lea, .tmp1d, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
33630 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33631 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33632 } },
33633 }, .{
33634 .required_features = .{ .@"64bit", .slow_incdec, null, null },
33635 .src_constraints = .{ .any_scalar_int, .any },
33636 .dst_constraints = .{.{ .scalar_exact_remainder_int = .{ .of = .xword, .is = .xword } }},
33637 .patterns = &.{
33638 .{ .src = .{ .to_mem, .none } },
33639 },
33640 .extra_temps = .{
33641 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33642 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33643 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33644 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33645 .unused,
33646 .unused,
33647 .unused,
33648 .unused,
33649 .unused,
33650 },
33651 .dst_temps = .{.mem},
33652 .clobbers = .{ .eflags = true },
33653 .each = .{ .once = &.{
33654 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33655 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33656 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33657 .{ .@"0:", ._, .mov, .tmp3d, .sa(.dst0, .add_elem_size_div_8), ._, ._ },
33658 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33659 .{ ._, ._, .add, .tmp1p, .sa2(.src0, .dst0, .add_delta_elem_size), ._, ._ },
33660 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
33661 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
33662 } },
33663 }, .{
33664 .required_features = .{ .@"64bit", null, null, null },
33665 .src_constraints = .{ .any_scalar_int, .any },
33666 .dst_constraints = .{.{ .scalar_exact_remainder_int = .{ .of = .xword, .is = .xword } }},
33667 .patterns = &.{
33668 .{ .src = .{ .to_mem, .none } },
33669 },
33670 .extra_temps = .{
33671 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33672 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33673 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33674 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33675 .unused,
33676 .unused,
33677 .unused,
33678 .unused,
33679 .unused,
33680 },
33681 .dst_temps = .{.mem},
33682 .clobbers = .{ .eflags = true },
33683 .each = .{ .once = &.{
33684 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33685 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33686 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33687 .{ .@"0:", ._, .mov, .tmp3d, .sa(.dst0, .add_elem_size_div_8), ._, ._ },
33688 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33689 .{ ._, ._, .add, .tmp1p, .sa2(.src0, .dst0, .add_delta_elem_size), ._, ._ },
33690 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
33691 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
33692 } },
33693 }, .{
33694 .required_features = .{ .@"64bit", .slow_incdec, null, null },
33695 .src_constraints = .{ .any_scalar_signed_int, .any },
33696 .dst_constraints = .{.{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
33697 .patterns = &.{
33698 .{ .src = .{ .to_mem, .none } },
33699 },
33700 .extra_temps = .{
33701 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33702 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33703 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33704 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33705 .unused,
33706 .unused,
33707 .unused,
33708 .unused,
33709 .unused,
33710 },
33711 .dst_temps = .{.mem},
33712 .clobbers = .{ .eflags = true },
33713 .each = .{ .once = &.{
33714 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33715 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33716 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33717 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
33718 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33719 .{ ._, ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ },
33720 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
33721 .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
33722 .{ ._, ._, .mov, .lead(.tmp2q, 8), .tmp3q, ._, ._ },
33723 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
33724 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
33725 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
33726 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
33727 } },
33728 }, .{
33729 .required_features = .{ .@"64bit", null, null, null },
33730 .src_constraints = .{ .any_scalar_signed_int, .any },
33731 .dst_constraints = .{.{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
33732 .patterns = &.{
33733 .{ .src = .{ .to_mem, .none } },
33734 },
33735 .extra_temps = .{
33736 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33737 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33738 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33739 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33740 .unused,
33741 .unused,
33742 .unused,
33743 .unused,
33744 .unused,
33745 },
33746 .dst_temps = .{.mem},
33747 .clobbers = .{ .eflags = true },
33748 .each = .{ .once = &.{
33749 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33750 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33751 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33752 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
33753 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33754 .{ ._, ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ },
33755 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
33756 .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
33757 .{ ._, ._, .mov, .lead(.tmp2q, 8), .tmp3q, ._, ._ },
33758 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
33759 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
33760 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
33761 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
33762 } },
33763 }, .{
33764 .required_features = .{ .@"64bit", .slow_incdec, null, null },
33765 .src_constraints = .{ .any_scalar_signed_int, .any },
33766 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
33767 .patterns = &.{
33768 .{ .src = .{ .to_mem, .none } },
33769 },
33770 .extra_temps = .{
33771 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33772 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33773 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33774 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33775 .unused,
33776 .unused,
33777 .unused,
33778 .unused,
33779 .unused,
33780 },
33781 .dst_temps = .{.mem},
33782 .clobbers = .{ .eflags = true },
33783 .each = .{ .once = &.{
33784 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33785 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33786 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33787 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
33788 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33789 .{ ._, ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ },
33790 .{ ._, ._l, .sa, .tmp3q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
33791 .{ ._, ._r, .sa, .tmp3q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
33792 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
33793 .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
33794 .{ ._, ._, .mov, .lead(.tmp2q, 8), .tmp3q, ._, ._ },
33795 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
33796 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
33797 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
33798 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
33799 } },
33800 }, .{
33801 .required_features = .{ .@"64bit", null, null, null },
33802 .src_constraints = .{ .any_scalar_signed_int, .any },
33803 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
33804 .patterns = &.{
33805 .{ .src = .{ .to_mem, .none } },
33806 },
33807 .extra_temps = .{
33808 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33809 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33810 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33811 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33812 .unused,
33813 .unused,
33814 .unused,
33815 .unused,
33816 .unused,
33817 },
33818 .dst_temps = .{.mem},
33819 .clobbers = .{ .eflags = true },
33820 .each = .{ .once = &.{
33821 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33822 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33823 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33824 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
33825 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33826 .{ ._, ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ },
33827 .{ ._, ._l, .sa, .tmp3q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
33828 .{ ._, ._r, .sa, .tmp3q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
33829 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
33830 .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
33831 .{ ._, ._, .mov, .lead(.tmp2q, 8), .tmp3q, ._, ._ },
33832 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
33833 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
33834 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
33835 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
33836 } },
33837 }, .{
33838 .required_features = .{ .@"64bit", .slow_incdec, null, null },
33839 .src_constraints = .{ .any_scalar_signed_int, .any },
33840 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }},
2871833841 .patterns = &.{
2871933842 .{ .src = .{ .to_mem, .none } },
2872033843 },
......@@ -28723,7 +33846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2872333846 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2872433847 .{ .type = .usize, .kind = .{ .reg = .rdi } },
2872533848 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28726 .{ .type = .i64, .kind = .{ .reg = .rax } },
33849 .{ .type = .u64, .kind = .{ .reg = .rax } },
2872733850 .unused,
2872833851 .unused,
2872933852 .unused,
......@@ -28735,20 +33858,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2873533858 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
2873633859 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
2873733860 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28738 .{ .@"0:", ._, .mov, .tmp3d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ },
33861 .{ .@"0:", ._, .mov, .tmp3d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2873933862 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28740 .{ ._, ._sq, .lod, ._, ._, ._, ._ },
33863 .{ ._, ._, .mov, .tmp4q, .lea(.tmp1q), ._, ._ },
33864 .{ ._, ._l, .sa, .tmp4q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
33865 .{ ._, ._r, .sa, .tmp4q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
2874133866 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28742 .{ ._, ._r, .sa, .tmp4q, .ui(63), ._, ._ },
28743 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28744 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
33867 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
2874533868 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
2874633869 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
2874733870 } },
2874833871 }, .{
2874933872 .required_features = .{ .@"64bit", null, null, null },
2875033873 .src_constraints = .{ .any_scalar_signed_int, .any },
28751 .dst_constraints = .{.any_scalar_signed_int},
33874 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }},
2875233875 .patterns = &.{
2875333876 .{ .src = .{ .to_mem, .none } },
2875433877 },
......@@ -28757,7 +33880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2875733880 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2875833881 .{ .type = .usize, .kind = .{ .reg = .rdi } },
2875933882 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28760 .{ .type = .i64, .kind = .{ .reg = .rax } },
33883 .{ .type = .u64, .kind = .{ .reg = .rax } },
2876133884 .unused,
2876233885 .unused,
2876333886 .unused,
......@@ -28769,20 +33892,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2876933892 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
2877033893 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
2877133894 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28772 .{ .@"0:", ._, .mov, .tmp3d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ },
33895 .{ .@"0:", ._, .mov, .tmp3d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2877333896 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28774 .{ ._, ._sq, .lod, ._, ._, ._, ._ },
33897 .{ ._, ._, .mov, .tmp4q, .lea(.tmp1q), ._, ._ },
33898 .{ ._, ._l, .sa, .tmp4q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
33899 .{ ._, ._r, .sa, .tmp4q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
2877533900 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28776 .{ ._, ._r, .sa, .tmp4q, .ui(63), ._, ._ },
28777 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28778 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
33901 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
2877933902 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
2878033903 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
2878133904 } },
2878233905 }, .{
2878333906 .required_features = .{ .@"64bit", .slow_incdec, null, null },
28784 .src_constraints = .{ .any_scalar_int, .any },
28785 .dst_constraints = .{.any_scalar_int},
33907 .src_constraints = .{ .any_scalar_unsigned_int, .any },
33908 .dst_constraints = .{.{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
2878633909 .patterns = &.{
2878733910 .{ .src = .{ .to_mem, .none } },
2878833911 },
......@@ -28790,8 +33913,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2879033913 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2879133914 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2879233915 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28793 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2879433916 .{ .type = .u64, .kind = .{ .reg = .rax } },
33917 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2879533918 .unused,
2879633919 .unused,
2879733920 .unused,
......@@ -28803,18 +33926,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2880333926 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
2880433927 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
2880533928 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28806 .{ .@"0:", ._, .mov, .tmp3d, .sa(.src0, .add_elem_size_div_8), ._, ._ },
33929 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
33930 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2880733931 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28808 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
28809 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28810 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
33932 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
33933 .{ ._, ._, .add, .tmp1p, .sa2(.src0, .dst0, .add_delta_elem_size), ._, ._ },
2881133934 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
2881233935 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
2881333936 } },
2881433937 }, .{
2881533938 .required_features = .{ .@"64bit", null, null, null },
28816 .src_constraints = .{ .any_scalar_int, .any },
28817 .dst_constraints = .{.any_scalar_int},
33939 .src_constraints = .{ .any_scalar_unsigned_int, .any },
33940 .dst_constraints = .{.{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
2881833941 .patterns = &.{
2881933942 .{ .src = .{ .to_mem, .none } },
2882033943 },
......@@ -28822,8 +33945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2882233945 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2882333946 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2882433947 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28825 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2882633948 .{ .type = .u64, .kind = .{ .reg = .rax } },
33949 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2882733950 .unused,
2882833951 .unused,
2882933952 .unused,
......@@ -28835,368 +33958,98 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2883533958 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
2883633959 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
2883733960 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
28838 .{ .@"0:", ._, .mov, .tmp3d, .sa(.src0, .add_elem_size_div_8), ._, ._ },
33961 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
33962 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2883933963 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28840 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
28841 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28842 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
33964 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
33965 .{ ._, ._, .add, .tmp1p, .sa2(.src0, .dst0, .add_delta_elem_size), ._, ._ },
2884333966 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
2884433967 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
2884533968 } },
28846 } }) catch |err| switch (err) {
28847 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
28848 @tagName(air_tag),
28849 dst_ty.fmt(pt),
28850 src_ty.fmt(pt),
28851 ops[0].tracking(cg),
28852 }),
28853 else => |e| return e,
28854 };
28855 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
28856 },
28857 .trunc => |air_tag| if (use_old) try cg.airTrunc(inst) else fallback: {
28858 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
28859 if (ty_op.ty.toType().isVector(zcu)) break :fallback try cg.airTrunc(inst);
28860 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
28861 var res: [1]Temp = undefined;
28862 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
28863 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
28864 .dst_constraints = .{.{ .exact_signed_int = 1 }},
28865 .patterns = &.{
28866 .{ .src = .{ .to_mut_gpr, .none } },
28867 },
28868 .dst_temps = .{.{ .ref = .src0 }},
28869 .clobbers = .{ .eflags = true },
28870 .each = .{ .once = &.{
28871 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },
28872 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
28873 } },
28874 }, .{
28875 .src_constraints = .{ .any_signed_int, .any },
28876 .dst_constraints = .{.{ .exact_signed_int = 1 }},
28877 .patterns = &.{
28878 .{ .src = .{ .to_mem, .none } },
28879 },
28880 .dst_temps = .{.{ .rc = .general_purpose }},
28881 .clobbers = .{ .eflags = true },
28882 .each = .{ .once = &.{
28883 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
28884 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },
28885 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
28886 } },
28887 }, .{
28888 .src_constraints = .{ .{ .int = .gpr }, .any },
28889 .dst_constraints = .{.{ .exact_int = 8 }},
28890 .patterns = &.{
28891 .{ .src = .{ .to_mut_gpr, .none } },
28892 },
28893 .dst_temps = .{.{ .ref = .src0 }},
28894 .each = .{ .once = &.{} },
28895 }, .{
28896 .src_constraints = .{ .any_signed_int, .any },
28897 .dst_constraints = .{.{ .exact_signed_int = 8 }},
28898 .patterns = &.{
28899 .{ .src = .{ .to_mem, .none } },
28900 },
28901 .dst_temps = .{.{ .rc = .general_purpose }},
28902 .each = .{ .once = &.{
28903 .{ ._, ._, .movsx, .dst0d, .mem(.src0b), ._, ._ },
28904 } },
28905 }, .{
28906 .src_constraints = .{ .any_unsigned_int, .any },
28907 .dst_constraints = .{.{ .exact_unsigned_int = 8 }},
28908 .patterns = &.{
28909 .{ .src = .{ .to_mem, .none } },
28910 },
28911 .dst_temps = .{.{ .rc = .general_purpose }},
28912 .each = .{ .once = &.{
28913 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
28914 } },
28915 }, .{
28916 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
28917 .dst_constraints = .{.{ .signed_int = .byte }},
28918 .patterns = &.{
28919 .{ .src = .{ .to_mut_gpr, .none } },
28920 },
28921 .dst_temps = .{.{ .ref = .src0 }},
28922 .clobbers = .{ .eflags = true },
28923 .each = .{ .once = &.{
28924 .{ ._, ._l, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
28925 .{ ._, ._r, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
28926 } },
28927 }, .{
28928 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
28929 .dst_constraints = .{.{ .unsigned_int = .byte }},
28930 .patterns = &.{
28931 .{ .src = .{ .to_mut_gpr, .none } },
28932 },
28933 .dst_temps = .{.{ .ref = .src0 }},
28934 .clobbers = .{ .eflags = true },
28935 .each = .{ .once = &.{
28936 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },
28937 } },
28938 }, .{
28939 .src_constraints = .{ .any_int, .any },
28940 .dst_constraints = .{.{ .unsigned_int = .byte }},
28941 .patterns = &.{
28942 .{ .src = .{ .to_mem, .none } },
28943 },
28944 .dst_temps = .{.{ .rc = .general_purpose }},
28945 .clobbers = .{ .eflags = true },
28946 .each = .{ .once = &.{
28947 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
28948 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },
28949 } },
28950 }, .{
28951 .src_constraints = .{ .{ .int = .gpr }, .any },
28952 .dst_constraints = .{.{ .exact_int = 16 }},
28953 .patterns = &.{
28954 .{ .src = .{ .to_mut_gpr, .none } },
28955 },
28956 .dst_temps = .{.{ .ref = .src0 }},
28957 .each = .{ .once = &.{} },
28958 }, .{
28959 .src_constraints = .{ .any_signed_int, .any },
28960 .dst_constraints = .{.{ .exact_signed_int = 16 }},
28961 .patterns = &.{
28962 .{ .src = .{ .to_mem, .none } },
28963 },
28964 .dst_temps = .{.{ .rc = .general_purpose }},
28965 .each = .{ .once = &.{
28966 .{ ._, ._, .movsx, .dst0d, .mem(.src0w), ._, ._ },
28967 } },
28968 }, .{
28969 .src_constraints = .{ .any_unsigned_int, .any },
28970 .dst_constraints = .{.{ .exact_unsigned_int = 16 }},
28971 .patterns = &.{
28972 .{ .src = .{ .to_mem, .none } },
28973 },
28974 .dst_temps = .{.{ .rc = .general_purpose }},
28975 .each = .{ .once = &.{
28976 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
28977 } },
28978 }, .{
28979 .required_features = .{ .fast_imm16, null, null, null },
28980 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
28981 .dst_constraints = .{.{ .unsigned_int = .word }},
28982 .patterns = &.{
28983 .{ .src = .{ .to_mut_gpr, .none } },
28984 },
28985 .dst_temps = .{.{ .ref = .src0 }},
28986 .clobbers = .{ .eflags = true },
28987 .each = .{ .once = &.{
28988 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },
28989 } },
28990 }, .{
28991 .required_features = .{ .fast_imm16, null, null, null },
28992 .src_constraints = .{ .any_unsigned_int, .any },
28993 .dst_constraints = .{.{ .unsigned_int = .word }},
28994 .patterns = &.{
28995 .{ .src = .{ .to_mem, .none } },
28996 },
28997 .dst_temps = .{.{ .rc = .general_purpose }},
28998 .clobbers = .{ .eflags = true },
28999 .each = .{ .once = &.{
29000 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
29001 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },
29002 } },
29003 }, .{
29004 .src_constraints = .{ .{ .int = .gpr }, .any },
29005 .dst_constraints = .{.{ .exact_int = 32 }},
29006 .patterns = &.{
29007 .{ .src = .{ .to_mut_gpr, .none } },
29008 },
29009 .dst_temps = .{.{ .ref = .src0 }},
29010 .each = .{ .once = &.{} },
29011 }, .{
29012 .src_constraints = .{ .any_int, .any },
29013 .dst_constraints = .{.{ .exact_int = 32 }},
29014 .patterns = &.{
29015 .{ .src = .{ .to_mem, .none } },
29016 },
29017 .dst_temps = .{.{ .rc = .general_purpose }},
29018 .each = .{ .once = &.{
29019 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
29020 } },
29021 }, .{
29022 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
29023 .dst_constraints = .{.{ .signed_int = .dword }},
29024 .patterns = &.{
29025 .{ .src = .{ .to_mut_gpr, .none } },
29026 },
29027 .dst_temps = .{.{ .ref = .src0 }},
29028 .clobbers = .{ .eflags = true },
29029 .each = .{ .once = &.{
29030 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29031 .{ ._, ._r, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29032 } },
29033 }, .{
29034 .src_constraints = .{ .any_signed_int, .any },
29035 .dst_constraints = .{.{ .signed_int = .dword }},
29036 .patterns = &.{
29037 .{ .src = .{ .to_mem, .none } },
29038 },
29039 .dst_temps = .{.{ .rc = .general_purpose }},
29040 .clobbers = .{ .eflags = true },
29041 .each = .{ .once = &.{
29042 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
29043 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29044 .{ ._, ._r, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
29045 } },
29046 }, .{
29047 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29048 .dst_constraints = .{.{ .unsigned_int = .dword }},
29049 .patterns = &.{
29050 .{ .src = .{ .to_mut_gpr, .none } },
29051 },
29052 .dst_temps = .{.{ .ref = .src0 }},
29053 .clobbers = .{ .eflags = true },
29054 .each = .{ .once = &.{
29055 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },
29056 } },
29057 }, .{
29058 .src_constraints = .{ .any_unsigned_int, .any },
29059 .dst_constraints = .{.{ .unsigned_int = .dword }},
29060 .patterns = &.{
29061 .{ .src = .{ .to_mem, .none } },
29062 },
29063 .dst_temps = .{.{ .rc = .general_purpose }},
29064 .clobbers = .{ .eflags = true },
29065 .each = .{ .once = &.{
29066 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
29067 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },
29068 } },
29069 }, .{
29070 .required_features = .{ .@"64bit", null, null, null },
29071 .src_constraints = .{ .any_int, .any },
29072 .dst_constraints = .{.{ .exact_int = 64 }},
29073 .patterns = &.{
29074 .{ .src = .{ .to_mem, .none } },
29075 },
29076 .dst_temps = .{.{ .rc = .general_purpose }},
29077 .each = .{ .once = &.{
29078 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
29079 } },
29080 }, .{
29081 .required_features = .{ .@"64bit", null, null, null },
29082 .src_constraints = .{ .{ .signed_int = .gpr }, .any },
29083 .dst_constraints = .{.{ .signed_int = .qword }},
29084 .patterns = &.{
29085 .{ .src = .{ .to_mut_gpr, .none } },
29086 },
29087 .dst_temps = .{.{ .ref = .src0 }},
29088 .clobbers = .{ .eflags = true },
29089 .each = .{ .once = &.{
29090 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29091 .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29092 } },
2909333969 }, .{
29094 .required_features = .{ .@"64bit", null, null, null },
29095 .src_constraints = .{ .any_signed_int, .any },
29096 .dst_constraints = .{.{ .signed_int = .qword }},
33970 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
33971 .src_constraints = .{ .any_scalar_unsigned_int, .any },
33972 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
2909733973 .patterns = &.{
2909833974 .{ .src = .{ .to_mem, .none } },
2909933975 },
29100 .dst_temps = .{.{ .rc = .general_purpose }},
29101 .clobbers = .{ .eflags = true },
29102 .each = .{ .once = &.{
29103 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
29104 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29105 .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
29106 } },
29107 }, .{
29108 .required_features = .{ .@"64bit", .bmi2, null, null },
29109 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29110 .dst_constraints = .{.{ .unsigned_int = .qword }},
29111 .patterns = &.{
29112 .{ .src = .{ .mem, .none } },
29113 .{ .src = .{ .to_gpr, .none } },
33976 .extra_temps = .{
33977 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33978 .{ .type = .usize, .kind = .{ .reg = .rsi } },
33979 .{ .type = .usize, .kind = .{ .reg = .rdi } },
33980 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
33981 .{ .type = .u32, .kind = .{ .reg = .ecx } },
33982 .unused,
33983 .unused,
33984 .unused,
33985 .unused,
2911433986 },
29115 .dst_temps = .{.{ .rc = .general_purpose }},
33987 .dst_temps = .{.mem},
2911633988 .clobbers = .{ .eflags = true },
2911733989 .each = .{ .once = &.{
29118 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
29119 .{ ._, ._, .bzhi, .dst0q, .src0q, .dst0q, ._ },
33990 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
33991 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
33992 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
33993 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size_rem_64), ._, ._ },
33994 .{ .@"0:", ._, .mov, .tmp4d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
33995 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
33996 .{ ._, ._, .bzhi, .tmp4q, .lea(.tmp1q), .tmp3q, ._ },
33997 .{ ._, ._, .mov, .lea(.tmp2q), .tmp4q, ._, ._ },
33998 .{ ._, ._, .mov, .lead(.tmp2q, 8), .si(0), ._, ._ },
33999 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34000 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
34001 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
34002 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
2912034003 } },
2912134004 }, .{
2912234005 .required_features = .{ .@"64bit", .bmi2, null, null },
29123 .src_constraints = .{ .any_unsigned_int, .any },
29124 .dst_constraints = .{.{ .unsigned_int = .qword }},
29125 .patterns = &.{
29126 .{ .src = .{ .to_mem, .none } },
29127 },
29128 .dst_temps = .{.{ .rc = .general_purpose }},
29129 .clobbers = .{ .eflags = true },
29130 .each = .{ .once = &.{
29131 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
29132 .{ ._, ._, .bzhi, .dst0q, .mem(.src0q), .dst0q, ._ },
29133 } },
29134 }, .{
29135 .required_features = .{ .@"64bit", null, null, null },
29136 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },
29137 .dst_constraints = .{.{ .unsigned_int = .qword }},
29138 .patterns = &.{
29139 .{ .src = .{ .mem, .none } },
29140 .{ .src = .{ .to_gpr, .none } },
29141 },
29142 .dst_temps = .{.{ .rc = .general_purpose }},
29143 .clobbers = .{ .eflags = true },
29144 .each = .{ .once = &.{
29145 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
29146 .{ ._, ._, .@"and", .dst0q, .src0q, ._, ._ },
29147 } },
29148 }, .{
29149 .required_features = .{ .@"64bit", null, null, null },
29150 .src_constraints = .{ .any_unsigned_int, .any },
29151 .dst_constraints = .{.{ .unsigned_int = .qword }},
29152 .patterns = &.{
29153 .{ .src = .{ .to_mem, .none } },
29154 },
29155 .dst_temps = .{.{ .rc = .general_purpose }},
29156 .clobbers = .{ .eflags = true },
29157 .each = .{ .once = &.{
29158 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
29159 .{ ._, ._, .@"and", .dst0q, .mem(.src0q), ._, ._ },
29160 } },
29161 }, .{
29162 .required_features = .{ .@"64bit", null, null, null },
29163 .src_constraints = .{ .any_int, .any },
29164 .dst_constraints = .{.{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }},
34006 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34007 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
2916534008 .patterns = &.{
2916634009 .{ .src = .{ .to_mem, .none } },
2916734010 },
2916834011 .extra_temps = .{
34012 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2916934013 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2917034014 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34015 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2917134016 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2917234017 .unused,
2917334018 .unused,
2917434019 .unused,
2917534020 .unused,
29176 .unused,
29177 .unused,
2917834021 },
2917934022 .dst_temps = .{.mem},
34023 .clobbers = .{ .eflags = true },
2918034024 .each = .{ .once = &.{
29181 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29182 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29183 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
34025 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34026 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34027 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34028 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size_rem_64), ._, ._ },
34029 .{ .@"0:", ._, .mov, .tmp4d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
2918434030 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
34031 .{ ._, ._, .bzhi, .tmp4q, .lea(.tmp1q), .tmp3q, ._ },
34032 .{ ._, ._, .mov, .lea(.tmp2q), .tmp4q, ._, ._ },
34033 .{ ._, ._, .mov, .lead(.tmp2q, 8), .si(0), ._, ._ },
34034 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34035 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
34036 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
34037 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
2918534038 } },
2918634039 }, .{
29187 .required_features = .{ .@"64bit", null, null, null },
29188 .src_constraints = .{ .any_signed_int, .any },
29189 .dst_constraints = .{.{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
34040 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
34041 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34042 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
2919034043 .patterns = &.{
2919134044 .{ .src = .{ .to_mem, .none } },
2919234045 },
2919334046 .extra_temps = .{
34047 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2919434048 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2919534049 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34050 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2919634051 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29197 .unused,
29198 .unused,
29199 .unused,
34052 .{ .type = .u64, .kind = .{ .reg = .rax } },
2920034053 .unused,
2920134054 .unused,
2920234055 .unused,
......@@ -29204,29 +34057,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2920434057 .dst_temps = .{.mem},
2920534058 .clobbers = .{ .eflags = true },
2920634059 .each = .{ .once = &.{
29207 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29208 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29209 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
34060 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34061 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34062 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34063 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size_rem_64), ._, ._ },
34064 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2921034065 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29211 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },
29212 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
29213 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
29214 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
34066 .{ ._, ._, .bzhi, .tmp5q, .lea(.tmp1q), .tmp3q, ._ },
34067 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
34068 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34069 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
34070 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
2921534071 } },
2921634072 }, .{
29217 .required_features = .{ .@"64bit", null, null, null },
29218 .src_constraints = .{ .any_signed_int, .any },
29219 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }},
34073 .required_features = .{ .@"64bit", .bmi2, null, null },
34074 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34075 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
2922034076 .patterns = &.{
2922134077 .{ .src = .{ .to_mem, .none } },
2922234078 },
2922334079 .extra_temps = .{
34080 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2922434081 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2922534082 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34083 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2922634084 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29227 .unused,
29228 .unused,
29229 .unused,
34085 .{ .type = .u64, .kind = .{ .reg = .rax } },
2923034086 .unused,
2923134087 .unused,
2923234088 .unused,
......@@ -29234,25 +34090,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2923434090 .dst_temps = .{.mem},
2923534091 .clobbers = .{ .eflags = true },
2923634092 .each = .{ .once = &.{
29237 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29238 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29239 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
34093 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34094 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34095 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34096 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size_rem_64), ._, ._ },
34097 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2924034098 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29241 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },
29242 .{ ._, ._l, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29243 .{ ._, ._r, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29244 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
29245 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
29246 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
34099 .{ ._, ._, .bzhi, .tmp5q, .lea(.tmp1q), .tmp3q, ._ },
34100 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
34101 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34102 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
34103 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
2924734104 } },
2924834105 }, .{
29249 .required_features = .{ .@"64bit", null, null, null },
29250 .src_constraints = .{ .any_signed_int, .any },
29251 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }},
34106 .required_features = .{ .@"64bit", .slow_incdec, null, null },
34107 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34108 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
2925234109 .patterns = &.{
2925334110 .{ .src = .{ .to_mem, .none } },
2925434111 },
2925534112 .extra_temps = .{
34113 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2925634114 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2925734115 .{ .type = .usize, .kind = .{ .reg = .rdi } },
2925834116 .{ .type = .u32, .kind = .{ .reg = .ecx } },
......@@ -29261,28 +34119,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2926134119 .unused,
2926234120 .unused,
2926334121 .unused,
29264 .unused,
2926534122 },
2926634123 .dst_temps = .{.mem},
2926734124 .clobbers = .{ .eflags = true },
2926834125 .each = .{ .once = &.{
29269 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29270 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29271 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
34126 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34127 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34128 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34129 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
2927234130 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29273 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -8), ._, ._ },
29274 .{ ._, ._l, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29275 .{ ._, ._r, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },
29276 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
34131 .{ ._, ._, .mov, .tmp3q, .ua(.dst0, .add_umax), ._, ._ },
34132 .{ ._, ._, .@"and", .tmp3q, .lea(.tmp1q), ._, ._ },
34133 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
34134 .{ ._, ._, .mov, .lead(.tmp2q, 8), .si(0), ._, ._ },
34135 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34136 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
34137 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
34138 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
2927734139 } },
2927834140 }, .{
2927934141 .required_features = .{ .@"64bit", null, null, null },
29280 .src_constraints = .{ .any_unsigned_int, .any },
29281 .dst_constraints = .{.{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
34142 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34143 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
2928234144 .patterns = &.{
2928334145 .{ .src = .{ .to_mem, .none } },
2928434146 },
2928534147 .extra_temps = .{
34148 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2928634149 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2928734150 .{ .type = .usize, .kind = .{ .reg = .rdi } },
2928834151 .{ .type = .u32, .kind = .{ .reg = .ecx } },
......@@ -29291,75 +34154,91 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2929134154 .unused,
2929234155 .unused,
2929334156 .unused,
29294 .unused,
2929534157 },
2929634158 .dst_temps = .{.mem},
2929734159 .clobbers = .{ .eflags = true },
2929834160 .each = .{ .once = &.{
29299 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29300 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29301 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
34161 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34162 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34163 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34164 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
2930234165 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29303 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ },
34166 .{ ._, ._, .mov, .tmp3q, .ua(.dst0, .add_umax), ._, ._ },
34167 .{ ._, ._, .@"and", .tmp3q, .lea(.tmp1q), ._, ._ },
34168 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
34169 .{ ._, ._, .mov, .lead(.tmp2q, 8), .si(0), ._, ._ },
34170 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34171 .{ ._, ._, .lea, .tmp2p, .lead(.tmp2, 16), ._, ._ },
34172 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
34173 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
2930434174 } },
2930534175 }, .{
29306 .required_features = .{ .@"64bit", null, null, null },
29307 .src_constraints = .{ .any_unsigned_int, .any },
29308 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
34176 .required_features = .{ .@"64bit", .slow_incdec, null, null },
34177 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34178 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
2930934179 .patterns = &.{
2931034180 .{ .src = .{ .to_mem, .none } },
2931134181 },
2931234182 .extra_temps = .{
34183 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2931334184 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2931434185 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34186 .{ .type = .u64, .kind = .{ .reg = .rax } },
2931534187 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2931634188 .unused,
2931734189 .unused,
2931834190 .unused,
2931934191 .unused,
29320 .unused,
29321 .unused,
2932234192 },
2932334193 .dst_temps = .{.mem},
2932434194 .clobbers = .{ .eflags = true },
2932534195 .each = .{ .once = &.{
29326 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29327 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29328 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },
34196 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34197 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34198 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34199 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
34200 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2932934201 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29330 .{ ._, ._, .mov, .tmp0q, .ua(.dst0, .add_umax), ._, ._ },
29331 .{ ._, ._, .@"and", .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },
29332 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },
29333 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ },
34202 .{ ._, ._, .mov, .tmp4q, .ua(.dst0, .add_umax), ._, ._ },
34203 .{ ._, ._, .@"and", .tmp4q, .lea(.tmp1q), ._, ._ },
34204 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
34205 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34206 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
34207 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
2933434208 } },
2933534209 }, .{
2933634210 .required_features = .{ .@"64bit", null, null, null },
29337 .src_constraints = .{ .any_unsigned_int, .any },
29338 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
34211 .src_constraints = .{ .any_scalar_unsigned_int, .any },
34212 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
2933934213 .patterns = &.{
2934034214 .{ .src = .{ .to_mem, .none } },
2934134215 },
2934234216 .extra_temps = .{
34217 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
2934334218 .{ .type = .usize, .kind = .{ .reg = .rsi } },
2934434219 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34220 .{ .type = .u64, .kind = .{ .reg = .rax } },
2934534221 .{ .type = .u32, .kind = .{ .reg = .ecx } },
2934634222 .unused,
2934734223 .unused,
2934834224 .unused,
2934934225 .unused,
29350 .unused,
29351 .unused,
2935234226 },
2935334227 .dst_temps = .{.mem},
2935434228 .clobbers = .{ .eflags = true },
2935534229 .each = .{ .once = &.{
29356 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
29357 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
29358 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
34230 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
34231 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
34232 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34233 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
34234 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
2935934235 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29360 .{ ._, ._, .mov, .tmp0q, .ua(.dst0, .add_umax), ._, ._ },
29361 .{ ._, ._, .@"and", .tmp0q, .memad(.src0q, .add_size, -8), ._, ._ },
29362 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
34236 .{ ._, ._, .mov, .tmp4q, .ua(.dst0, .add_umax), ._, ._ },
34237 .{ ._, ._, .@"and", .tmp4q, .lea(.tmp1q), ._, ._ },
34238 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
34239 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34240 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
34241 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
2936334242 } },
2936434243 } }) catch |err| switch (err) {
2936534244 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
......@@ -50265,7 +55144,15 @@ const Select = struct {
5026555144 multiple_scalar_int: OfIsSizes,
5026655145 multiple_scalar_signed_int: OfIsSizes,
5026755146 multiple_scalar_unsigned_int: OfIsSizes,
55147 multiple_scalar_exact_int: struct { of: Memory.Size, is: u16 },
55148 multiple_scalar_exact_signed_int: struct { of: Memory.Size, is: u16 },
55149 multiple_scalar_exact_unsigned_int: struct { of: Memory.Size, is: u16 },
5026855150 scalar_remainder_int: OfIsSizes,
55151 scalar_remainder_signed_int: OfIsSizes,
55152 scalar_remainder_unsigned_int: OfIsSizes,
55153 scalar_exact_remainder_int: OfIsSizes,
55154 scalar_exact_remainder_signed_int: OfIsSizes,
55155 scalar_exact_remainder_unsigned_int: OfIsSizes,
5026955156 float: Memory.Size,
5027055157 scalar_any_float: Memory.Size,
5027155158 scalar_float: OfIsSizes,
......@@ -50352,10 +55239,30 @@ const Select = struct {
5035255239 .multiple_scalar_unsigned_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
5035355240 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
5035455241 of_is.is.bitSize(cg.target) >= int_info.bits else false,
55242 .multiple_scalar_exact_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
55243 if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is == int_info.bits else false,
55244 .multiple_scalar_exact_signed_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
55245 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
55246 of_is.is == int_info.bits else false,
55247 .multiple_scalar_exact_unsigned_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
55248 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
55249 of_is.is == int_info.bits else false,
5035555250 .scalar_remainder_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info|
5035655251 of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1
5035755252 else
5035855253 false,
55254 .scalar_remainder_signed_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
55255 of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
55256 .scalar_remainder_unsigned_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
55257 of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
55258 .scalar_exact_remainder_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info|
55259 of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1
55260 else
55261 false,
55262 .scalar_exact_remainder_signed_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and
55263 of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
55264 .scalar_exact_remainder_unsigned_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
55265 of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false,
5035955266 .float => |size| if (cg.floatBits(ty)) |float_bits| size.bitSize(cg.target) == float_bits else false,
5036055267 .scalar_any_float => |size| @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and
5036155268 cg.floatBits(ty.scalarType(zcu)) != null,
......@@ -50629,7 +55536,11 @@ const Select = struct {
5062955536 frame: FrameIndex,
5063055537 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },
5063155538
50632 const ConstInfo = struct { ref: Select.Operand.Ref, vectorize_to: ?Memory.Size = null };
55539 const ConstInfo = struct {
55540 ref: Select.Operand.Ref,
55541 to_signedness: ?std.builtin.Signedness = null,
55542 vectorize_to: ?Memory.Size = null,
55543 };
5063355544
5063455545 fn finish(kind: Kind, temp: Temp, s: *const Select) void {
5063555546 switch (kind) {
......@@ -50704,7 +55615,8 @@ const Select = struct {
5070455615 .signedness = .signed,
5070555616 .bits = cg.floatBits(scalar_ty).?,
5070655617 };
50707 const scalar_int_ty = try pt.intType(scalar_info.signedness, scalar_info.bits);
55618 const scalar_signedness = const_info.to_signedness orelse scalar_info.signedness;
55619 const scalar_int_ty = try pt.intType(scalar_signedness, scalar_info.bits);
5070855620 if (scalar_info.bits <= 64) {
5070955621 const int_val: i64 = switch (spec.kind) {
5071055622 else => unreachable,
......@@ -50714,7 +55626,7 @@ const Select = struct {
5071455626 .umax_mem => -1,
5071555627 };
5071655628 const shift: u6 = @intCast(64 - scalar_info.bits);
50717 break :res_scalar .{ scalar_int_ty, switch (scalar_info.signedness) {
55629 break :res_scalar .{ scalar_int_ty, switch (scalar_signedness) {
5071855630 .signed => try pt.intValue_i64(scalar_int_ty, int_val >> shift),
5071955631 .unsigned => try pt.intValue_u64(scalar_int_ty, @as(u64, @bitCast(int_val)) >> shift),
5072055632 } };
......@@ -50730,7 +55642,7 @@ const Select = struct {
5073055642 .smin_mem, .smax_mem => .signed,
5073155643 .umin_mem, .umax_mem => .unsigned,
5073255644 }, scalar_info.bits);
50733 try big_int.truncate(&big_int, scalar_info.signedness, scalar_info.bits);
55645 try big_int.truncate(&big_int, scalar_signedness, scalar_info.bits);
5073455646 break :res_scalar .{ scalar_int_ty, try pt.intValue_big(scalar_int_ty, big_int.toConst()) };
5073555647 },
5073655648 };
......@@ -50832,7 +55744,8 @@ const Select = struct {
5083255744 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
5083355745 const add_2_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"2" };
5083455746 const add_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"1" };
50835 const sub_bit_size_rem_64: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" };
55747 const add_bit_size_rem_64: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" };
55748 const sub_bit_size_rem_64: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" };
5083655749 const sub_bit_size: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .mul, .rhs = .@"1" };
5083755750 const add_src0_bit_size: Adjust = .{ .sign = .pos, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" };
5083855751 const sub_src0_bit_size: Adjust = .{ .sign = .neg, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" };
......@@ -51163,6 +56076,9 @@ const Select = struct {
5116356076 fn sia(imm: i32, base: Ref.Sized, adjust: Adjust) Select.Operand {
5116456077 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base, .imm = imm };
5116556078 }
56079 fn sia2(imm: i32, base: Ref.Sized, index: Ref, adjust: Adjust) Select.Operand {
56080 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base, .index = .{ .ref = index }, .imm = imm };
56081 }
5116656082 fn ui(imm: u32) Select.Operand {
5116756083 return .{ .flags = .{ .tag = .uimm }, .imm = @bitCast(imm) };
5116856084 }
test/behavior/x86_64/math.zig+1345
......@@ -5223,719 +5223,2063 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
52235223 try testArgs(f128, f128, nan(f128));
52245224 }
52255225 fn testSameSignednessIntVectors() !void {
5226 try testArgs(@Vector(1, i7), @Vector(1, i1), .{-1});
52265227 try testArgs(@Vector(1, i8), @Vector(1, i1), .{-1});
5228 try testArgs(@Vector(1, i9), @Vector(1, i1), .{-1});
5229 try testArgs(@Vector(1, i15), @Vector(1, i1), .{-1});
52275230 try testArgs(@Vector(1, i16), @Vector(1, i1), .{-1});
5231 try testArgs(@Vector(1, i17), @Vector(1, i1), .{-1});
5232 try testArgs(@Vector(1, i31), @Vector(1, i1), .{-1});
52285233 try testArgs(@Vector(1, i32), @Vector(1, i1), .{-1});
5234 try testArgs(@Vector(1, i33), @Vector(1, i1), .{-1});
5235 try testArgs(@Vector(1, i63), @Vector(1, i1), .{-1});
52295236 try testArgs(@Vector(1, i64), @Vector(1, i1), .{-1});
5237 try testArgs(@Vector(1, i65), @Vector(1, i1), .{-1});
5238 try testArgs(@Vector(1, i127), @Vector(1, i1), .{-1});
52305239 try testArgs(@Vector(1, i128), @Vector(1, i1), .{-1});
5240 try testArgs(@Vector(1, i129), @Vector(1, i1), .{-1});
5241 try testArgs(@Vector(1, i255), @Vector(1, i1), .{-1});
52315242 try testArgs(@Vector(1, i256), @Vector(1, i1), .{-1});
5243 try testArgs(@Vector(1, i257), @Vector(1, i1), .{-1});
5244 try testArgs(@Vector(1, i511), @Vector(1, i1), .{-1});
52325245 try testArgs(@Vector(1, i512), @Vector(1, i1), .{-1});
5246 try testArgs(@Vector(1, i513), @Vector(1, i1), .{-1});
5247 try testArgs(@Vector(1, i1023), @Vector(1, i1), .{-1});
52335248 try testArgs(@Vector(1, i1024), @Vector(1, i1), .{-1});
5249 try testArgs(@Vector(1, i1025), @Vector(1, i1), .{-1});
5250 try testArgs(@Vector(1, u7), @Vector(1, u1), .{1});
52345251 try testArgs(@Vector(1, u8), @Vector(1, u1), .{1});
5252 try testArgs(@Vector(1, u9), @Vector(1, u1), .{1});
5253 try testArgs(@Vector(1, u15), @Vector(1, u1), .{1});
52355254 try testArgs(@Vector(1, u16), @Vector(1, u1), .{1});
5255 try testArgs(@Vector(1, u17), @Vector(1, u1), .{1});
5256 try testArgs(@Vector(1, u31), @Vector(1, u1), .{1});
52365257 try testArgs(@Vector(1, u32), @Vector(1, u1), .{1});
5258 try testArgs(@Vector(1, u33), @Vector(1, u1), .{1});
5259 try testArgs(@Vector(1, u63), @Vector(1, u1), .{1});
52375260 try testArgs(@Vector(1, u64), @Vector(1, u1), .{1});
5261 try testArgs(@Vector(1, u65), @Vector(1, u1), .{1});
5262 try testArgs(@Vector(1, u127), @Vector(1, u1), .{1});
52385263 try testArgs(@Vector(1, u128), @Vector(1, u1), .{1});
5264 try testArgs(@Vector(1, u129), @Vector(1, u1), .{1});
5265 try testArgs(@Vector(1, u255), @Vector(1, u1), .{1});
52395266 try testArgs(@Vector(1, u256), @Vector(1, u1), .{1});
5267 try testArgs(@Vector(1, u257), @Vector(1, u1), .{1});
5268 try testArgs(@Vector(1, u511), @Vector(1, u1), .{1});
52405269 try testArgs(@Vector(1, u512), @Vector(1, u1), .{1});
5270 try testArgs(@Vector(1, u513), @Vector(1, u1), .{1});
5271 try testArgs(@Vector(1, u1023), @Vector(1, u1), .{1});
52415272 try testArgs(@Vector(1, u1024), @Vector(1, u1), .{1});
5273 try testArgs(@Vector(1, u1025), @Vector(1, u1), .{1});
52425274
5275 try testArgs(@Vector(2, i7), @Vector(2, i1), .{ -1, 0 });
52435276 try testArgs(@Vector(2, i8), @Vector(2, i1), .{ -1, 0 });
5277 try testArgs(@Vector(2, i9), @Vector(2, i1), .{ -1, 0 });
5278 try testArgs(@Vector(2, i15), @Vector(2, i1), .{ -1, 0 });
52445279 try testArgs(@Vector(2, i16), @Vector(2, i1), .{ -1, 0 });
5280 try testArgs(@Vector(2, i17), @Vector(2, i1), .{ -1, 0 });
5281 try testArgs(@Vector(2, i31), @Vector(2, i1), .{ -1, 0 });
52455282 try testArgs(@Vector(2, i32), @Vector(2, i1), .{ -1, 0 });
5283 try testArgs(@Vector(2, i33), @Vector(2, i1), .{ -1, 0 });
5284 try testArgs(@Vector(2, i63), @Vector(2, i1), .{ -1, 0 });
52465285 try testArgs(@Vector(2, i64), @Vector(2, i1), .{ -1, 0 });
5286 try testArgs(@Vector(2, i65), @Vector(2, i1), .{ -1, 0 });
5287 try testArgs(@Vector(2, i127), @Vector(2, i1), .{ -1, 0 });
52475288 try testArgs(@Vector(2, i128), @Vector(2, i1), .{ -1, 0 });
5289 try testArgs(@Vector(2, i129), @Vector(2, i1), .{ -1, 0 });
5290 try testArgs(@Vector(2, i255), @Vector(2, i1), .{ -1, 0 });
52485291 try testArgs(@Vector(2, i256), @Vector(2, i1), .{ -1, 0 });
5292 try testArgs(@Vector(2, i257), @Vector(2, i1), .{ -1, 0 });
5293 try testArgs(@Vector(2, i511), @Vector(2, i1), .{ -1, 0 });
52495294 try testArgs(@Vector(2, i512), @Vector(2, i1), .{ -1, 0 });
5295 try testArgs(@Vector(2, i513), @Vector(2, i1), .{ -1, 0 });
5296 try testArgs(@Vector(2, i1023), @Vector(2, i1), .{ -1, 0 });
52505297 try testArgs(@Vector(2, i1024), @Vector(2, i1), .{ -1, 0 });
5298 try testArgs(@Vector(2, i1025), @Vector(2, i1), .{ -1, 0 });
5299 try testArgs(@Vector(2, u7), @Vector(2, u1), .{ 0, 1 });
52515300 try testArgs(@Vector(2, u8), @Vector(2, u1), .{ 0, 1 });
5301 try testArgs(@Vector(2, u9), @Vector(2, u1), .{ 0, 1 });
5302 try testArgs(@Vector(2, u15), @Vector(2, u1), .{ 0, 1 });
52525303 try testArgs(@Vector(2, u16), @Vector(2, u1), .{ 0, 1 });
5304 try testArgs(@Vector(2, u17), @Vector(2, u1), .{ 0, 1 });
5305 try testArgs(@Vector(2, u31), @Vector(2, u1), .{ 0, 1 });
52535306 try testArgs(@Vector(2, u32), @Vector(2, u1), .{ 0, 1 });
5307 try testArgs(@Vector(2, u33), @Vector(2, u1), .{ 0, 1 });
5308 try testArgs(@Vector(2, u63), @Vector(2, u1), .{ 0, 1 });
52545309 try testArgs(@Vector(2, u64), @Vector(2, u1), .{ 0, 1 });
5310 try testArgs(@Vector(2, u65), @Vector(2, u1), .{ 0, 1 });
5311 try testArgs(@Vector(2, u127), @Vector(2, u1), .{ 0, 1 });
52555312 try testArgs(@Vector(2, u128), @Vector(2, u1), .{ 0, 1 });
5313 try testArgs(@Vector(2, u129), @Vector(2, u1), .{ 0, 1 });
5314 try testArgs(@Vector(2, u255), @Vector(2, u1), .{ 0, 1 });
52565315 try testArgs(@Vector(2, u256), @Vector(2, u1), .{ 0, 1 });
5316 try testArgs(@Vector(2, u257), @Vector(2, u1), .{ 0, 1 });
5317 try testArgs(@Vector(2, u511), @Vector(2, u1), .{ 0, 1 });
52575318 try testArgs(@Vector(2, u512), @Vector(2, u1), .{ 0, 1 });
5319 try testArgs(@Vector(2, u513), @Vector(2, u1), .{ 0, 1 });
5320 try testArgs(@Vector(2, u1023), @Vector(2, u1), .{ 0, 1 });
52585321 try testArgs(@Vector(2, u1024), @Vector(2, u1), .{ 0, 1 });
5322 try testArgs(@Vector(2, u1025), @Vector(2, u1), .{ 0, 1 });
52595323
5324 try testArgs(@Vector(3, i7), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52605325 try testArgs(@Vector(3, i8), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5326 try testArgs(@Vector(3, i9), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5327 try testArgs(@Vector(3, i15), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52615328 try testArgs(@Vector(3, i16), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5329 try testArgs(@Vector(3, i17), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5330 try testArgs(@Vector(3, i31), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52625331 try testArgs(@Vector(3, i32), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5332 try testArgs(@Vector(3, i33), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5333 try testArgs(@Vector(3, i63), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52635334 try testArgs(@Vector(3, i64), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5335 try testArgs(@Vector(3, i65), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5336 try testArgs(@Vector(3, i127), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52645337 try testArgs(@Vector(3, i128), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5338 try testArgs(@Vector(3, i129), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5339 try testArgs(@Vector(3, i255), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52655340 try testArgs(@Vector(3, i256), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5341 try testArgs(@Vector(3, i257), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5342 try testArgs(@Vector(3, i511), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52665343 try testArgs(@Vector(3, i512), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5344 try testArgs(@Vector(3, i513), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5345 try testArgs(@Vector(3, i1023), @Vector(3, i2), .{ -1 << 1, -1, 0 });
52675346 try testArgs(@Vector(3, i1024), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5347 try testArgs(@Vector(3, i1025), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5348 try testArgs(@Vector(3, u7), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52685349 try testArgs(@Vector(3, u8), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5350 try testArgs(@Vector(3, u9), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5351 try testArgs(@Vector(3, u15), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52695352 try testArgs(@Vector(3, u16), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5353 try testArgs(@Vector(3, u17), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5354 try testArgs(@Vector(3, u31), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52705355 try testArgs(@Vector(3, u32), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5356 try testArgs(@Vector(3, u33), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5357 try testArgs(@Vector(3, u63), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52715358 try testArgs(@Vector(3, u64), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5359 try testArgs(@Vector(3, u65), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5360 try testArgs(@Vector(3, u127), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52725361 try testArgs(@Vector(3, u128), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5362 try testArgs(@Vector(3, u129), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5363 try testArgs(@Vector(3, u255), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52735364 try testArgs(@Vector(3, u256), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5365 try testArgs(@Vector(3, u257), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5366 try testArgs(@Vector(3, u511), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52745367 try testArgs(@Vector(3, u512), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5368 try testArgs(@Vector(3, u513), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5369 try testArgs(@Vector(3, u1023), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52755370 try testArgs(@Vector(3, u1024), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5371 try testArgs(@Vector(3, u1025), @Vector(3, u2), .{ 0, 1, 1 << 1 });
52765372
5373 try testArgs(@Vector(3, i7), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52775374 try testArgs(@Vector(3, i8), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5375 try testArgs(@Vector(3, i9), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5376 try testArgs(@Vector(3, i15), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52785377 try testArgs(@Vector(3, i16), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5378 try testArgs(@Vector(3, i17), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5379 try testArgs(@Vector(3, i31), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52795380 try testArgs(@Vector(3, i32), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5381 try testArgs(@Vector(3, i33), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5382 try testArgs(@Vector(3, i63), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52805383 try testArgs(@Vector(3, i64), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5384 try testArgs(@Vector(3, i65), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5385 try testArgs(@Vector(3, i127), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52815386 try testArgs(@Vector(3, i128), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5387 try testArgs(@Vector(3, i129), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5388 try testArgs(@Vector(3, i255), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52825389 try testArgs(@Vector(3, i256), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5390 try testArgs(@Vector(3, i257), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5391 try testArgs(@Vector(3, i511), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52835392 try testArgs(@Vector(3, i512), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5393 try testArgs(@Vector(3, i513), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5394 try testArgs(@Vector(3, i1023), @Vector(3, i3), .{ -1 << 2, -1, 0 });
52845395 try testArgs(@Vector(3, i1024), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5396 try testArgs(@Vector(3, i1025), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5397 try testArgs(@Vector(3, u7), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52855398 try testArgs(@Vector(3, u8), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5399 try testArgs(@Vector(3, u9), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5400 try testArgs(@Vector(3, u15), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52865401 try testArgs(@Vector(3, u16), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5402 try testArgs(@Vector(3, u17), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5403 try testArgs(@Vector(3, u31), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52875404 try testArgs(@Vector(3, u32), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5405 try testArgs(@Vector(3, u33), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5406 try testArgs(@Vector(3, u63), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52885407 try testArgs(@Vector(3, u64), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5408 try testArgs(@Vector(3, u65), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5409 try testArgs(@Vector(3, u127), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52895410 try testArgs(@Vector(3, u128), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5411 try testArgs(@Vector(3, u129), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5412 try testArgs(@Vector(3, u255), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52905413 try testArgs(@Vector(3, u256), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5414 try testArgs(@Vector(3, u257), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5415 try testArgs(@Vector(3, u511), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52915416 try testArgs(@Vector(3, u512), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5417 try testArgs(@Vector(3, u513), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5418 try testArgs(@Vector(3, u1023), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52925419 try testArgs(@Vector(3, u1024), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5420 try testArgs(@Vector(3, u1025), @Vector(3, u3), .{ 0, 1, 1 << 2 });
52935421
5422 try testArgs(@Vector(3, i7), @Vector(3, i4), .{ -1 << 3, -1, 0 });
52945423 try testArgs(@Vector(3, i8), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5424 try testArgs(@Vector(3, i9), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5425 try testArgs(@Vector(3, i15), @Vector(3, i4), .{ -1 << 3, -1, 0 });
52955426 try testArgs(@Vector(3, i16), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5427 try testArgs(@Vector(3, i17), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5428 try testArgs(@Vector(3, i31), @Vector(3, i4), .{ -1 << 3, -1, 0 });
52965429 try testArgs(@Vector(3, i32), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5430 try testArgs(@Vector(3, i33), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5431 try testArgs(@Vector(3, i63), @Vector(3, i4), .{ -1 << 3, -1, 0 });
52975432 try testArgs(@Vector(3, i64), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5433 try testArgs(@Vector(3, i65), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5434 try testArgs(@Vector(3, i127), @Vector(3, i4), .{ -1 << 3, -1, 0 });
52985435 try testArgs(@Vector(3, i128), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5436 try testArgs(@Vector(3, i129), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5437 try testArgs(@Vector(3, i255), @Vector(3, i4), .{ -1 << 3, -1, 0 });
52995438 try testArgs(@Vector(3, i256), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5439 try testArgs(@Vector(3, i257), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5440 try testArgs(@Vector(3, i511), @Vector(3, i4), .{ -1 << 3, -1, 0 });
53005441 try testArgs(@Vector(3, i512), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5442 try testArgs(@Vector(3, i513), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5443 try testArgs(@Vector(3, i1023), @Vector(3, i4), .{ -1 << 3, -1, 0 });
53015444 try testArgs(@Vector(3, i1024), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5445 try testArgs(@Vector(3, i1025), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5446 try testArgs(@Vector(3, u7), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53025447 try testArgs(@Vector(3, u8), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5448 try testArgs(@Vector(3, u9), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5449 try testArgs(@Vector(3, u15), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53035450 try testArgs(@Vector(3, u16), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5451 try testArgs(@Vector(3, u17), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5452 try testArgs(@Vector(3, u31), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53045453 try testArgs(@Vector(3, u32), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5454 try testArgs(@Vector(3, u33), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5455 try testArgs(@Vector(3, u63), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53055456 try testArgs(@Vector(3, u64), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5457 try testArgs(@Vector(3, u65), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5458 try testArgs(@Vector(3, u127), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53065459 try testArgs(@Vector(3, u128), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5460 try testArgs(@Vector(3, u129), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5461 try testArgs(@Vector(3, u255), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53075462 try testArgs(@Vector(3, u256), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5463 try testArgs(@Vector(3, u257), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5464 try testArgs(@Vector(3, u511), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53085465 try testArgs(@Vector(3, u512), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5466 try testArgs(@Vector(3, u513), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5467 try testArgs(@Vector(3, u1023), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53095468 try testArgs(@Vector(3, u1024), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5469 try testArgs(@Vector(3, u1025), @Vector(3, u4), .{ 0, 1, 1 << 3 });
53105470
5471 try testArgs(@Vector(3, i7), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53115472 try testArgs(@Vector(3, i8), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5473 try testArgs(@Vector(3, i9), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5474 try testArgs(@Vector(3, i15), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53125475 try testArgs(@Vector(3, i16), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5476 try testArgs(@Vector(3, i17), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5477 try testArgs(@Vector(3, i31), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53135478 try testArgs(@Vector(3, i32), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5479 try testArgs(@Vector(3, i33), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5480 try testArgs(@Vector(3, i63), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53145481 try testArgs(@Vector(3, i64), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5482 try testArgs(@Vector(3, i65), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5483 try testArgs(@Vector(3, i127), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53155484 try testArgs(@Vector(3, i128), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5485 try testArgs(@Vector(3, i129), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5486 try testArgs(@Vector(3, i255), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53165487 try testArgs(@Vector(3, i256), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5488 try testArgs(@Vector(3, i257), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5489 try testArgs(@Vector(3, i511), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53175490 try testArgs(@Vector(3, i512), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5491 try testArgs(@Vector(3, i513), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5492 try testArgs(@Vector(3, i1023), @Vector(3, i5), .{ -1 << 4, -1, 0 });
53185493 try testArgs(@Vector(3, i1024), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5494 try testArgs(@Vector(3, i1025), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5495 try testArgs(@Vector(3, u7), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53195496 try testArgs(@Vector(3, u8), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5497 try testArgs(@Vector(3, u9), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5498 try testArgs(@Vector(3, u15), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53205499 try testArgs(@Vector(3, u16), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5500 try testArgs(@Vector(3, u17), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5501 try testArgs(@Vector(3, u31), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53215502 try testArgs(@Vector(3, u32), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5503 try testArgs(@Vector(3, u33), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5504 try testArgs(@Vector(3, u63), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53225505 try testArgs(@Vector(3, u64), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5506 try testArgs(@Vector(3, u65), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5507 try testArgs(@Vector(3, u127), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53235508 try testArgs(@Vector(3, u128), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5509 try testArgs(@Vector(3, u129), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5510 try testArgs(@Vector(3, u255), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53245511 try testArgs(@Vector(3, u256), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5512 try testArgs(@Vector(3, u257), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5513 try testArgs(@Vector(3, u511), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53255514 try testArgs(@Vector(3, u512), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5515 try testArgs(@Vector(3, u513), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5516 try testArgs(@Vector(3, u1023), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53265517 try testArgs(@Vector(3, u1024), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5518 try testArgs(@Vector(3, u1025), @Vector(3, u5), .{ 0, 1, 1 << 4 });
53275519
5520 try testArgs(@Vector(3, i7), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53285521 try testArgs(@Vector(3, i8), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5522 try testArgs(@Vector(3, i9), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5523 try testArgs(@Vector(3, i15), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53295524 try testArgs(@Vector(3, i16), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5525 try testArgs(@Vector(3, i17), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5526 try testArgs(@Vector(3, i31), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53305527 try testArgs(@Vector(3, i32), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5528 try testArgs(@Vector(3, i33), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5529 try testArgs(@Vector(3, i63), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53315530 try testArgs(@Vector(3, i64), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5531 try testArgs(@Vector(3, i65), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5532 try testArgs(@Vector(3, i127), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53325533 try testArgs(@Vector(3, i128), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5534 try testArgs(@Vector(3, i129), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5535 try testArgs(@Vector(3, i255), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53335536 try testArgs(@Vector(3, i256), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5537 try testArgs(@Vector(3, i257), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5538 try testArgs(@Vector(3, i511), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53345539 try testArgs(@Vector(3, i512), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5540 try testArgs(@Vector(3, i513), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5541 try testArgs(@Vector(3, i1023), @Vector(3, i7), .{ -1 << 6, -1, 0 });
53355542 try testArgs(@Vector(3, i1024), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5543 try testArgs(@Vector(3, i1025), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5544 try testArgs(@Vector(3, u7), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53365545 try testArgs(@Vector(3, u8), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5546 try testArgs(@Vector(3, u9), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5547 try testArgs(@Vector(3, u15), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53375548 try testArgs(@Vector(3, u16), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5549 try testArgs(@Vector(3, u17), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5550 try testArgs(@Vector(3, u31), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53385551 try testArgs(@Vector(3, u32), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5552 try testArgs(@Vector(3, u33), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5553 try testArgs(@Vector(3, u63), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53395554 try testArgs(@Vector(3, u64), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5555 try testArgs(@Vector(3, u65), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5556 try testArgs(@Vector(3, u127), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53405557 try testArgs(@Vector(3, u128), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5558 try testArgs(@Vector(3, u129), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5559 try testArgs(@Vector(3, u255), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53415560 try testArgs(@Vector(3, u256), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5561 try testArgs(@Vector(3, u257), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5562 try testArgs(@Vector(3, u511), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53425563 try testArgs(@Vector(3, u512), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5564 try testArgs(@Vector(3, u513), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5565 try testArgs(@Vector(3, u1023), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53435566 try testArgs(@Vector(3, u1024), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5567 try testArgs(@Vector(3, u1025), @Vector(3, u7), .{ 0, 1, 1 << 6 });
53445568
5569 try testArgs(@Vector(3, i7), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53455570 try testArgs(@Vector(3, i8), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5571 try testArgs(@Vector(3, i9), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5572 try testArgs(@Vector(3, i15), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53465573 try testArgs(@Vector(3, i16), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5574 try testArgs(@Vector(3, i17), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5575 try testArgs(@Vector(3, i31), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53475576 try testArgs(@Vector(3, i32), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5577 try testArgs(@Vector(3, i33), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5578 try testArgs(@Vector(3, i63), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53485579 try testArgs(@Vector(3, i64), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5580 try testArgs(@Vector(3, i65), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5581 try testArgs(@Vector(3, i127), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53495582 try testArgs(@Vector(3, i128), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5583 try testArgs(@Vector(3, i129), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5584 try testArgs(@Vector(3, i255), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53505585 try testArgs(@Vector(3, i256), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5586 try testArgs(@Vector(3, i257), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5587 try testArgs(@Vector(3, i511), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53515588 try testArgs(@Vector(3, i512), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5589 try testArgs(@Vector(3, i513), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5590 try testArgs(@Vector(3, i1023), @Vector(3, i8), .{ -1 << 7, -1, 0 });
53525591 try testArgs(@Vector(3, i1024), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5592 try testArgs(@Vector(3, i1025), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5593 try testArgs(@Vector(3, u7), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53535594 try testArgs(@Vector(3, u8), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5595 try testArgs(@Vector(3, u9), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5596 try testArgs(@Vector(3, u15), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53545597 try testArgs(@Vector(3, u16), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5598 try testArgs(@Vector(3, u17), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5599 try testArgs(@Vector(3, u31), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53555600 try testArgs(@Vector(3, u32), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5601 try testArgs(@Vector(3, u33), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5602 try testArgs(@Vector(3, u63), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53565603 try testArgs(@Vector(3, u64), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5604 try testArgs(@Vector(3, u65), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5605 try testArgs(@Vector(3, u127), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53575606 try testArgs(@Vector(3, u128), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5607 try testArgs(@Vector(3, u129), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5608 try testArgs(@Vector(3, u255), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53585609 try testArgs(@Vector(3, u256), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5610 try testArgs(@Vector(3, u257), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5611 try testArgs(@Vector(3, u511), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53595612 try testArgs(@Vector(3, u512), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5613 try testArgs(@Vector(3, u513), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5614 try testArgs(@Vector(3, u1023), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53605615 try testArgs(@Vector(3, u1024), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5616 try testArgs(@Vector(3, u1025), @Vector(3, u8), .{ 0, 1, 1 << 7 });
53615617
5618 try testArgs(@Vector(3, i7), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53625619 try testArgs(@Vector(3, i8), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5620 try testArgs(@Vector(3, i9), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5621 try testArgs(@Vector(3, i15), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53635622 try testArgs(@Vector(3, i16), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5623 try testArgs(@Vector(3, i17), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5624 try testArgs(@Vector(3, i31), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53645625 try testArgs(@Vector(3, i32), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5626 try testArgs(@Vector(3, i33), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5627 try testArgs(@Vector(3, i63), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53655628 try testArgs(@Vector(3, i64), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5629 try testArgs(@Vector(3, i65), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5630 try testArgs(@Vector(3, i127), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53665631 try testArgs(@Vector(3, i128), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5632 try testArgs(@Vector(3, i129), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5633 try testArgs(@Vector(3, i255), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53675634 try testArgs(@Vector(3, i256), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5635 try testArgs(@Vector(3, i257), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5636 try testArgs(@Vector(3, i511), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53685637 try testArgs(@Vector(3, i512), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5638 try testArgs(@Vector(3, i513), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5639 try testArgs(@Vector(3, i1023), @Vector(3, i9), .{ -1 << 8, -1, 0 });
53695640 try testArgs(@Vector(3, i1024), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5641 try testArgs(@Vector(3, i1025), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5642 try testArgs(@Vector(3, u7), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53705643 try testArgs(@Vector(3, u8), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5644 try testArgs(@Vector(3, u9), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5645 try testArgs(@Vector(3, u15), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53715646 try testArgs(@Vector(3, u16), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5647 try testArgs(@Vector(3, u17), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5648 try testArgs(@Vector(3, u31), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53725649 try testArgs(@Vector(3, u32), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5650 try testArgs(@Vector(3, u33), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5651 try testArgs(@Vector(3, u63), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53735652 try testArgs(@Vector(3, u64), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5653 try testArgs(@Vector(3, u65), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5654 try testArgs(@Vector(3, u127), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53745655 try testArgs(@Vector(3, u128), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5656 try testArgs(@Vector(3, u129), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5657 try testArgs(@Vector(3, u255), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53755658 try testArgs(@Vector(3, u256), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5659 try testArgs(@Vector(3, u257), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5660 try testArgs(@Vector(3, u511), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53765661 try testArgs(@Vector(3, u512), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5662 try testArgs(@Vector(3, u513), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5663 try testArgs(@Vector(3, u1023), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53775664 try testArgs(@Vector(3, u1024), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5665 try testArgs(@Vector(3, u1025), @Vector(3, u9), .{ 0, 1, 1 << 8 });
53785666
5667 try testArgs(@Vector(3, i7), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53795668 try testArgs(@Vector(3, i8), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5669 try testArgs(@Vector(3, i9), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5670 try testArgs(@Vector(3, i15), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53805671 try testArgs(@Vector(3, i16), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5672 try testArgs(@Vector(3, i17), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5673 try testArgs(@Vector(3, i31), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53815674 try testArgs(@Vector(3, i32), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5675 try testArgs(@Vector(3, i33), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5676 try testArgs(@Vector(3, i63), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53825677 try testArgs(@Vector(3, i64), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5678 try testArgs(@Vector(3, i65), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5679 try testArgs(@Vector(3, i127), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53835680 try testArgs(@Vector(3, i128), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5681 try testArgs(@Vector(3, i129), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5682 try testArgs(@Vector(3, i255), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53845683 try testArgs(@Vector(3, i256), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5684 try testArgs(@Vector(3, i257), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5685 try testArgs(@Vector(3, i511), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53855686 try testArgs(@Vector(3, i512), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5687 try testArgs(@Vector(3, i513), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5688 try testArgs(@Vector(3, i1023), @Vector(3, i15), .{ -1 << 14, -1, 0 });
53865689 try testArgs(@Vector(3, i1024), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5690 try testArgs(@Vector(3, i1025), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5691 try testArgs(@Vector(3, u7), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53875692 try testArgs(@Vector(3, u8), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5693 try testArgs(@Vector(3, u9), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5694 try testArgs(@Vector(3, u15), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53885695 try testArgs(@Vector(3, u16), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5696 try testArgs(@Vector(3, u17), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5697 try testArgs(@Vector(3, u31), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53895698 try testArgs(@Vector(3, u32), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5699 try testArgs(@Vector(3, u33), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5700 try testArgs(@Vector(3, u63), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53905701 try testArgs(@Vector(3, u64), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5702 try testArgs(@Vector(3, u65), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5703 try testArgs(@Vector(3, u127), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53915704 try testArgs(@Vector(3, u128), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5705 try testArgs(@Vector(3, u129), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5706 try testArgs(@Vector(3, u255), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53925707 try testArgs(@Vector(3, u256), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5708 try testArgs(@Vector(3, u257), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5709 try testArgs(@Vector(3, u511), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53935710 try testArgs(@Vector(3, u512), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5711 try testArgs(@Vector(3, u513), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5712 try testArgs(@Vector(3, u1023), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53945713 try testArgs(@Vector(3, u1024), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5714 try testArgs(@Vector(3, u1025), @Vector(3, u15), .{ 0, 1, 1 << 14 });
53955715
5716 try testArgs(@Vector(3, i7), @Vector(3, i16), .{ -1 << 15, -1, 0 });
53965717 try testArgs(@Vector(3, i8), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5718 try testArgs(@Vector(3, i9), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5719 try testArgs(@Vector(3, i15), @Vector(3, i16), .{ -1 << 15, -1, 0 });
53975720 try testArgs(@Vector(3, i16), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5721 try testArgs(@Vector(3, i17), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5722 try testArgs(@Vector(3, i31), @Vector(3, i16), .{ -1 << 15, -1, 0 });
53985723 try testArgs(@Vector(3, i32), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5724 try testArgs(@Vector(3, i33), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5725 try testArgs(@Vector(3, i63), @Vector(3, i16), .{ -1 << 15, -1, 0 });
53995726 try testArgs(@Vector(3, i64), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5727 try testArgs(@Vector(3, i65), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5728 try testArgs(@Vector(3, i127), @Vector(3, i16), .{ -1 << 15, -1, 0 });
54005729 try testArgs(@Vector(3, i128), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5730 try testArgs(@Vector(3, i129), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5731 try testArgs(@Vector(3, i255), @Vector(3, i16), .{ -1 << 15, -1, 0 });
54015732 try testArgs(@Vector(3, i256), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5733 try testArgs(@Vector(3, i257), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5734 try testArgs(@Vector(3, i511), @Vector(3, i16), .{ -1 << 15, -1, 0 });
54025735 try testArgs(@Vector(3, i512), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5736 try testArgs(@Vector(3, i513), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5737 try testArgs(@Vector(3, i1023), @Vector(3, i16), .{ -1 << 15, -1, 0 });
54035738 try testArgs(@Vector(3, i1024), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5739 try testArgs(@Vector(3, i1025), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5740 try testArgs(@Vector(3, u7), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54045741 try testArgs(@Vector(3, u8), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5742 try testArgs(@Vector(3, u9), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5743 try testArgs(@Vector(3, u15), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54055744 try testArgs(@Vector(3, u16), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5745 try testArgs(@Vector(3, u17), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5746 try testArgs(@Vector(3, u31), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54065747 try testArgs(@Vector(3, u32), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5748 try testArgs(@Vector(3, u33), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5749 try testArgs(@Vector(3, u63), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54075750 try testArgs(@Vector(3, u64), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5751 try testArgs(@Vector(3, u65), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5752 try testArgs(@Vector(3, u127), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54085753 try testArgs(@Vector(3, u128), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5754 try testArgs(@Vector(3, u129), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5755 try testArgs(@Vector(3, u255), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54095756 try testArgs(@Vector(3, u256), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5757 try testArgs(@Vector(3, u257), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5758 try testArgs(@Vector(3, u511), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54105759 try testArgs(@Vector(3, u512), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5760 try testArgs(@Vector(3, u513), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5761 try testArgs(@Vector(3, u1023), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54115762 try testArgs(@Vector(3, u1024), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5763 try testArgs(@Vector(3, u1025), @Vector(3, u16), .{ 0, 1, 1 << 15 });
54125764
5765 try testArgs(@Vector(3, i7), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54135766 try testArgs(@Vector(3, i8), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5767 try testArgs(@Vector(3, i9), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5768 try testArgs(@Vector(3, i15), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54145769 try testArgs(@Vector(3, i16), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5770 try testArgs(@Vector(3, i17), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5771 try testArgs(@Vector(3, i31), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54155772 try testArgs(@Vector(3, i32), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5773 try testArgs(@Vector(3, i33), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5774 try testArgs(@Vector(3, i63), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54165775 try testArgs(@Vector(3, i64), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5776 try testArgs(@Vector(3, i65), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5777 try testArgs(@Vector(3, i127), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54175778 try testArgs(@Vector(3, i128), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5779 try testArgs(@Vector(3, i129), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5780 try testArgs(@Vector(3, i255), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54185781 try testArgs(@Vector(3, i256), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5782 try testArgs(@Vector(3, i257), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5783 try testArgs(@Vector(3, i511), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54195784 try testArgs(@Vector(3, i512), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5785 try testArgs(@Vector(3, i513), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5786 try testArgs(@Vector(3, i1023), @Vector(3, i17), .{ -1 << 16, -1, 0 });
54205787 try testArgs(@Vector(3, i1024), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5788 try testArgs(@Vector(3, i1025), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5789 try testArgs(@Vector(3, u7), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54215790 try testArgs(@Vector(3, u8), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5791 try testArgs(@Vector(3, u9), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5792 try testArgs(@Vector(3, u15), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54225793 try testArgs(@Vector(3, u16), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5794 try testArgs(@Vector(3, u17), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5795 try testArgs(@Vector(3, u31), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54235796 try testArgs(@Vector(3, u32), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5797 try testArgs(@Vector(3, u33), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5798 try testArgs(@Vector(3, u63), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54245799 try testArgs(@Vector(3, u64), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5800 try testArgs(@Vector(3, u65), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5801 try testArgs(@Vector(3, u127), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54255802 try testArgs(@Vector(3, u128), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5803 try testArgs(@Vector(3, u129), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5804 try testArgs(@Vector(3, u255), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54265805 try testArgs(@Vector(3, u256), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5806 try testArgs(@Vector(3, u257), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5807 try testArgs(@Vector(3, u511), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54275808 try testArgs(@Vector(3, u512), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5809 try testArgs(@Vector(3, u513), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5810 try testArgs(@Vector(3, u1023), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54285811 try testArgs(@Vector(3, u1024), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5812 try testArgs(@Vector(3, u1025), @Vector(3, u17), .{ 0, 1, 1 << 16 });
54295813
5814 try testArgs(@Vector(3, i7), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54305815 try testArgs(@Vector(3, i8), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5816 try testArgs(@Vector(3, i9), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5817 try testArgs(@Vector(3, i15), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54315818 try testArgs(@Vector(3, i16), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5819 try testArgs(@Vector(3, i17), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5820 try testArgs(@Vector(3, i31), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54325821 try testArgs(@Vector(3, i32), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5822 try testArgs(@Vector(3, i33), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5823 try testArgs(@Vector(3, i63), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54335824 try testArgs(@Vector(3, i64), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5825 try testArgs(@Vector(3, i65), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5826 try testArgs(@Vector(3, i127), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54345827 try testArgs(@Vector(3, i128), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5828 try testArgs(@Vector(3, i129), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5829 try testArgs(@Vector(3, i255), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54355830 try testArgs(@Vector(3, i256), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5831 try testArgs(@Vector(3, i257), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5832 try testArgs(@Vector(3, i511), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54365833 try testArgs(@Vector(3, i512), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5834 try testArgs(@Vector(3, i513), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5835 try testArgs(@Vector(3, i1023), @Vector(3, i31), .{ -1 << 30, -1, 0 });
54375836 try testArgs(@Vector(3, i1024), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5837 try testArgs(@Vector(3, i1025), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5838 try testArgs(@Vector(3, u7), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54385839 try testArgs(@Vector(3, u8), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5840 try testArgs(@Vector(3, u9), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5841 try testArgs(@Vector(3, u15), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54395842 try testArgs(@Vector(3, u16), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5843 try testArgs(@Vector(3, u17), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5844 try testArgs(@Vector(3, u31), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54405845 try testArgs(@Vector(3, u32), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5846 try testArgs(@Vector(3, u33), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5847 try testArgs(@Vector(3, u63), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54415848 try testArgs(@Vector(3, u64), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5849 try testArgs(@Vector(3, u65), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5850 try testArgs(@Vector(3, u127), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54425851 try testArgs(@Vector(3, u128), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5852 try testArgs(@Vector(3, u129), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5853 try testArgs(@Vector(3, u255), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54435854 try testArgs(@Vector(3, u256), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5855 try testArgs(@Vector(3, u257), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5856 try testArgs(@Vector(3, u511), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54445857 try testArgs(@Vector(3, u512), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5858 try testArgs(@Vector(3, u513), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5859 try testArgs(@Vector(3, u1023), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54455860 try testArgs(@Vector(3, u1024), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5861 try testArgs(@Vector(3, u1025), @Vector(3, u31), .{ 0, 1, 1 << 30 });
54465862
5863 try testArgs(@Vector(3, i7), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54475864 try testArgs(@Vector(3, i8), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5865 try testArgs(@Vector(3, i9), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5866 try testArgs(@Vector(3, i15), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54485867 try testArgs(@Vector(3, i16), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5868 try testArgs(@Vector(3, i17), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5869 try testArgs(@Vector(3, i31), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54495870 try testArgs(@Vector(3, i32), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5871 try testArgs(@Vector(3, i33), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5872 try testArgs(@Vector(3, i63), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54505873 try testArgs(@Vector(3, i64), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5874 try testArgs(@Vector(3, i65), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5875 try testArgs(@Vector(3, i127), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54515876 try testArgs(@Vector(3, i128), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5877 try testArgs(@Vector(3, i129), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5878 try testArgs(@Vector(3, i255), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54525879 try testArgs(@Vector(3, i256), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5880 try testArgs(@Vector(3, i257), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5881 try testArgs(@Vector(3, i511), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54535882 try testArgs(@Vector(3, i512), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5883 try testArgs(@Vector(3, i513), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5884 try testArgs(@Vector(3, i1023), @Vector(3, i32), .{ -1 << 31, -1, 0 });
54545885 try testArgs(@Vector(3, i1024), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5886 try testArgs(@Vector(3, i1025), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5887 try testArgs(@Vector(3, u7), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54555888 try testArgs(@Vector(3, u8), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5889 try testArgs(@Vector(3, u9), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5890 try testArgs(@Vector(3, u15), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54565891 try testArgs(@Vector(3, u16), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5892 try testArgs(@Vector(3, u17), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5893 try testArgs(@Vector(3, u31), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54575894 try testArgs(@Vector(3, u32), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5895 try testArgs(@Vector(3, u33), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5896 try testArgs(@Vector(3, u63), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54585897 try testArgs(@Vector(3, u64), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5898 try testArgs(@Vector(3, u65), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5899 try testArgs(@Vector(3, u127), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54595900 try testArgs(@Vector(3, u128), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5901 try testArgs(@Vector(3, u129), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5902 try testArgs(@Vector(3, u255), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54605903 try testArgs(@Vector(3, u256), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5904 try testArgs(@Vector(3, u257), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5905 try testArgs(@Vector(3, u511), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54615906 try testArgs(@Vector(3, u512), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5907 try testArgs(@Vector(3, u513), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5908 try testArgs(@Vector(3, u1023), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54625909 try testArgs(@Vector(3, u1024), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5910 try testArgs(@Vector(3, u1025), @Vector(3, u32), .{ 0, 1, 1 << 31 });
54635911
5912 try testArgs(@Vector(3, i7), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54645913 try testArgs(@Vector(3, i8), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5914 try testArgs(@Vector(3, i9), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5915 try testArgs(@Vector(3, i15), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54655916 try testArgs(@Vector(3, i16), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5917 try testArgs(@Vector(3, i17), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5918 try testArgs(@Vector(3, i31), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54665919 try testArgs(@Vector(3, i32), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5920 try testArgs(@Vector(3, i33), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5921 try testArgs(@Vector(3, i63), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54675922 try testArgs(@Vector(3, i64), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5923 try testArgs(@Vector(3, i65), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5924 try testArgs(@Vector(3, i127), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54685925 try testArgs(@Vector(3, i128), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5926 try testArgs(@Vector(3, i129), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5927 try testArgs(@Vector(3, i255), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54695928 try testArgs(@Vector(3, i256), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5929 try testArgs(@Vector(3, i257), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5930 try testArgs(@Vector(3, i511), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54705931 try testArgs(@Vector(3, i512), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5932 try testArgs(@Vector(3, i513), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5933 try testArgs(@Vector(3, i1023), @Vector(3, i33), .{ -1 << 32, -1, 0 });
54715934 try testArgs(@Vector(3, i1024), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5935 try testArgs(@Vector(3, i1025), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5936 try testArgs(@Vector(3, u7), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54725937 try testArgs(@Vector(3, u8), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5938 try testArgs(@Vector(3, u9), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5939 try testArgs(@Vector(3, u15), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54735940 try testArgs(@Vector(3, u16), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5941 try testArgs(@Vector(3, u17), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5942 try testArgs(@Vector(3, u31), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54745943 try testArgs(@Vector(3, u32), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5944 try testArgs(@Vector(3, u33), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5945 try testArgs(@Vector(3, u63), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54755946 try testArgs(@Vector(3, u64), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5947 try testArgs(@Vector(3, u65), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5948 try testArgs(@Vector(3, u127), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54765949 try testArgs(@Vector(3, u128), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5950 try testArgs(@Vector(3, u129), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5951 try testArgs(@Vector(3, u255), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54775952 try testArgs(@Vector(3, u256), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5953 try testArgs(@Vector(3, u257), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5954 try testArgs(@Vector(3, u511), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54785955 try testArgs(@Vector(3, u512), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5956 try testArgs(@Vector(3, u513), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5957 try testArgs(@Vector(3, u1023), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54795958 try testArgs(@Vector(3, u1024), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5959 try testArgs(@Vector(3, u1025), @Vector(3, u33), .{ 0, 1, 1 << 32 });
54805960
5961 try testArgs(@Vector(3, i7), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54815962 try testArgs(@Vector(3, i8), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5963 try testArgs(@Vector(3, i9), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5964 try testArgs(@Vector(3, i15), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54825965 try testArgs(@Vector(3, i16), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5966 try testArgs(@Vector(3, i17), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5967 try testArgs(@Vector(3, i31), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54835968 try testArgs(@Vector(3, i32), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5969 try testArgs(@Vector(3, i33), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5970 try testArgs(@Vector(3, i63), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54845971 try testArgs(@Vector(3, i64), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5972 try testArgs(@Vector(3, i65), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5973 try testArgs(@Vector(3, i127), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54855974 try testArgs(@Vector(3, i128), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5975 try testArgs(@Vector(3, i129), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5976 try testArgs(@Vector(3, i255), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54865977 try testArgs(@Vector(3, i256), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5978 try testArgs(@Vector(3, i257), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5979 try testArgs(@Vector(3, i511), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54875980 try testArgs(@Vector(3, i512), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5981 try testArgs(@Vector(3, i513), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5982 try testArgs(@Vector(3, i1023), @Vector(3, i63), .{ -1 << 62, -1, 0 });
54885983 try testArgs(@Vector(3, i1024), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5984 try testArgs(@Vector(3, i1025), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5985 try testArgs(@Vector(3, u7), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54895986 try testArgs(@Vector(3, u8), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5987 try testArgs(@Vector(3, u9), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5988 try testArgs(@Vector(3, u15), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54905989 try testArgs(@Vector(3, u16), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5990 try testArgs(@Vector(3, u17), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5991 try testArgs(@Vector(3, u31), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54915992 try testArgs(@Vector(3, u32), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5993 try testArgs(@Vector(3, u33), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5994 try testArgs(@Vector(3, u63), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54925995 try testArgs(@Vector(3, u64), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5996 try testArgs(@Vector(3, u65), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5997 try testArgs(@Vector(3, u127), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54935998 try testArgs(@Vector(3, u128), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5999 try testArgs(@Vector(3, u129), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6000 try testArgs(@Vector(3, u255), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54946001 try testArgs(@Vector(3, u256), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6002 try testArgs(@Vector(3, u257), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6003 try testArgs(@Vector(3, u511), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54956004 try testArgs(@Vector(3, u512), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6005 try testArgs(@Vector(3, u513), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6006 try testArgs(@Vector(3, u1023), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54966007 try testArgs(@Vector(3, u1024), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6008 try testArgs(@Vector(3, u1025), @Vector(3, u63), .{ 0, 1, 1 << 62 });
54976009
6010 try testArgs(@Vector(3, i7), @Vector(3, i64), .{ -1 << 63, -1, 0 });
54986011 try testArgs(@Vector(3, i8), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6012 try testArgs(@Vector(3, i9), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6013 try testArgs(@Vector(3, i15), @Vector(3, i64), .{ -1 << 63, -1, 0 });
54996014 try testArgs(@Vector(3, i16), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6015 try testArgs(@Vector(3, i17), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6016 try testArgs(@Vector(3, i31), @Vector(3, i64), .{ -1 << 63, -1, 0 });
55006017 try testArgs(@Vector(3, i32), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6018 try testArgs(@Vector(3, i33), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6019 try testArgs(@Vector(3, i63), @Vector(3, i64), .{ -1 << 63, -1, 0 });
55016020 try testArgs(@Vector(3, i64), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6021 try testArgs(@Vector(3, i65), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6022 try testArgs(@Vector(3, i127), @Vector(3, i64), .{ -1 << 63, -1, 0 });
55026023 try testArgs(@Vector(3, i128), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6024 try testArgs(@Vector(3, i129), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6025 try testArgs(@Vector(3, i255), @Vector(3, i64), .{ -1 << 63, -1, 0 });
55036026 try testArgs(@Vector(3, i256), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6027 try testArgs(@Vector(3, i257), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6028 try testArgs(@Vector(3, i511), @Vector(3, i64), .{ -1 << 63, -1, 0 });
55046029 try testArgs(@Vector(3, i512), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6030 try testArgs(@Vector(3, i513), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6031 try testArgs(@Vector(3, i1023), @Vector(3, i64), .{ -1 << 63, -1, 0 });
55056032 try testArgs(@Vector(3, i1024), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6033 try testArgs(@Vector(3, i1025), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6034 try testArgs(@Vector(3, u7), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55066035 try testArgs(@Vector(3, u8), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6036 try testArgs(@Vector(3, u9), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6037 try testArgs(@Vector(3, u15), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55076038 try testArgs(@Vector(3, u16), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6039 try testArgs(@Vector(3, u17), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6040 try testArgs(@Vector(3, u31), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55086041 try testArgs(@Vector(3, u32), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6042 try testArgs(@Vector(3, u33), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6043 try testArgs(@Vector(3, u63), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55096044 try testArgs(@Vector(3, u64), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6045 try testArgs(@Vector(3, u65), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6046 try testArgs(@Vector(3, u127), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55106047 try testArgs(@Vector(3, u128), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6048 try testArgs(@Vector(3, u129), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6049 try testArgs(@Vector(3, u255), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55116050 try testArgs(@Vector(3, u256), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6051 try testArgs(@Vector(3, u257), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6052 try testArgs(@Vector(3, u511), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55126053 try testArgs(@Vector(3, u512), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6054 try testArgs(@Vector(3, u513), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6055 try testArgs(@Vector(3, u1023), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55136056 try testArgs(@Vector(3, u1024), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6057 try testArgs(@Vector(3, u1025), @Vector(3, u64), .{ 0, 1, 1 << 63 });
55146058
6059 try testArgs(@Vector(3, i7), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55156060 try testArgs(@Vector(3, i8), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6061 try testArgs(@Vector(3, i9), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6062 try testArgs(@Vector(3, i15), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55166063 try testArgs(@Vector(3, i16), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6064 try testArgs(@Vector(3, i17), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6065 try testArgs(@Vector(3, i31), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55176066 try testArgs(@Vector(3, i32), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6067 try testArgs(@Vector(3, i33), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6068 try testArgs(@Vector(3, i63), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55186069 try testArgs(@Vector(3, i64), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6070 try testArgs(@Vector(3, i65), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6071 try testArgs(@Vector(3, i127), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55196072 try testArgs(@Vector(3, i128), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6073 try testArgs(@Vector(3, i129), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6074 try testArgs(@Vector(3, i255), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55206075 try testArgs(@Vector(3, i256), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6076 try testArgs(@Vector(3, i257), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6077 try testArgs(@Vector(3, i511), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55216078 try testArgs(@Vector(3, i512), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6079 try testArgs(@Vector(3, i513), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6080 try testArgs(@Vector(3, i1023), @Vector(3, i65), .{ -1 << 64, -1, 0 });
55226081 try testArgs(@Vector(3, i1024), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6082 try testArgs(@Vector(3, i1025), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6083 try testArgs(@Vector(3, u7), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55236084 try testArgs(@Vector(3, u8), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6085 try testArgs(@Vector(3, u9), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6086 try testArgs(@Vector(3, u15), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55246087 try testArgs(@Vector(3, u16), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6088 try testArgs(@Vector(3, u17), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6089 try testArgs(@Vector(3, u31), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55256090 try testArgs(@Vector(3, u32), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6091 try testArgs(@Vector(3, u33), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6092 try testArgs(@Vector(3, u63), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55266093 try testArgs(@Vector(3, u64), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6094 try testArgs(@Vector(3, u65), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6095 try testArgs(@Vector(3, u127), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55276096 try testArgs(@Vector(3, u128), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6097 try testArgs(@Vector(3, u129), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6098 try testArgs(@Vector(3, u255), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55286099 try testArgs(@Vector(3, u256), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6100 try testArgs(@Vector(3, u257), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6101 try testArgs(@Vector(3, u511), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55296102 try testArgs(@Vector(3, u512), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6103 try testArgs(@Vector(3, u513), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6104 try testArgs(@Vector(3, u1023), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55306105 try testArgs(@Vector(3, u1024), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6106 try testArgs(@Vector(3, u1025), @Vector(3, u65), .{ 0, 1, 1 << 64 });
55316107
6108 try testArgs(@Vector(3, i7), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55326109 try testArgs(@Vector(3, i8), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6110 try testArgs(@Vector(3, i9), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6111 try testArgs(@Vector(3, i15), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55336112 try testArgs(@Vector(3, i16), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6113 try testArgs(@Vector(3, i17), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6114 try testArgs(@Vector(3, i31), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55346115 try testArgs(@Vector(3, i32), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6116 try testArgs(@Vector(3, i33), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6117 try testArgs(@Vector(3, i63), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55356118 try testArgs(@Vector(3, i64), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6119 try testArgs(@Vector(3, i65), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6120 try testArgs(@Vector(3, i127), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55366121 try testArgs(@Vector(3, i128), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6122 try testArgs(@Vector(3, i129), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6123 try testArgs(@Vector(3, i255), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55376124 try testArgs(@Vector(3, i256), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6125 try testArgs(@Vector(3, i257), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6126 try testArgs(@Vector(3, i511), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55386127 try testArgs(@Vector(3, i512), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6128 try testArgs(@Vector(3, i513), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6129 try testArgs(@Vector(3, i1023), @Vector(3, i95), .{ -1 << 94, -1, 0 });
55396130 try testArgs(@Vector(3, i1024), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6131 try testArgs(@Vector(3, i1025), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6132 try testArgs(@Vector(3, u7), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55406133 try testArgs(@Vector(3, u8), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6134 try testArgs(@Vector(3, u9), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6135 try testArgs(@Vector(3, u15), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55416136 try testArgs(@Vector(3, u16), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6137 try testArgs(@Vector(3, u17), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6138 try testArgs(@Vector(3, u31), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55426139 try testArgs(@Vector(3, u32), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6140 try testArgs(@Vector(3, u33), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6141 try testArgs(@Vector(3, u63), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55436142 try testArgs(@Vector(3, u64), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6143 try testArgs(@Vector(3, u65), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6144 try testArgs(@Vector(3, u127), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55446145 try testArgs(@Vector(3, u128), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6146 try testArgs(@Vector(3, u129), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6147 try testArgs(@Vector(3, u255), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55456148 try testArgs(@Vector(3, u256), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6149 try testArgs(@Vector(3, u257), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6150 try testArgs(@Vector(3, u511), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55466151 try testArgs(@Vector(3, u512), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6152 try testArgs(@Vector(3, u513), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6153 try testArgs(@Vector(3, u1023), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55476154 try testArgs(@Vector(3, u1024), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6155 try testArgs(@Vector(3, u1025), @Vector(3, u95), .{ 0, 1, 1 << 94 });
55486156
6157 try testArgs(@Vector(3, i7), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55496158 try testArgs(@Vector(3, i8), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6159 try testArgs(@Vector(3, i9), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6160 try testArgs(@Vector(3, i15), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55506161 try testArgs(@Vector(3, i16), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6162 try testArgs(@Vector(3, i17), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6163 try testArgs(@Vector(3, i31), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55516164 try testArgs(@Vector(3, i32), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6165 try testArgs(@Vector(3, i33), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6166 try testArgs(@Vector(3, i63), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55526167 try testArgs(@Vector(3, i64), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6168 try testArgs(@Vector(3, i65), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6169 try testArgs(@Vector(3, i127), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55536170 try testArgs(@Vector(3, i128), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6171 try testArgs(@Vector(3, i129), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6172 try testArgs(@Vector(3, i255), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55546173 try testArgs(@Vector(3, i256), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6174 try testArgs(@Vector(3, i257), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6175 try testArgs(@Vector(3, i511), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55556176 try testArgs(@Vector(3, i512), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6177 try testArgs(@Vector(3, i513), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6178 try testArgs(@Vector(3, i1023), @Vector(3, i96), .{ -1 << 95, -1, 0 });
55566179 try testArgs(@Vector(3, i1024), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6180 try testArgs(@Vector(3, i1025), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6181 try testArgs(@Vector(3, u7), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55576182 try testArgs(@Vector(3, u8), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6183 try testArgs(@Vector(3, u9), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6184 try testArgs(@Vector(3, u15), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55586185 try testArgs(@Vector(3, u16), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6186 try testArgs(@Vector(3, u17), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6187 try testArgs(@Vector(3, u31), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55596188 try testArgs(@Vector(3, u32), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6189 try testArgs(@Vector(3, u33), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6190 try testArgs(@Vector(3, u63), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55606191 try testArgs(@Vector(3, u64), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6192 try testArgs(@Vector(3, u65), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6193 try testArgs(@Vector(3, u127), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55616194 try testArgs(@Vector(3, u128), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6195 try testArgs(@Vector(3, u129), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6196 try testArgs(@Vector(3, u255), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55626197 try testArgs(@Vector(3, u256), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6198 try testArgs(@Vector(3, u257), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6199 try testArgs(@Vector(3, u511), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55636200 try testArgs(@Vector(3, u512), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6201 try testArgs(@Vector(3, u513), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6202 try testArgs(@Vector(3, u1023), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55646203 try testArgs(@Vector(3, u1024), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6204 try testArgs(@Vector(3, u1025), @Vector(3, u96), .{ 0, 1, 1 << 95 });
55656205
6206 try testArgs(@Vector(3, i7), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55666207 try testArgs(@Vector(3, i8), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6208 try testArgs(@Vector(3, i9), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6209 try testArgs(@Vector(3, i15), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55676210 try testArgs(@Vector(3, i16), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6211 try testArgs(@Vector(3, i17), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6212 try testArgs(@Vector(3, i31), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55686213 try testArgs(@Vector(3, i32), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6214 try testArgs(@Vector(3, i33), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6215 try testArgs(@Vector(3, i63), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55696216 try testArgs(@Vector(3, i64), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6217 try testArgs(@Vector(3, i65), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6218 try testArgs(@Vector(3, i127), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55706219 try testArgs(@Vector(3, i128), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6220 try testArgs(@Vector(3, i129), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6221 try testArgs(@Vector(3, i255), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55716222 try testArgs(@Vector(3, i256), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6223 try testArgs(@Vector(3, i257), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6224 try testArgs(@Vector(3, i511), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55726225 try testArgs(@Vector(3, i512), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6226 try testArgs(@Vector(3, i513), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6227 try testArgs(@Vector(3, i1023), @Vector(3, i97), .{ -1 << 96, -1, 0 });
55736228 try testArgs(@Vector(3, i1024), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6229 try testArgs(@Vector(3, i1025), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6230 try testArgs(@Vector(3, u7), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55746231 try testArgs(@Vector(3, u8), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6232 try testArgs(@Vector(3, u9), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6233 try testArgs(@Vector(3, u15), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55756234 try testArgs(@Vector(3, u16), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6235 try testArgs(@Vector(3, u17), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6236 try testArgs(@Vector(3, u31), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55766237 try testArgs(@Vector(3, u32), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6238 try testArgs(@Vector(3, u33), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6239 try testArgs(@Vector(3, u63), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55776240 try testArgs(@Vector(3, u64), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6241 try testArgs(@Vector(3, u65), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6242 try testArgs(@Vector(3, u127), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55786243 try testArgs(@Vector(3, u128), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6244 try testArgs(@Vector(3, u129), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6245 try testArgs(@Vector(3, u255), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55796246 try testArgs(@Vector(3, u256), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6247 try testArgs(@Vector(3, u257), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6248 try testArgs(@Vector(3, u511), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55806249 try testArgs(@Vector(3, u512), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6250 try testArgs(@Vector(3, u513), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6251 try testArgs(@Vector(3, u1023), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55816252 try testArgs(@Vector(3, u1024), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6253 try testArgs(@Vector(3, u1025), @Vector(3, u97), .{ 0, 1, 1 << 96 });
55826254
6255 try testArgs(@Vector(3, i7), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55836256 try testArgs(@Vector(3, i8), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6257 try testArgs(@Vector(3, i9), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6258 try testArgs(@Vector(3, i15), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55846259 try testArgs(@Vector(3, i16), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6260 try testArgs(@Vector(3, i17), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6261 try testArgs(@Vector(3, i31), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55856262 try testArgs(@Vector(3, i32), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6263 try testArgs(@Vector(3, i33), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6264 try testArgs(@Vector(3, i63), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55866265 try testArgs(@Vector(3, i64), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6266 try testArgs(@Vector(3, i65), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6267 try testArgs(@Vector(3, i127), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55876268 try testArgs(@Vector(3, i128), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6269 try testArgs(@Vector(3, i129), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6270 try testArgs(@Vector(3, i255), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55886271 try testArgs(@Vector(3, i256), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6272 try testArgs(@Vector(3, i257), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6273 try testArgs(@Vector(3, i511), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55896274 try testArgs(@Vector(3, i512), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6275 try testArgs(@Vector(3, i513), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6276 try testArgs(@Vector(3, i1023), @Vector(3, i127), .{ -1 << 126, -1, 0 });
55906277 try testArgs(@Vector(3, i1024), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6278 try testArgs(@Vector(3, i1025), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6279 try testArgs(@Vector(3, u7), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55916280 try testArgs(@Vector(3, u8), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6281 try testArgs(@Vector(3, u9), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6282 try testArgs(@Vector(3, u15), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55926283 try testArgs(@Vector(3, u16), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6284 try testArgs(@Vector(3, u17), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6285 try testArgs(@Vector(3, u31), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55936286 try testArgs(@Vector(3, u32), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6287 try testArgs(@Vector(3, u33), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6288 try testArgs(@Vector(3, u63), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55946289 try testArgs(@Vector(3, u64), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6290 try testArgs(@Vector(3, u65), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6291 try testArgs(@Vector(3, u127), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55956292 try testArgs(@Vector(3, u128), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6293 try testArgs(@Vector(3, u129), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6294 try testArgs(@Vector(3, u255), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55966295 try testArgs(@Vector(3, u256), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6296 try testArgs(@Vector(3, u257), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6297 try testArgs(@Vector(3, u511), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55976298 try testArgs(@Vector(3, u512), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6299 try testArgs(@Vector(3, u513), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6300 try testArgs(@Vector(3, u1023), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55986301 try testArgs(@Vector(3, u1024), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6302 try testArgs(@Vector(3, u1025), @Vector(3, u127), .{ 0, 1, 1 << 126 });
55996303
6304 try testArgs(@Vector(3, i7), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56006305 try testArgs(@Vector(3, i8), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6306 try testArgs(@Vector(3, i9), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6307 try testArgs(@Vector(3, i15), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56016308 try testArgs(@Vector(3, i16), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6309 try testArgs(@Vector(3, i17), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6310 try testArgs(@Vector(3, i31), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56026311 try testArgs(@Vector(3, i32), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6312 try testArgs(@Vector(3, i33), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6313 try testArgs(@Vector(3, i63), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56036314 try testArgs(@Vector(3, i64), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6315 try testArgs(@Vector(3, i65), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6316 try testArgs(@Vector(3, i127), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56046317 try testArgs(@Vector(3, i128), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6318 try testArgs(@Vector(3, i129), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6319 try testArgs(@Vector(3, i255), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56056320 try testArgs(@Vector(3, i256), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6321 try testArgs(@Vector(3, i257), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6322 try testArgs(@Vector(3, i511), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56066323 try testArgs(@Vector(3, i512), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6324 try testArgs(@Vector(3, i513), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6325 try testArgs(@Vector(3, i1023), @Vector(3, i128), .{ -1 << 127, -1, 0 });
56076326 try testArgs(@Vector(3, i1024), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6327 try testArgs(@Vector(3, i1025), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6328 try testArgs(@Vector(3, u7), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56086329 try testArgs(@Vector(3, u8), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6330 try testArgs(@Vector(3, u9), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6331 try testArgs(@Vector(3, u15), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56096332 try testArgs(@Vector(3, u16), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6333 try testArgs(@Vector(3, u17), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6334 try testArgs(@Vector(3, u31), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56106335 try testArgs(@Vector(3, u32), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6336 try testArgs(@Vector(3, u33), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6337 try testArgs(@Vector(3, u63), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56116338 try testArgs(@Vector(3, u64), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6339 try testArgs(@Vector(3, u65), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6340 try testArgs(@Vector(3, u127), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56126341 try testArgs(@Vector(3, u128), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6342 try testArgs(@Vector(3, u129), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6343 try testArgs(@Vector(3, u255), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56136344 try testArgs(@Vector(3, u256), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6345 try testArgs(@Vector(3, u257), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6346 try testArgs(@Vector(3, u511), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56146347 try testArgs(@Vector(3, u512), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6348 try testArgs(@Vector(3, u513), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6349 try testArgs(@Vector(3, u1023), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56156350 try testArgs(@Vector(3, u1024), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6351 try testArgs(@Vector(3, u1025), @Vector(3, u128), .{ 0, 1, 1 << 127 });
56166352
6353 try testArgs(@Vector(3, i7), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56176354 try testArgs(@Vector(3, i8), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6355 try testArgs(@Vector(3, i9), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6356 try testArgs(@Vector(3, i15), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56186357 try testArgs(@Vector(3, i16), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6358 try testArgs(@Vector(3, i17), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6359 try testArgs(@Vector(3, i31), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56196360 try testArgs(@Vector(3, i32), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6361 try testArgs(@Vector(3, i33), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6362 try testArgs(@Vector(3, i63), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56206363 try testArgs(@Vector(3, i64), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6364 try testArgs(@Vector(3, i65), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6365 try testArgs(@Vector(3, i127), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56216366 try testArgs(@Vector(3, i128), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6367 try testArgs(@Vector(3, i129), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6368 try testArgs(@Vector(3, i255), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56226369 try testArgs(@Vector(3, i256), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6370 try testArgs(@Vector(3, i257), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6371 try testArgs(@Vector(3, i511), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56236372 try testArgs(@Vector(3, i512), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6373 try testArgs(@Vector(3, i513), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6374 try testArgs(@Vector(3, i1023), @Vector(3, i129), .{ -1 << 128, -1, 0 });
56246375 try testArgs(@Vector(3, i1024), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6376 try testArgs(@Vector(3, i1025), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6377 try testArgs(@Vector(3, u7), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56256378 try testArgs(@Vector(3, u8), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6379 try testArgs(@Vector(3, u9), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6380 try testArgs(@Vector(3, u15), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56266381 try testArgs(@Vector(3, u16), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6382 try testArgs(@Vector(3, u17), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6383 try testArgs(@Vector(3, u31), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56276384 try testArgs(@Vector(3, u32), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6385 try testArgs(@Vector(3, u33), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6386 try testArgs(@Vector(3, u63), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56286387 try testArgs(@Vector(3, u64), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6388 try testArgs(@Vector(3, u65), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6389 try testArgs(@Vector(3, u127), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56296390 try testArgs(@Vector(3, u128), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6391 try testArgs(@Vector(3, u129), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6392 try testArgs(@Vector(3, u255), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56306393 try testArgs(@Vector(3, u256), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6394 try testArgs(@Vector(3, u257), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6395 try testArgs(@Vector(3, u511), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56316396 try testArgs(@Vector(3, u512), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6397 try testArgs(@Vector(3, u513), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6398 try testArgs(@Vector(3, u1023), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56326399 try testArgs(@Vector(3, u1024), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6400 try testArgs(@Vector(3, u1025), @Vector(3, u129), .{ 0, 1, 1 << 128 });
56336401
6402 try testArgs(@Vector(3, i7), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56346403 try testArgs(@Vector(3, i8), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6404 try testArgs(@Vector(3, i9), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6405 try testArgs(@Vector(3, i15), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56356406 try testArgs(@Vector(3, i16), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6407 try testArgs(@Vector(3, i17), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6408 try testArgs(@Vector(3, i31), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56366409 try testArgs(@Vector(3, i32), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6410 try testArgs(@Vector(3, i33), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6411 try testArgs(@Vector(3, i63), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56376412 try testArgs(@Vector(3, i64), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6413 try testArgs(@Vector(3, i65), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6414 try testArgs(@Vector(3, i127), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56386415 try testArgs(@Vector(3, i128), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6416 try testArgs(@Vector(3, i129), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6417 try testArgs(@Vector(3, i255), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56396418 try testArgs(@Vector(3, i256), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6419 try testArgs(@Vector(3, i257), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6420 try testArgs(@Vector(3, i511), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56406421 try testArgs(@Vector(3, i512), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6422 try testArgs(@Vector(3, i513), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6423 try testArgs(@Vector(3, i1023), @Vector(3, i159), .{ -1 << 158, -1, 0 });
56416424 try testArgs(@Vector(3, i1024), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6425 try testArgs(@Vector(3, i1025), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6426 try testArgs(@Vector(3, u7), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56426427 try testArgs(@Vector(3, u8), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6428 try testArgs(@Vector(3, u9), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6429 try testArgs(@Vector(3, u15), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56436430 try testArgs(@Vector(3, u16), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6431 try testArgs(@Vector(3, u17), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6432 try testArgs(@Vector(3, u31), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56446433 try testArgs(@Vector(3, u32), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6434 try testArgs(@Vector(3, u33), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6435 try testArgs(@Vector(3, u63), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56456436 try testArgs(@Vector(3, u64), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6437 try testArgs(@Vector(3, u65), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6438 try testArgs(@Vector(3, u127), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56466439 try testArgs(@Vector(3, u128), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6440 try testArgs(@Vector(3, u129), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6441 try testArgs(@Vector(3, u255), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56476442 try testArgs(@Vector(3, u256), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6443 try testArgs(@Vector(3, u257), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6444 try testArgs(@Vector(3, u511), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56486445 try testArgs(@Vector(3, u512), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6446 try testArgs(@Vector(3, u513), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6447 try testArgs(@Vector(3, u1023), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56496448 try testArgs(@Vector(3, u1024), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6449 try testArgs(@Vector(3, u1025), @Vector(3, u159), .{ 0, 1, 1 << 158 });
56506450
6451 try testArgs(@Vector(3, i7), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56516452 try testArgs(@Vector(3, i8), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6453 try testArgs(@Vector(3, i9), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6454 try testArgs(@Vector(3, i15), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56526455 try testArgs(@Vector(3, i16), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6456 try testArgs(@Vector(3, i17), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6457 try testArgs(@Vector(3, i31), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56536458 try testArgs(@Vector(3, i32), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6459 try testArgs(@Vector(3, i33), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6460 try testArgs(@Vector(3, i63), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56546461 try testArgs(@Vector(3, i64), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6462 try testArgs(@Vector(3, i65), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6463 try testArgs(@Vector(3, i127), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56556464 try testArgs(@Vector(3, i128), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6465 try testArgs(@Vector(3, i129), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6466 try testArgs(@Vector(3, i255), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56566467 try testArgs(@Vector(3, i256), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6468 try testArgs(@Vector(3, i257), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6469 try testArgs(@Vector(3, i511), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56576470 try testArgs(@Vector(3, i512), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6471 try testArgs(@Vector(3, i513), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6472 try testArgs(@Vector(3, i1023), @Vector(3, i160), .{ -1 << 159, -1, 0 });
56586473 try testArgs(@Vector(3, i1024), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6474 try testArgs(@Vector(3, i1025), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6475 try testArgs(@Vector(3, u7), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56596476 try testArgs(@Vector(3, u8), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6477 try testArgs(@Vector(3, u9), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6478 try testArgs(@Vector(3, u15), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56606479 try testArgs(@Vector(3, u16), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6480 try testArgs(@Vector(3, u17), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6481 try testArgs(@Vector(3, u31), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56616482 try testArgs(@Vector(3, u32), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6483 try testArgs(@Vector(3, u33), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6484 try testArgs(@Vector(3, u63), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56626485 try testArgs(@Vector(3, u64), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6486 try testArgs(@Vector(3, u65), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6487 try testArgs(@Vector(3, u127), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56636488 try testArgs(@Vector(3, u128), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6489 try testArgs(@Vector(3, u129), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6490 try testArgs(@Vector(3, u255), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56646491 try testArgs(@Vector(3, u256), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6492 try testArgs(@Vector(3, u257), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6493 try testArgs(@Vector(3, u511), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56656494 try testArgs(@Vector(3, u512), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6495 try testArgs(@Vector(3, u513), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6496 try testArgs(@Vector(3, u1023), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56666497 try testArgs(@Vector(3, u1024), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6498 try testArgs(@Vector(3, u1025), @Vector(3, u160), .{ 0, 1, 1 << 159 });
56676499
6500 try testArgs(@Vector(3, i7), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56686501 try testArgs(@Vector(3, i8), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6502 try testArgs(@Vector(3, i9), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6503 try testArgs(@Vector(3, i15), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56696504 try testArgs(@Vector(3, i16), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6505 try testArgs(@Vector(3, i17), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6506 try testArgs(@Vector(3, i31), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56706507 try testArgs(@Vector(3, i32), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6508 try testArgs(@Vector(3, i33), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6509 try testArgs(@Vector(3, i63), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56716510 try testArgs(@Vector(3, i64), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6511 try testArgs(@Vector(3, i65), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6512 try testArgs(@Vector(3, i127), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56726513 try testArgs(@Vector(3, i128), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6514 try testArgs(@Vector(3, i129), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6515 try testArgs(@Vector(3, i255), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56736516 try testArgs(@Vector(3, i256), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6517 try testArgs(@Vector(3, i257), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6518 try testArgs(@Vector(3, i511), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56746519 try testArgs(@Vector(3, i512), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6520 try testArgs(@Vector(3, i513), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6521 try testArgs(@Vector(3, i1023), @Vector(3, i161), .{ -1 << 160, -1, 0 });
56756522 try testArgs(@Vector(3, i1024), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6523 try testArgs(@Vector(3, i1025), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6524 try testArgs(@Vector(3, u7), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56766525 try testArgs(@Vector(3, u8), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6526 try testArgs(@Vector(3, u9), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6527 try testArgs(@Vector(3, u15), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56776528 try testArgs(@Vector(3, u16), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6529 try testArgs(@Vector(3, u17), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6530 try testArgs(@Vector(3, u31), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56786531 try testArgs(@Vector(3, u32), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6532 try testArgs(@Vector(3, u33), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6533 try testArgs(@Vector(3, u63), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56796534 try testArgs(@Vector(3, u64), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6535 try testArgs(@Vector(3, u65), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6536 try testArgs(@Vector(3, u127), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56806537 try testArgs(@Vector(3, u128), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6538 try testArgs(@Vector(3, u129), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6539 try testArgs(@Vector(3, u255), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56816540 try testArgs(@Vector(3, u256), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6541 try testArgs(@Vector(3, u257), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6542 try testArgs(@Vector(3, u511), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56826543 try testArgs(@Vector(3, u512), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6544 try testArgs(@Vector(3, u513), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6545 try testArgs(@Vector(3, u1023), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56836546 try testArgs(@Vector(3, u1024), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6547 try testArgs(@Vector(3, u1025), @Vector(3, u161), .{ 0, 1, 1 << 160 });
56846548
6549 try testArgs(@Vector(3, i7), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56856550 try testArgs(@Vector(3, i8), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6551 try testArgs(@Vector(3, i9), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6552 try testArgs(@Vector(3, i15), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56866553 try testArgs(@Vector(3, i16), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6554 try testArgs(@Vector(3, i17), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6555 try testArgs(@Vector(3, i31), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56876556 try testArgs(@Vector(3, i32), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6557 try testArgs(@Vector(3, i33), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6558 try testArgs(@Vector(3, i63), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56886559 try testArgs(@Vector(3, i64), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6560 try testArgs(@Vector(3, i65), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6561 try testArgs(@Vector(3, i127), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56896562 try testArgs(@Vector(3, i128), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6563 try testArgs(@Vector(3, i129), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6564 try testArgs(@Vector(3, i255), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56906565 try testArgs(@Vector(3, i256), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6566 try testArgs(@Vector(3, i257), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6567 try testArgs(@Vector(3, i511), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56916568 try testArgs(@Vector(3, i512), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6569 try testArgs(@Vector(3, i513), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6570 try testArgs(@Vector(3, i1023), @Vector(3, i191), .{ -1 << 190, -1, 0 });
56926571 try testArgs(@Vector(3, i1024), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6572 try testArgs(@Vector(3, i1025), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6573 try testArgs(@Vector(3, u7), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56936574 try testArgs(@Vector(3, u8), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6575 try testArgs(@Vector(3, u9), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6576 try testArgs(@Vector(3, u15), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56946577 try testArgs(@Vector(3, u16), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6578 try testArgs(@Vector(3, u17), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6579 try testArgs(@Vector(3, u31), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56956580 try testArgs(@Vector(3, u32), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6581 try testArgs(@Vector(3, u33), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6582 try testArgs(@Vector(3, u63), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56966583 try testArgs(@Vector(3, u64), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6584 try testArgs(@Vector(3, u65), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6585 try testArgs(@Vector(3, u127), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56976586 try testArgs(@Vector(3, u128), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6587 try testArgs(@Vector(3, u129), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6588 try testArgs(@Vector(3, u255), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56986589 try testArgs(@Vector(3, u256), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6590 try testArgs(@Vector(3, u257), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6591 try testArgs(@Vector(3, u511), @Vector(3, u191), .{ 0, 1, 1 << 190 });
56996592 try testArgs(@Vector(3, u512), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6593 try testArgs(@Vector(3, u513), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6594 try testArgs(@Vector(3, u1023), @Vector(3, u191), .{ 0, 1, 1 << 190 });
57006595 try testArgs(@Vector(3, u1024), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6596 try testArgs(@Vector(3, u1025), @Vector(3, u191), .{ 0, 1, 1 << 190 });
57016597
6598 try testArgs(@Vector(3, i7), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57026599 try testArgs(@Vector(3, i8), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6600 try testArgs(@Vector(3, i9), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6601 try testArgs(@Vector(3, i15), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57036602 try testArgs(@Vector(3, i16), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6603 try testArgs(@Vector(3, i17), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6604 try testArgs(@Vector(3, i31), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57046605 try testArgs(@Vector(3, i32), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6606 try testArgs(@Vector(3, i33), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6607 try testArgs(@Vector(3, i63), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57056608 try testArgs(@Vector(3, i64), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6609 try testArgs(@Vector(3, i65), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6610 try testArgs(@Vector(3, i127), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57066611 try testArgs(@Vector(3, i128), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6612 try testArgs(@Vector(3, i129), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6613 try testArgs(@Vector(3, i255), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57076614 try testArgs(@Vector(3, i256), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6615 try testArgs(@Vector(3, i257), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6616 try testArgs(@Vector(3, i511), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57086617 try testArgs(@Vector(3, i512), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6618 try testArgs(@Vector(3, i513), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6619 try testArgs(@Vector(3, i1023), @Vector(3, i192), .{ -1 << 191, -1, 0 });
57096620 try testArgs(@Vector(3, i1024), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6621 try testArgs(@Vector(3, i1025), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6622 try testArgs(@Vector(3, u7), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57106623 try testArgs(@Vector(3, u8), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6624 try testArgs(@Vector(3, u9), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6625 try testArgs(@Vector(3, u15), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57116626 try testArgs(@Vector(3, u16), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6627 try testArgs(@Vector(3, u17), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6628 try testArgs(@Vector(3, u31), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57126629 try testArgs(@Vector(3, u32), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6630 try testArgs(@Vector(3, u33), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6631 try testArgs(@Vector(3, u63), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57136632 try testArgs(@Vector(3, u64), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6633 try testArgs(@Vector(3, u65), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6634 try testArgs(@Vector(3, u127), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57146635 try testArgs(@Vector(3, u128), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6636 try testArgs(@Vector(3, u129), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6637 try testArgs(@Vector(3, u255), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57156638 try testArgs(@Vector(3, u256), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6639 try testArgs(@Vector(3, u257), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6640 try testArgs(@Vector(3, u511), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57166641 try testArgs(@Vector(3, u512), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6642 try testArgs(@Vector(3, u513), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6643 try testArgs(@Vector(3, u1023), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57176644 try testArgs(@Vector(3, u1024), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6645 try testArgs(@Vector(3, u1025), @Vector(3, u192), .{ 0, 1, 1 << 191 });
57186646
6647 try testArgs(@Vector(3, i7), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57196648 try testArgs(@Vector(3, i8), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6649 try testArgs(@Vector(3, i9), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6650 try testArgs(@Vector(3, i15), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57206651 try testArgs(@Vector(3, i16), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6652 try testArgs(@Vector(3, i17), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6653 try testArgs(@Vector(3, i31), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57216654 try testArgs(@Vector(3, i32), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6655 try testArgs(@Vector(3, i33), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6656 try testArgs(@Vector(3, i63), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57226657 try testArgs(@Vector(3, i64), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6658 try testArgs(@Vector(3, i65), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6659 try testArgs(@Vector(3, i127), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57236660 try testArgs(@Vector(3, i128), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6661 try testArgs(@Vector(3, i129), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6662 try testArgs(@Vector(3, i255), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57246663 try testArgs(@Vector(3, i256), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6664 try testArgs(@Vector(3, i257), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6665 try testArgs(@Vector(3, i511), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57256666 try testArgs(@Vector(3, i512), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6667 try testArgs(@Vector(3, i513), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6668 try testArgs(@Vector(3, i1023), @Vector(3, i193), .{ -1 << 192, -1, 0 });
57266669 try testArgs(@Vector(3, i1024), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6670 try testArgs(@Vector(3, i1025), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6671 try testArgs(@Vector(3, u7), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57276672 try testArgs(@Vector(3, u8), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6673 try testArgs(@Vector(3, u9), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6674 try testArgs(@Vector(3, u15), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57286675 try testArgs(@Vector(3, u16), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6676 try testArgs(@Vector(3, u17), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6677 try testArgs(@Vector(3, u31), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57296678 try testArgs(@Vector(3, u32), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6679 try testArgs(@Vector(3, u33), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6680 try testArgs(@Vector(3, u63), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57306681 try testArgs(@Vector(3, u64), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6682 try testArgs(@Vector(3, u65), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6683 try testArgs(@Vector(3, u127), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57316684 try testArgs(@Vector(3, u128), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6685 try testArgs(@Vector(3, u129), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6686 try testArgs(@Vector(3, u255), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57326687 try testArgs(@Vector(3, u256), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6688 try testArgs(@Vector(3, u257), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6689 try testArgs(@Vector(3, u511), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57336690 try testArgs(@Vector(3, u512), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6691 try testArgs(@Vector(3, u513), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6692 try testArgs(@Vector(3, u1023), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57346693 try testArgs(@Vector(3, u1024), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6694 try testArgs(@Vector(3, u1025), @Vector(3, u193), .{ 0, 1, 1 << 192 });
57356695
6696 try testArgs(@Vector(3, i7), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57366697 try testArgs(@Vector(3, i8), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6698 try testArgs(@Vector(3, i9), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6699 try testArgs(@Vector(3, i15), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57376700 try testArgs(@Vector(3, i16), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6701 try testArgs(@Vector(3, i17), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6702 try testArgs(@Vector(3, i31), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57386703 try testArgs(@Vector(3, i32), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6704 try testArgs(@Vector(3, i33), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6705 try testArgs(@Vector(3, i63), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57396706 try testArgs(@Vector(3, i64), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6707 try testArgs(@Vector(3, i65), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6708 try testArgs(@Vector(3, i127), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57406709 try testArgs(@Vector(3, i128), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6710 try testArgs(@Vector(3, i129), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6711 try testArgs(@Vector(3, i255), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57416712 try testArgs(@Vector(3, i256), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6713 try testArgs(@Vector(3, i257), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6714 try testArgs(@Vector(3, i511), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57426715 try testArgs(@Vector(3, i512), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6716 try testArgs(@Vector(3, i513), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6717 try testArgs(@Vector(3, i1023), @Vector(3, i223), .{ -1 << 222, -1, 0 });
57436718 try testArgs(@Vector(3, i1024), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6719 try testArgs(@Vector(3, i1025), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6720 try testArgs(@Vector(3, u7), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57446721 try testArgs(@Vector(3, u8), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6722 try testArgs(@Vector(3, u9), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6723 try testArgs(@Vector(3, u15), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57456724 try testArgs(@Vector(3, u16), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6725 try testArgs(@Vector(3, u17), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6726 try testArgs(@Vector(3, u31), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57466727 try testArgs(@Vector(3, u32), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6728 try testArgs(@Vector(3, u33), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6729 try testArgs(@Vector(3, u63), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57476730 try testArgs(@Vector(3, u64), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6731 try testArgs(@Vector(3, u65), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6732 try testArgs(@Vector(3, u127), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57486733 try testArgs(@Vector(3, u128), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6734 try testArgs(@Vector(3, u129), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6735 try testArgs(@Vector(3, u255), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57496736 try testArgs(@Vector(3, u256), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6737 try testArgs(@Vector(3, u257), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6738 try testArgs(@Vector(3, u511), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57506739 try testArgs(@Vector(3, u512), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6740 try testArgs(@Vector(3, u513), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6741 try testArgs(@Vector(3, u1023), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57516742 try testArgs(@Vector(3, u1024), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6743 try testArgs(@Vector(3, u1025), @Vector(3, u223), .{ 0, 1, 1 << 222 });
57526744
6745 try testArgs(@Vector(3, i7), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57536746 try testArgs(@Vector(3, i8), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6747 try testArgs(@Vector(3, i9), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6748 try testArgs(@Vector(3, i15), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57546749 try testArgs(@Vector(3, i16), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6750 try testArgs(@Vector(3, i17), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6751 try testArgs(@Vector(3, i31), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57556752 try testArgs(@Vector(3, i32), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6753 try testArgs(@Vector(3, i33), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6754 try testArgs(@Vector(3, i63), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57566755 try testArgs(@Vector(3, i64), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6756 try testArgs(@Vector(3, i65), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6757 try testArgs(@Vector(3, i127), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57576758 try testArgs(@Vector(3, i128), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6759 try testArgs(@Vector(3, i129), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6760 try testArgs(@Vector(3, i255), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57586761 try testArgs(@Vector(3, i256), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6762 try testArgs(@Vector(3, i257), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6763 try testArgs(@Vector(3, i511), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57596764 try testArgs(@Vector(3, i512), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6765 try testArgs(@Vector(3, i513), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6766 try testArgs(@Vector(3, i1023), @Vector(3, i224), .{ -1 << 223, -1, 0 });
57606767 try testArgs(@Vector(3, i1024), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6768 try testArgs(@Vector(3, i1025), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6769 try testArgs(@Vector(3, u7), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57616770 try testArgs(@Vector(3, u8), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6771 try testArgs(@Vector(3, u9), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6772 try testArgs(@Vector(3, u15), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57626773 try testArgs(@Vector(3, u16), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6774 try testArgs(@Vector(3, u17), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6775 try testArgs(@Vector(3, u31), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57636776 try testArgs(@Vector(3, u32), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6777 try testArgs(@Vector(3, u33), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6778 try testArgs(@Vector(3, u63), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57646779 try testArgs(@Vector(3, u64), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6780 try testArgs(@Vector(3, u65), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6781 try testArgs(@Vector(3, u127), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57656782 try testArgs(@Vector(3, u128), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6783 try testArgs(@Vector(3, u129), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6784 try testArgs(@Vector(3, u255), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57666785 try testArgs(@Vector(3, u256), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6786 try testArgs(@Vector(3, u257), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6787 try testArgs(@Vector(3, u511), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57676788 try testArgs(@Vector(3, u512), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6789 try testArgs(@Vector(3, u513), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6790 try testArgs(@Vector(3, u1023), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57686791 try testArgs(@Vector(3, u1024), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6792 try testArgs(@Vector(3, u1025), @Vector(3, u224), .{ 0, 1, 1 << 223 });
57696793
6794 try testArgs(@Vector(3, i7), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57706795 try testArgs(@Vector(3, i8), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6796 try testArgs(@Vector(3, i9), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6797 try testArgs(@Vector(3, i15), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57716798 try testArgs(@Vector(3, i16), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6799 try testArgs(@Vector(3, i17), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6800 try testArgs(@Vector(3, i31), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57726801 try testArgs(@Vector(3, i32), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6802 try testArgs(@Vector(3, i33), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6803 try testArgs(@Vector(3, i63), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57736804 try testArgs(@Vector(3, i64), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6805 try testArgs(@Vector(3, i65), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6806 try testArgs(@Vector(3, i127), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57746807 try testArgs(@Vector(3, i128), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6808 try testArgs(@Vector(3, i129), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6809 try testArgs(@Vector(3, i255), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57756810 try testArgs(@Vector(3, i256), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6811 try testArgs(@Vector(3, i257), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6812 try testArgs(@Vector(3, i511), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57766813 try testArgs(@Vector(3, i512), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6814 try testArgs(@Vector(3, i513), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6815 try testArgs(@Vector(3, i1023), @Vector(3, i225), .{ -1 << 224, -1, 0 });
57776816 try testArgs(@Vector(3, i1024), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6817 try testArgs(@Vector(3, i1025), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6818 try testArgs(@Vector(3, u7), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57786819 try testArgs(@Vector(3, u8), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6820 try testArgs(@Vector(3, u9), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6821 try testArgs(@Vector(3, u15), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57796822 try testArgs(@Vector(3, u16), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6823 try testArgs(@Vector(3, u17), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6824 try testArgs(@Vector(3, u31), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57806825 try testArgs(@Vector(3, u32), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6826 try testArgs(@Vector(3, u33), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6827 try testArgs(@Vector(3, u63), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57816828 try testArgs(@Vector(3, u64), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6829 try testArgs(@Vector(3, u65), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6830 try testArgs(@Vector(3, u127), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57826831 try testArgs(@Vector(3, u128), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6832 try testArgs(@Vector(3, u129), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6833 try testArgs(@Vector(3, u255), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57836834 try testArgs(@Vector(3, u256), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6835 try testArgs(@Vector(3, u257), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6836 try testArgs(@Vector(3, u511), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57846837 try testArgs(@Vector(3, u512), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6838 try testArgs(@Vector(3, u513), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6839 try testArgs(@Vector(3, u1023), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57856840 try testArgs(@Vector(3, u1024), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6841 try testArgs(@Vector(3, u1025), @Vector(3, u225), .{ 0, 1, 1 << 224 });
57866842
6843 try testArgs(@Vector(3, i7), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57876844 try testArgs(@Vector(3, i8), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6845 try testArgs(@Vector(3, i9), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6846 try testArgs(@Vector(3, i15), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57886847 try testArgs(@Vector(3, i16), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6848 try testArgs(@Vector(3, i17), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6849 try testArgs(@Vector(3, i31), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57896850 try testArgs(@Vector(3, i32), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6851 try testArgs(@Vector(3, i33), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6852 try testArgs(@Vector(3, i63), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57906853 try testArgs(@Vector(3, i64), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6854 try testArgs(@Vector(3, i65), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6855 try testArgs(@Vector(3, i127), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57916856 try testArgs(@Vector(3, i128), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6857 try testArgs(@Vector(3, i129), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6858 try testArgs(@Vector(3, i255), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57926859 try testArgs(@Vector(3, i256), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6860 try testArgs(@Vector(3, i257), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6861 try testArgs(@Vector(3, i511), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57936862 try testArgs(@Vector(3, i512), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6863 try testArgs(@Vector(3, i513), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6864 try testArgs(@Vector(3, i1023), @Vector(3, i255), .{ -1 << 254, -1, 0 });
57946865 try testArgs(@Vector(3, i1024), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6866 try testArgs(@Vector(3, i1025), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6867 try testArgs(@Vector(3, u7), @Vector(3, u255), .{ 0, 1, 1 << 254 });
57956868 try testArgs(@Vector(3, u8), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6869 try testArgs(@Vector(3, u9), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6870 try testArgs(@Vector(3, u15), @Vector(3, u255), .{ 0, 1, 1 << 254 });
57966871 try testArgs(@Vector(3, u16), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6872 try testArgs(@Vector(3, u17), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6873 try testArgs(@Vector(3, u31), @Vector(3, u255), .{ 0, 1, 1 << 254 });
57976874 try testArgs(@Vector(3, u32), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6875 try testArgs(@Vector(3, u33), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6876 try testArgs(@Vector(3, u63), @Vector(3, u255), .{ 0, 1, 1 << 254 });
57986877 try testArgs(@Vector(3, u64), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6878 try testArgs(@Vector(3, u65), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6879 try testArgs(@Vector(3, u127), @Vector(3, u255), .{ 0, 1, 1 << 254 });
57996880 try testArgs(@Vector(3, u128), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6881 try testArgs(@Vector(3, u129), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6882 try testArgs(@Vector(3, u255), @Vector(3, u255), .{ 0, 1, 1 << 254 });
58006883 try testArgs(@Vector(3, u256), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6884 try testArgs(@Vector(3, u257), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6885 try testArgs(@Vector(3, u511), @Vector(3, u255), .{ 0, 1, 1 << 254 });
58016886 try testArgs(@Vector(3, u512), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6887 try testArgs(@Vector(3, u513), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6888 try testArgs(@Vector(3, u1023), @Vector(3, u255), .{ 0, 1, 1 << 254 });
58026889 try testArgs(@Vector(3, u1024), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6890 try testArgs(@Vector(3, u1025), @Vector(3, u255), .{ 0, 1, 1 << 254 });
58036891
6892 try testArgs(@Vector(3, i7), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58046893 try testArgs(@Vector(3, i8), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6894 try testArgs(@Vector(3, i9), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6895 try testArgs(@Vector(3, i15), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58056896 try testArgs(@Vector(3, i16), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6897 try testArgs(@Vector(3, i17), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6898 try testArgs(@Vector(3, i31), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58066899 try testArgs(@Vector(3, i32), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6900 try testArgs(@Vector(3, i33), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6901 try testArgs(@Vector(3, i63), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58076902 try testArgs(@Vector(3, i64), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6903 try testArgs(@Vector(3, i65), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6904 try testArgs(@Vector(3, i127), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58086905 try testArgs(@Vector(3, i128), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6906 try testArgs(@Vector(3, i129), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6907 try testArgs(@Vector(3, i255), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58096908 try testArgs(@Vector(3, i256), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6909 try testArgs(@Vector(3, i257), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6910 try testArgs(@Vector(3, i511), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58106911 try testArgs(@Vector(3, i512), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6912 try testArgs(@Vector(3, i513), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6913 try testArgs(@Vector(3, i1023), @Vector(3, i256), .{ -1 << 255, -1, 0 });
58116914 try testArgs(@Vector(3, i1024), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6915 try testArgs(@Vector(3, i1025), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6916 try testArgs(@Vector(3, u7), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58126917 try testArgs(@Vector(3, u8), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6918 try testArgs(@Vector(3, u9), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6919 try testArgs(@Vector(3, u15), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58136920 try testArgs(@Vector(3, u16), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6921 try testArgs(@Vector(3, u17), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6922 try testArgs(@Vector(3, u31), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58146923 try testArgs(@Vector(3, u32), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6924 try testArgs(@Vector(3, u33), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6925 try testArgs(@Vector(3, u63), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58156926 try testArgs(@Vector(3, u64), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6927 try testArgs(@Vector(3, u65), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6928 try testArgs(@Vector(3, u127), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58166929 try testArgs(@Vector(3, u128), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6930 try testArgs(@Vector(3, u129), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6931 try testArgs(@Vector(3, u255), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58176932 try testArgs(@Vector(3, u256), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6933 try testArgs(@Vector(3, u257), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6934 try testArgs(@Vector(3, u511), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58186935 try testArgs(@Vector(3, u512), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6936 try testArgs(@Vector(3, u513), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6937 try testArgs(@Vector(3, u1023), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58196938 try testArgs(@Vector(3, u1024), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6939 try testArgs(@Vector(3, u1025), @Vector(3, u256), .{ 0, 1, 1 << 255 });
58206940
6941 try testArgs(@Vector(3, i7), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58216942 try testArgs(@Vector(3, i8), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6943 try testArgs(@Vector(3, i9), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6944 try testArgs(@Vector(3, i15), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58226945 try testArgs(@Vector(3, i16), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6946 try testArgs(@Vector(3, i17), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6947 try testArgs(@Vector(3, i31), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58236948 try testArgs(@Vector(3, i32), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6949 try testArgs(@Vector(3, i33), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6950 try testArgs(@Vector(3, i63), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58246951 try testArgs(@Vector(3, i64), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6952 try testArgs(@Vector(3, i65), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6953 try testArgs(@Vector(3, i127), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58256954 try testArgs(@Vector(3, i128), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6955 try testArgs(@Vector(3, i129), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6956 try testArgs(@Vector(3, i255), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58266957 try testArgs(@Vector(3, i256), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6958 try testArgs(@Vector(3, i257), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6959 try testArgs(@Vector(3, i511), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58276960 try testArgs(@Vector(3, i512), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6961 try testArgs(@Vector(3, i513), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6962 try testArgs(@Vector(3, i1023), @Vector(3, i257), .{ -1 << 256, -1, 0 });
58286963 try testArgs(@Vector(3, i1024), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6964 try testArgs(@Vector(3, i1025), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6965 try testArgs(@Vector(3, u7), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58296966 try testArgs(@Vector(3, u8), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6967 try testArgs(@Vector(3, u9), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6968 try testArgs(@Vector(3, u15), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58306969 try testArgs(@Vector(3, u16), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6970 try testArgs(@Vector(3, u17), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6971 try testArgs(@Vector(3, u31), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58316972 try testArgs(@Vector(3, u32), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6973 try testArgs(@Vector(3, u33), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6974 try testArgs(@Vector(3, u63), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58326975 try testArgs(@Vector(3, u64), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6976 try testArgs(@Vector(3, u65), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6977 try testArgs(@Vector(3, u127), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58336978 try testArgs(@Vector(3, u128), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6979 try testArgs(@Vector(3, u129), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6980 try testArgs(@Vector(3, u255), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58346981 try testArgs(@Vector(3, u256), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6982 try testArgs(@Vector(3, u257), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6983 try testArgs(@Vector(3, u511), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58356984 try testArgs(@Vector(3, u512), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6985 try testArgs(@Vector(3, u513), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6986 try testArgs(@Vector(3, u1023), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58366987 try testArgs(@Vector(3, u1024), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6988 try testArgs(@Vector(3, u1025), @Vector(3, u257), .{ 0, 1, 1 << 256 });
58376989
6990 try testArgs(@Vector(3, i7), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58386991 try testArgs(@Vector(3, i8), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6992 try testArgs(@Vector(3, i9), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6993 try testArgs(@Vector(3, i15), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58396994 try testArgs(@Vector(3, i16), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6995 try testArgs(@Vector(3, i17), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6996 try testArgs(@Vector(3, i31), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58406997 try testArgs(@Vector(3, i32), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6998 try testArgs(@Vector(3, i33), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6999 try testArgs(@Vector(3, i63), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58417000 try testArgs(@Vector(3, i64), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7001 try testArgs(@Vector(3, i65), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7002 try testArgs(@Vector(3, i127), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58427003 try testArgs(@Vector(3, i128), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7004 try testArgs(@Vector(3, i129), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7005 try testArgs(@Vector(3, i255), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58437006 try testArgs(@Vector(3, i256), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7007 try testArgs(@Vector(3, i257), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7008 try testArgs(@Vector(3, i511), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58447009 try testArgs(@Vector(3, i512), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7010 try testArgs(@Vector(3, i513), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7011 try testArgs(@Vector(3, i1023), @Vector(3, i511), .{ -1 << 510, -1, 0 });
58457012 try testArgs(@Vector(3, i1024), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7013 try testArgs(@Vector(3, i1025), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7014 try testArgs(@Vector(3, u7), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58467015 try testArgs(@Vector(3, u8), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7016 try testArgs(@Vector(3, u9), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7017 try testArgs(@Vector(3, u15), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58477018 try testArgs(@Vector(3, u16), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7019 try testArgs(@Vector(3, u17), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7020 try testArgs(@Vector(3, u31), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58487021 try testArgs(@Vector(3, u32), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7022 try testArgs(@Vector(3, u33), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7023 try testArgs(@Vector(3, u63), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58497024 try testArgs(@Vector(3, u64), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7025 try testArgs(@Vector(3, u65), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7026 try testArgs(@Vector(3, u127), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58507027 try testArgs(@Vector(3, u128), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7028 try testArgs(@Vector(3, u129), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7029 try testArgs(@Vector(3, u255), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58517030 try testArgs(@Vector(3, u256), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7031 try testArgs(@Vector(3, u257), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7032 try testArgs(@Vector(3, u511), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58527033 try testArgs(@Vector(3, u512), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7034 try testArgs(@Vector(3, u513), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7035 try testArgs(@Vector(3, u1023), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58537036 try testArgs(@Vector(3, u1024), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7037 try testArgs(@Vector(3, u1025), @Vector(3, u511), .{ 0, 1, 1 << 510 });
58547038
7039 try testArgs(@Vector(3, i7), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58557040 try testArgs(@Vector(3, i8), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7041 try testArgs(@Vector(3, i9), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7042 try testArgs(@Vector(3, i15), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58567043 try testArgs(@Vector(3, i16), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7044 try testArgs(@Vector(3, i17), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7045 try testArgs(@Vector(3, i31), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58577046 try testArgs(@Vector(3, i32), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7047 try testArgs(@Vector(3, i33), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7048 try testArgs(@Vector(3, i63), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58587049 try testArgs(@Vector(3, i64), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7050 try testArgs(@Vector(3, i65), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7051 try testArgs(@Vector(3, i127), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58597052 try testArgs(@Vector(3, i128), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7053 try testArgs(@Vector(3, i129), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7054 try testArgs(@Vector(3, i255), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58607055 try testArgs(@Vector(3, i256), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7056 try testArgs(@Vector(3, i257), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7057 try testArgs(@Vector(3, i511), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58617058 try testArgs(@Vector(3, i512), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7059 try testArgs(@Vector(3, i513), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7060 try testArgs(@Vector(3, i1023), @Vector(3, i512), .{ -1 << 511, -1, 0 });
58627061 try testArgs(@Vector(3, i1024), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7062 try testArgs(@Vector(3, i1025), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7063 try testArgs(@Vector(3, u7), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58637064 try testArgs(@Vector(3, u8), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7065 try testArgs(@Vector(3, u9), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7066 try testArgs(@Vector(3, u15), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58647067 try testArgs(@Vector(3, u16), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7068 try testArgs(@Vector(3, u17), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7069 try testArgs(@Vector(3, u31), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58657070 try testArgs(@Vector(3, u32), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7071 try testArgs(@Vector(3, u33), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7072 try testArgs(@Vector(3, u63), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58667073 try testArgs(@Vector(3, u64), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7074 try testArgs(@Vector(3, u65), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7075 try testArgs(@Vector(3, u127), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58677076 try testArgs(@Vector(3, u128), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7077 try testArgs(@Vector(3, u129), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7078 try testArgs(@Vector(3, u255), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58687079 try testArgs(@Vector(3, u256), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7080 try testArgs(@Vector(3, u257), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7081 try testArgs(@Vector(3, u511), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58697082 try testArgs(@Vector(3, u512), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7083 try testArgs(@Vector(3, u513), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7084 try testArgs(@Vector(3, u1023), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58707085 try testArgs(@Vector(3, u1024), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7086 try testArgs(@Vector(3, u1025), @Vector(3, u512), .{ 0, 1, 1 << 511 });
58717087
7088 try testArgs(@Vector(3, i7), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58727089 try testArgs(@Vector(3, i8), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7090 try testArgs(@Vector(3, i9), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7091 try testArgs(@Vector(3, i15), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58737092 try testArgs(@Vector(3, i16), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7093 try testArgs(@Vector(3, i17), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7094 try testArgs(@Vector(3, i31), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58747095 try testArgs(@Vector(3, i32), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7096 try testArgs(@Vector(3, i33), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7097 try testArgs(@Vector(3, i63), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58757098 try testArgs(@Vector(3, i64), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7099 try testArgs(@Vector(3, i65), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7100 try testArgs(@Vector(3, i127), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58767101 try testArgs(@Vector(3, i128), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7102 try testArgs(@Vector(3, i129), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7103 try testArgs(@Vector(3, i255), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58777104 try testArgs(@Vector(3, i256), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7105 try testArgs(@Vector(3, i257), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7106 try testArgs(@Vector(3, i511), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58787107 try testArgs(@Vector(3, i512), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7108 try testArgs(@Vector(3, i513), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7109 try testArgs(@Vector(3, i1023), @Vector(3, i513), .{ -1 << 512, -1, 0 });
58797110 try testArgs(@Vector(3, i1024), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7111 try testArgs(@Vector(3, i1025), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7112 try testArgs(@Vector(3, u7), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58807113 try testArgs(@Vector(3, u8), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7114 try testArgs(@Vector(3, u9), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7115 try testArgs(@Vector(3, u15), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58817116 try testArgs(@Vector(3, u16), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7117 try testArgs(@Vector(3, u17), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7118 try testArgs(@Vector(3, u31), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58827119 try testArgs(@Vector(3, u32), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7120 try testArgs(@Vector(3, u33), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7121 try testArgs(@Vector(3, u63), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58837122 try testArgs(@Vector(3, u64), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7123 try testArgs(@Vector(3, u65), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7124 try testArgs(@Vector(3, u127), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58847125 try testArgs(@Vector(3, u128), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7126 try testArgs(@Vector(3, u129), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7127 try testArgs(@Vector(3, u255), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58857128 try testArgs(@Vector(3, u256), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7129 try testArgs(@Vector(3, u257), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7130 try testArgs(@Vector(3, u511), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58867131 try testArgs(@Vector(3, u512), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7132 try testArgs(@Vector(3, u513), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7133 try testArgs(@Vector(3, u1023), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58877134 try testArgs(@Vector(3, u1024), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7135 try testArgs(@Vector(3, u1025), @Vector(3, u513), .{ 0, 1, 1 << 512 });
58887136
7137 try testArgs(@Vector(3, i7), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58897138 try testArgs(@Vector(3, i8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7139 try testArgs(@Vector(3, i9), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7140 try testArgs(@Vector(3, i15), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58907141 try testArgs(@Vector(3, i16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7142 try testArgs(@Vector(3, i17), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7143 try testArgs(@Vector(3, i31), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58917144 try testArgs(@Vector(3, i32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7145 try testArgs(@Vector(3, i33), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7146 try testArgs(@Vector(3, i63), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58927147 try testArgs(@Vector(3, i64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7148 try testArgs(@Vector(3, i65), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7149 try testArgs(@Vector(3, i127), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58937150 try testArgs(@Vector(3, i128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7151 try testArgs(@Vector(3, i129), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7152 try testArgs(@Vector(3, i255), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58947153 try testArgs(@Vector(3, i256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7154 try testArgs(@Vector(3, i257), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7155 try testArgs(@Vector(3, i511), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58957156 try testArgs(@Vector(3, i512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7157 try testArgs(@Vector(3, i513), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7158 try testArgs(@Vector(3, i1023), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
58967159 try testArgs(@Vector(3, i1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7160 try testArgs(@Vector(3, i1025), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7161 try testArgs(@Vector(3, u7), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
58977162 try testArgs(@Vector(3, u8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7163 try testArgs(@Vector(3, u9), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7164 try testArgs(@Vector(3, u15), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
58987165 try testArgs(@Vector(3, u16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7166 try testArgs(@Vector(3, u17), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7167 try testArgs(@Vector(3, u31), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
58997168 try testArgs(@Vector(3, u32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7169 try testArgs(@Vector(3, u33), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7170 try testArgs(@Vector(3, u63), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
59007171 try testArgs(@Vector(3, u64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7172 try testArgs(@Vector(3, u65), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7173 try testArgs(@Vector(3, u127), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
59017174 try testArgs(@Vector(3, u128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7175 try testArgs(@Vector(3, u129), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7176 try testArgs(@Vector(3, u255), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
59027177 try testArgs(@Vector(3, u256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7178 try testArgs(@Vector(3, u257), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7179 try testArgs(@Vector(3, u511), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
59037180 try testArgs(@Vector(3, u512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7181 try testArgs(@Vector(3, u513), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7182 try testArgs(@Vector(3, u1023), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
59047183 try testArgs(@Vector(3, u1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7184 try testArgs(@Vector(3, u1025), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
59057185
7186 try testArgs(@Vector(3, i7), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59067187 try testArgs(@Vector(3, i8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7188 try testArgs(@Vector(3, i9), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7189 try testArgs(@Vector(3, i15), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59077190 try testArgs(@Vector(3, i16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7191 try testArgs(@Vector(3, i17), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7192 try testArgs(@Vector(3, i31), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59087193 try testArgs(@Vector(3, i32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7194 try testArgs(@Vector(3, i33), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7195 try testArgs(@Vector(3, i63), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59097196 try testArgs(@Vector(3, i64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7197 try testArgs(@Vector(3, i65), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7198 try testArgs(@Vector(3, i127), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59107199 try testArgs(@Vector(3, i128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7200 try testArgs(@Vector(3, i129), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7201 try testArgs(@Vector(3, i255), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59117202 try testArgs(@Vector(3, i256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7203 try testArgs(@Vector(3, i257), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7204 try testArgs(@Vector(3, i511), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59127205 try testArgs(@Vector(3, i512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7206 try testArgs(@Vector(3, i513), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7207 try testArgs(@Vector(3, i1023), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
59137208 try testArgs(@Vector(3, i1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7209 try testArgs(@Vector(3, i1025), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7210 try testArgs(@Vector(3, u7), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59147211 try testArgs(@Vector(3, u8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7212 try testArgs(@Vector(3, u9), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7213 try testArgs(@Vector(3, u15), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59157214 try testArgs(@Vector(3, u16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7215 try testArgs(@Vector(3, u17), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7216 try testArgs(@Vector(3, u31), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59167217 try testArgs(@Vector(3, u32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7218 try testArgs(@Vector(3, u33), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7219 try testArgs(@Vector(3, u63), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59177220 try testArgs(@Vector(3, u64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7221 try testArgs(@Vector(3, u65), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7222 try testArgs(@Vector(3, u127), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59187223 try testArgs(@Vector(3, u128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7224 try testArgs(@Vector(3, u129), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7225 try testArgs(@Vector(3, u255), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59197226 try testArgs(@Vector(3, u256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7227 try testArgs(@Vector(3, u257), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7228 try testArgs(@Vector(3, u511), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59207229 try testArgs(@Vector(3, u512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7230 try testArgs(@Vector(3, u513), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7231 try testArgs(@Vector(3, u1023), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59217232 try testArgs(@Vector(3, u1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7233 try testArgs(@Vector(3, u1025), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
59227234
7235 try testArgs(@Vector(3, i7), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59237236 try testArgs(@Vector(3, i8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7237 try testArgs(@Vector(3, i9), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7238 try testArgs(@Vector(3, i15), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59247239 try testArgs(@Vector(3, i16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7240 try testArgs(@Vector(3, i17), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7241 try testArgs(@Vector(3, i31), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59257242 try testArgs(@Vector(3, i32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7243 try testArgs(@Vector(3, i33), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7244 try testArgs(@Vector(3, i63), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59267245 try testArgs(@Vector(3, i64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7246 try testArgs(@Vector(3, i65), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7247 try testArgs(@Vector(3, i127), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59277248 try testArgs(@Vector(3, i128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7249 try testArgs(@Vector(3, i129), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7250 try testArgs(@Vector(3, i255), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59287251 try testArgs(@Vector(3, i256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7252 try testArgs(@Vector(3, i257), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7253 try testArgs(@Vector(3, i511), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59297254 try testArgs(@Vector(3, i512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7255 try testArgs(@Vector(3, i513), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7256 try testArgs(@Vector(3, i1023), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
59307257 try testArgs(@Vector(3, i1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7258 try testArgs(@Vector(3, i1025), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7259 try testArgs(@Vector(3, u7), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59317260 try testArgs(@Vector(3, u8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7261 try testArgs(@Vector(3, u9), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7262 try testArgs(@Vector(3, u15), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59327263 try testArgs(@Vector(3, u16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7264 try testArgs(@Vector(3, u17), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7265 try testArgs(@Vector(3, u31), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59337266 try testArgs(@Vector(3, u32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7267 try testArgs(@Vector(3, u33), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7268 try testArgs(@Vector(3, u63), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59347269 try testArgs(@Vector(3, u64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7270 try testArgs(@Vector(3, u65), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7271 try testArgs(@Vector(3, u127), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59357272 try testArgs(@Vector(3, u128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7273 try testArgs(@Vector(3, u129), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7274 try testArgs(@Vector(3, u255), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59367275 try testArgs(@Vector(3, u256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7276 try testArgs(@Vector(3, u257), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7277 try testArgs(@Vector(3, u511), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59377278 try testArgs(@Vector(3, u512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7279 try testArgs(@Vector(3, u513), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7280 try testArgs(@Vector(3, u1023), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59387281 try testArgs(@Vector(3, u1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7282 try testArgs(@Vector(3, u1025), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
59397283 }
59407284 fn testIntVectors() !void {
59417285 try testSameSignednessIntVectors();
......@@ -10056,6 +11400,7 @@ inline fn truncate(comptime Result: type, comptime Type: type, rhs: Type, compti
1005611400test truncate {
1005711401 const test_truncate = cast(truncate, .{});
1005811402 try test_truncate.testSameSignednessInts();
11403 try test_truncate.testSameSignednessIntVectors();
1005911404}
1006011405
1006111406inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {