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...@@ -23751,23 +23751,27 @@ fn zirTruncate(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
23751 @tagName(dest_info.signedness), operand_ty.fmt(pt),23751 @tagName(dest_info.signedness), operand_ty.fmt(pt),
23752 });23752 });
23753 }23753 }
23754 if (operand_info.bits < dest_info.bits) {23754 switch (std.math.order(dest_info.bits, operand_info.bits)) {
23755 const msg = msg: {23755 .gt => {
23756 const msg = try sema.errMsg(23756 const msg = msg: {
23757 src,23757 const msg = try sema.errMsg(
23758 "destination type '{}' has more bits than source type '{}'",23758 src,
23759 .{ dest_ty.fmt(pt), operand_ty.fmt(pt) },23759 "destination type '{}' has more bits than source type '{}'",
23760 );23760 .{ dest_ty.fmt(pt), operand_ty.fmt(pt) },
23761 errdefer msg.destroy(sema.gpa);23761 );
23762 try sema.errNote(src, msg, "destination type has {d} bits", .{23762 errdefer msg.destroy(sema.gpa);
23763 dest_info.bits,23763 try sema.errNote(src, msg, "destination type has {d} bits", .{
23764 });23764 dest_info.bits,
23765 try sema.errNote(operand_src, msg, "operand type has {d} bits", .{23765 });
23766 operand_info.bits,23766 try sema.errNote(operand_src, msg, "operand type has {d} bits", .{
23767 });23767 operand_info.bits,
23768 break :msg msg;23768 });
23769 };23769 break :msg msg;
23770 return sema.failWithOwnedErrorMsg(block, msg);23770 };
23771 return sema.failWithOwnedErrorMsg(block, msg);
23772 },
23773 .eq => return operand,
23774 .lt => {},
23771 }23775 }
23772 }23776 }
2377323777
src/arch/x86_64/CodeGen.zig+5498-582
...@@ -2414,7 +2414,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2414,7 +2414,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2414}2414}
24152415
2416fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {2416fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2417 @setEvalBranchQuota(4_600);2417 @setEvalBranchQuota(5_500);
2418 const pt = cg.pt;2418 const pt = cg.pt;
2419 const zcu = pt.zcu;2419 const zcu = pt.zcu;
2420 const ip = &zcu.intern_pool;2420 const ip = &zcu.intern_pool;
...@@ -21970,9 +21970,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -21970,9 +21970,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
21970 .dst_temps = .{.mem},21970 .dst_temps = .{.mem},
21971 .clobbers = .{ .eflags = true },21971 .clobbers = .{ .eflags = true },
21972 .each = .{ .once = &.{21972 .each = .{ .once = &.{
21973 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_size), ._, ._ },21973 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
21974 .{ .@"0:", .v_ps, .mova, .tmp1y, .memsia(.src0y, .@"2", .tmp0, .add_size), ._, ._ },21974 .{ .@"0:", .v_ps, .mova, .tmp1y, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
21975 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_size), .tmp1y, .rm(.{}), ._ },21975 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
21976 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },21976 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
21977 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },21977 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
21978 } },21978 } },
...@@ -22355,9 +22355,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22355,9 +22355,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22355 .dst_temps = .{.mem},22355 .dst_temps = .{.mem},
22356 .clobbers = .{ .eflags = true },22356 .clobbers = .{ .eflags = true },
22357 .each = .{ .once = &.{22357 .each = .{ .once = &.{
22358 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_size), ._, ._ },22358 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
22359 .{ .@"0:", .v_ps, .cvtpd2, .tmp1x, .memsia(.src0y, .@"2", .tmp0, .add_size), ._, ._ },22359 .{ .@"0:", .v_ps, .cvtpd2, .tmp1x, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
22360 .{ ._, .v_ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ },22360 .{ ._, .v_ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
22361 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },22361 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
22362 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },22362 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
22363 } },22363 } },
...@@ -22382,9 +22382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -22382,9 +22382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
22382 .dst_temps = .{.mem},22382 .dst_temps = .{.mem},
22383 .clobbers = .{ .eflags = true },22383 .clobbers = .{ .eflags = true },
22384 .each = .{ .once = &.{22384 .each = .{ .once = &.{
22385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_size), ._, ._ },22385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
22386 .{ .@"0:", ._ps, .cvtpd2, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_size), ._, ._ },22386 .{ .@"0:", ._ps, .cvtpd2, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
22387 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_size), .tmp1x, ._, ._ },22387 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
22388 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },22388 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
22389 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },22389 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
22390 } },22390 } },
...@@ -23292,9 +23292,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23292,9 +23292,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23292 .dst_temps = .{.mem},23292 .dst_temps = .{.mem},
23293 .clobbers = .{ .eflags = true },23293 .clobbers = .{ .eflags = true },
23294 .each = .{ .once = &.{23294 .each = .{ .once = &.{
23295 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23295 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
23296 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },23296 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
23297 .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },23297 .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
23298 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },23298 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
23299 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },23299 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
23300 } },23300 } },
...@@ -23500,13 +23500,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23500,13 +23500,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23500 .dst_temps = .{.mem},23500 .dst_temps = .{.mem},
23501 .clobbers = .{ .eflags = true },23501 .clobbers = .{ .eflags = true },
23502 .each = .{ .once = &.{23502 .each = .{ .once = &.{
23503 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23503 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
23504 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },23504 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
23505 .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ },23505 .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ },
23506 .{ ._, .v_f128, .extract, .tmp1x, .tmp1y, .ui(1), ._ },23506 .{ ._, .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, ._, ._ },
23508 .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ },23508 .{ ._, .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, ._, ._ },
23510 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },23510 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
23511 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },23511 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
23512 } },23512 } },
...@@ -23975,9 +23975,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -23975,9 +23975,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
23975 .dst_temps = .{.mem},23975 .dst_temps = .{.mem},
23976 .clobbers = .{ .eflags = true },23976 .clobbers = .{ .eflags = true },
23977 .each = .{ .once = &.{23977 .each = .{ .once = &.{
23978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },23978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
23979 .{ .@"0:", .v_pd, .cvtps2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },23979 .{ .@"0:", .v_pd, .cvtps2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
23980 .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },23980 .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
23981 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },23981 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
23982 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },23982 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
23983 } },23983 } },
...@@ -24002,9 +24002,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24002,9 +24002,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24002 .dst_temps = .{.mem},24002 .dst_temps = .{.mem},
24003 .clobbers = .{ .eflags = true },24003 .clobbers = .{ .eflags = true },
24004 .each = .{ .once = &.{24004 .each = .{ .once = &.{
24005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },24005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
24006 .{ .@"0:", ._pd, .cvtps2, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },24006 .{ .@"0:", ._pd, .cvtps2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
24007 .{ ._, ._pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },24007 .{ ._, ._pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
24008 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },24008 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
24009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },24009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
24010 } },24010 } },
...@@ -24077,6 +24077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24077,6 +24077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24077 .unused,24077 .unused,
24078 },24078 },
24079 .dst_temps = .{.mem},24079 .dst_temps = .{.mem},
24080 .clobbers = .{ .eflags = true },
24080 .each = .{ .once = &.{24081 .each = .{ .once = &.{
24081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },24082 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
24082 .{ .@"0:", .f_, .ld, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._, ._ },24083 .{ .@"0:", .f_, .ld, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._, ._ },
...@@ -24237,6 +24238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24237,6 +24238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24237 .unused,24238 .unused,
24238 },24239 },
24239 .dst_temps = .{.mem},24240 .dst_temps = .{.mem},
24241 .clobbers = .{ .eflags = true },
24240 .each = .{ .once = &.{24242 .each = .{ .once = &.{
24241 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },24243 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
24242 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },24244 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
...@@ -24724,6 +24726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24724,6 +24726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24724 .unused,24726 .unused,
24725 },24727 },
24726 .dst_temps = .{.mem},24728 .dst_temps = .{.mem},
24729 .clobbers = .{ .eflags = true },
24727 .each = .{ .once = &.{24730 .each = .{ .once = &.{
24728 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24731 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24729 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), ._, ._ },24732 .{ .@"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 {...@@ -24749,6 +24752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24749 .unused,24752 .unused,
24750 },24753 },
24751 .dst_temps = .{.mem},24754 .dst_temps = .{.mem},
24755 .clobbers = .{ .eflags = true },
24752 .each = .{ .once = &.{24756 .each = .{ .once = &.{
24753 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24757 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24754 .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), ._, ._ },24758 .{ .@"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 {...@@ -24847,6 +24851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24847 .unused,24851 .unused,
24848 },24852 },
24849 .dst_temps = .{.mem},24853 .dst_temps = .{.mem},
24854 .clobbers = .{ .eflags = true },
24850 .each = .{ .once = &.{24855 .each = .{ .once = &.{
24851 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24856 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24852 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },24857 .{ .@"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 {...@@ -24872,6 +24877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24872 .unused,24877 .unused,
24873 },24878 },
24874 .dst_temps = .{.mem},24879 .dst_temps = .{.mem},
24880 .clobbers = .{ .eflags = true },
24875 .each = .{ .once = &.{24881 .each = .{ .once = &.{
24876 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24882 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24877 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },24883 .{ .@"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 {...@@ -24898,6 +24904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24898 .unused,24904 .unused,
24899 },24905 },
24900 .dst_temps = .{.mem},24906 .dst_temps = .{.mem},
24907 .clobbers = .{ .eflags = true },
24901 .each = .{ .once = &.{24908 .each = .{ .once = &.{
24902 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24909 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24903 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },24910 .{ .@"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 {...@@ -24923,6 +24930,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24923 .unused,24930 .unused,
24924 },24931 },
24925 .dst_temps = .{.mem},24932 .dst_temps = .{.mem},
24933 .clobbers = .{ .eflags = true },
24926 .each = .{ .once = &.{24934 .each = .{ .once = &.{
24927 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24935 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24928 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },24936 .{ .@"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 {...@@ -24949,6 +24957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24949 .unused,24957 .unused,
24950 },24958 },
24951 .dst_temps = .{.mem},24959 .dst_temps = .{.mem},
24960 .clobbers = .{ .eflags = true },
24952 .each = .{ .once = &.{24961 .each = .{ .once = &.{
24953 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24962 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24954 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },24963 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
...@@ -24976,6 +24985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24976,6 +24985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24976 .unused,24985 .unused,
24977 },24986 },
24978 .dst_temps = .{.mem},24987 .dst_temps = .{.mem},
24988 .clobbers = .{ .eflags = true },
24979 .each = .{ .once = &.{24989 .each = .{ .once = &.{
24980 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },24990 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
24981 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },24991 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
...@@ -25089,6 +25099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25089,6 +25099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25089 .unused,25099 .unused,
25090 },25100 },
25091 .dst_temps = .{.mem},25101 .dst_temps = .{.mem},
25102 .clobbers = .{ .eflags = true },
25092 .each = .{ .once = &.{25103 .each = .{ .once = &.{
25093 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25104 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25094 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },25105 .{ .@"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 {...@@ -25114,6 +25125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25114 .unused,25125 .unused,
25115 },25126 },
25116 .dst_temps = .{.mem},25127 .dst_temps = .{.mem},
25128 .clobbers = .{ .eflags = true },
25117 .each = .{ .once = &.{25129 .each = .{ .once = &.{
25118 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25130 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25119 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },25131 .{ .@"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 {...@@ -25139,6 +25151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25139 .unused,25151 .unused,
25140 },25152 },
25141 .dst_temps = .{.mem},25153 .dst_temps = .{.mem},
25154 .clobbers = .{ .eflags = true },
25142 .each = .{ .once = &.{25155 .each = .{ .once = &.{
25143 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25156 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25144 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },25157 .{ .@"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 {...@@ -25164,6 +25177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25164 .unused,25177 .unused,
25165 },25178 },
25166 .dst_temps = .{.mem},25179 .dst_temps = .{.mem},
25180 .clobbers = .{ .eflags = true },
25167 .each = .{ .once = &.{25181 .each = .{ .once = &.{
25168 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25182 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25169 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },25183 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
...@@ -25235,6 +25249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25235,6 +25249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25235 .unused,25249 .unused,
25236 },25250 },
25237 .dst_temps = .{.mem},25251 .dst_temps = .{.mem},
25252 .clobbers = .{ .eflags = true },
25238 .each = .{ .once = &.{25253 .each = .{ .once = &.{
25239 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25254 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25240 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ },25255 .{ .@"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 {...@@ -25260,6 +25275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25260 .unused,25275 .unused,
25261 },25276 },
25262 .dst_temps = .{.mem},25277 .dst_temps = .{.mem},
25278 .clobbers = .{ .eflags = true },
25263 .each = .{ .once = &.{25279 .each = .{ .once = &.{
25264 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25280 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25265 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },25281 .{ .@"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 {...@@ -25285,6 +25301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25285 .unused,25301 .unused,
25286 },25302 },
25287 .dst_temps = .{.mem},25303 .dst_temps = .{.mem},
25304 .clobbers = .{ .eflags = true },
25288 .each = .{ .once = &.{25305 .each = .{ .once = &.{
25289 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25306 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25290 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"8", .tmp0, .add_unaligned_size), ._, ._ },25307 .{ .@"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 {...@@ -25310,6 +25327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25310 .unused,25327 .unused,
25311 },25328 },
25312 .dst_temps = .{.mem},25329 .dst_temps = .{.mem},
25330 .clobbers = .{ .eflags = true },
25313 .each = .{ .once = &.{25331 .each = .{ .once = &.{
25314 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25332 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25315 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },25333 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
...@@ -25358,6 +25376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -25358,6 +25376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25358 .unused,25376 .unused,
25359 },25377 },
25360 .dst_temps = .{.mem},25378 .dst_temps = .{.mem},
25379 .clobbers = .{ .eflags = true },
25361 .each = .{ .once = &.{25380 .each = .{ .once = &.{
25362 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },25381 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
25363 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },25382 .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ },
...@@ -26157,7 +26176,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26157,7 +26176,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26157 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },26176 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
26158 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }},26177 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }},
26159 .patterns = &.{26178 .patterns = &.{
26160 .{ .src = .{ .mem, .none } },26179 .{ .src = .{ .to_mem, .none } },
26161 },26180 },
26162 .extra_temps = .{26181 .extra_temps = .{
26163 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26182 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26171,10 +26190,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26171,10 +26190,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26171 .unused,26190 .unused,
26172 },26191 },
26173 .dst_temps = .{.mem},26192 .dst_temps = .{.mem},
26193 .clobbers = .{ .eflags = true },
26174 .each = .{ .once = &.{26194 .each = .{ .once = &.{
26175 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26195 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26176 .{ .@"0:", .vp_w, .movsxb, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },26196 .{ .@"0:", .vp_w, .movsxb, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
26177 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },26197 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
26178 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },26198 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
26179 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26199 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26180 } },26200 } },
...@@ -26183,7 +26203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26183,7 +26203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26183 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any },26203 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any },
26184 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }},26204 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }},
26185 .patterns = &.{26205 .patterns = &.{
26186 .{ .src = .{ .mem, .none } },26206 .{ .src = .{ .to_mem, .none } },
26187 },26207 },
26188 .extra_temps = .{26208 .extra_temps = .{
26189 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26209 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26197,10 +26217,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26197,10 +26217,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26197 .unused,26217 .unused,
26198 },26218 },
26199 .dst_temps = .{.mem},26219 .dst_temps = .{.mem},
26220 .clobbers = .{ .eflags = true },
26200 .each = .{ .once = &.{26221 .each = .{ .once = &.{
26201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26222 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26202 .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },26223 .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
26203 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },26224 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
26204 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },26225 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
26205 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26226 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26206 } },26227 } },
...@@ -26209,7 +26230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26209,7 +26230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26209 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },26230 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
26210 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},26231 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
26211 .patterns = &.{26232 .patterns = &.{
26212 .{ .src = .{ .mem, .none } },26233 .{ .src = .{ .to_mem, .none } },
26213 },26234 },
26214 .extra_temps = .{26235 .extra_temps = .{
26215 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26236 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26223,10 +26244,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26223,10 +26244,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26223 .unused,26244 .unused,
26224 },26245 },
26225 .dst_temps = .{.mem},26246 .dst_temps = .{.mem},
26247 .clobbers = .{ .eflags = true },
26226 .each = .{ .once = &.{26248 .each = .{ .once = &.{
26227 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26228 .{ .@"0:", .vp_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },26250 .{ .@"0:", .vp_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26229 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },26251 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26230 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },26252 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
26231 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26253 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26232 } },26254 } },
...@@ -26235,7 +26257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26235,7 +26257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26235 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },26257 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },
26236 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},26258 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},
26237 .patterns = &.{26259 .patterns = &.{
26238 .{ .src = .{ .mem, .none } },26260 .{ .src = .{ .to_mem, .none } },
26239 },26261 },
26240 .extra_temps = .{26262 .extra_temps = .{
26241 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26263 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26249,10 +26271,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26249,10 +26271,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26249 .unused,26271 .unused,
26250 },26272 },
26251 .dst_temps = .{.mem},26273 .dst_temps = .{.mem},
26274 .clobbers = .{ .eflags = true },
26252 .each = .{ .once = &.{26275 .each = .{ .once = &.{
26253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26276 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26254 .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },26277 .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26255 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },26278 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26256 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },26279 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
26257 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26280 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26258 } },26281 } },
...@@ -26261,7 +26284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26261,7 +26284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26261 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },26284 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
26262 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},26285 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
26263 .patterns = &.{26286 .patterns = &.{
26264 .{ .src = .{ .mem, .none } },26287 .{ .src = .{ .to_mem, .none } },
26265 },26288 },
26266 .extra_temps = .{26289 .extra_temps = .{
26267 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26290 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26275,10 +26298,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26275,10 +26298,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26275 .unused,26298 .unused,
26276 },26299 },
26277 .dst_temps = .{.mem},26300 .dst_temps = .{.mem},
26301 .clobbers = .{ .eflags = true },
26278 .each = .{ .once = &.{26302 .each = .{ .once = &.{
26279 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26280 .{ .@"0:", .p_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },26304 .{ .@"0:", .p_w, .movsxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26281 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },26305 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26282 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },26306 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
26283 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26307 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26284 } },26308 } },
...@@ -26287,7 +26311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26287,7 +26311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26287 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },26311 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },
26288 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},26312 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},
26289 .patterns = &.{26313 .patterns = &.{
26290 .{ .src = .{ .mem, .none } },26314 .{ .src = .{ .to_mem, .none } },
26291 },26315 },
26292 .extra_temps = .{26316 .extra_temps = .{
26293 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26317 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26301,10 +26325,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26301,10 +26325,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26301 .unused,26325 .unused,
26302 },26326 },
26303 .dst_temps = .{.mem},26327 .dst_temps = .{.mem},
26328 .clobbers = .{ .eflags = true },
26304 .each = .{ .once = &.{26329 .each = .{ .once = &.{
26305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26330 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26306 .{ .@"0:", .p_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },26331 .{ .@"0:", .p_w, .movzxb, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26307 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },26332 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26308 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },26333 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
26309 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26334 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26310 } },26335 } },
...@@ -26327,6 +26352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26327,6 +26352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26327 .unused,26352 .unused,
26328 },26353 },
26329 .dst_temps = .{.mem},26354 .dst_temps = .{.mem},
26355 .clobbers = .{ .eflags = true },
26330 .each = .{ .once = &.{26356 .each = .{ .once = &.{
26331 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26357 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26332 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26358 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26352,6 +26378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26352,6 +26378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26352 .unused,26378 .unused,
26353 },26379 },
26354 .dst_temps = .{.mem},26380 .dst_temps = .{.mem},
26381 .clobbers = .{ .eflags = true },
26355 .each = .{ .once = &.{26382 .each = .{ .once = &.{
26356 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26383 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26357 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26384 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26378,6 +26405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26378,6 +26405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26378 .unused,26405 .unused,
26379 },26406 },
26380 .dst_temps = .{.mem},26407 .dst_temps = .{.mem},
26408 .clobbers = .{ .eflags = true },
26381 .each = .{ .once = &.{26409 .each = .{ .once = &.{
26382 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26410 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26383 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26411 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26403,6 +26431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26403,6 +26431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26403 .unused,26431 .unused,
26404 },26432 },
26405 .dst_temps = .{.mem},26433 .dst_temps = .{.mem},
26434 .clobbers = .{ .eflags = true },
26406 .each = .{ .once = &.{26435 .each = .{ .once = &.{
26407 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26408 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26437 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26537,7 +26566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26537,7 +26566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26537 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },26566 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
26538 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},26567 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
26539 .patterns = &.{26568 .patterns = &.{
26540 .{ .src = .{ .mem, .none } },26569 .{ .src = .{ .to_mem, .none } },
26541 },26570 },
26542 .extra_temps = .{26571 .extra_temps = .{
26543 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26572 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26551,10 +26580,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26551,10 +26580,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26551 .unused,26580 .unused,
26552 },26581 },
26553 .dst_temps = .{.mem},26582 .dst_temps = .{.mem},
26583 .clobbers = .{ .eflags = true },
26554 .each = .{ .once = &.{26584 .each = .{ .once = &.{
26555 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26585 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26556 .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memia(.src0q, .tmp0, .add_size), ._, ._ },26586 .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
26557 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },26587 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
26558 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },26588 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
26559 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26589 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26560 } },26590 } },
...@@ -26563,7 +26593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26563,7 +26593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26563 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },26593 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any },
26564 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},26594 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},
26565 .patterns = &.{26595 .patterns = &.{
26566 .{ .src = .{ .mem, .none } },26596 .{ .src = .{ .to_mem, .none } },
26567 },26597 },
26568 .extra_temps = .{26598 .extra_temps = .{
26569 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26599 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26577,10 +26607,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26577,10 +26607,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26577 .unused,26607 .unused,
26578 },26608 },
26579 .dst_temps = .{.mem},26609 .dst_temps = .{.mem},
26610 .clobbers = .{ .eflags = true },
26580 .each = .{ .once = &.{26611 .each = .{ .once = &.{
26581 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26612 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26582 .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },26613 .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
26583 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },26614 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
26584 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },26615 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
26585 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26616 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26586 } },26617 } },
...@@ -26589,7 +26620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26589,7 +26620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26589 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },26620 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
26590 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},26621 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
26591 .patterns = &.{26622 .patterns = &.{
26592 .{ .src = .{ .mem, .none } },26623 .{ .src = .{ .to_mem, .none } },
26593 },26624 },
26594 .extra_temps = .{26625 .extra_temps = .{
26595 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26626 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26603,10 +26634,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26603,10 +26634,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26603 .unused,26634 .unused,
26604 },26635 },
26605 .dst_temps = .{.mem},26636 .dst_temps = .{.mem},
26637 .clobbers = .{ .eflags = true },
26606 .each = .{ .once = &.{26638 .each = .{ .once = &.{
26607 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26639 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26608 .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },26640 .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26609 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },26641 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26610 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },26642 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
26611 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26643 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26612 } },26644 } },
...@@ -26615,7 +26647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26615,7 +26647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26615 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },26647 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
26616 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},26648 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
26617 .patterns = &.{26649 .patterns = &.{
26618 .{ .src = .{ .mem, .none } },26650 .{ .src = .{ .to_mem, .none } },
26619 },26651 },
26620 .extra_temps = .{26652 .extra_temps = .{
26621 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26653 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26629,10 +26661,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26629,10 +26661,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26629 .unused,26661 .unused,
26630 },26662 },
26631 .dst_temps = .{.mem},26663 .dst_temps = .{.mem},
26664 .clobbers = .{ .eflags = true },
26632 .each = .{ .once = &.{26665 .each = .{ .once = &.{
26633 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26666 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26634 .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },26667 .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26635 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },26668 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26636 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },26669 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
26637 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26670 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26638 } },26671 } },
...@@ -26641,7 +26674,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26641,7 +26674,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26641 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },26674 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
26642 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},26675 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
26643 .patterns = &.{26676 .patterns = &.{
26644 .{ .src = .{ .mem, .none } },26677 .{ .src = .{ .to_mem, .none } },
26645 },26678 },
26646 .extra_temps = .{26679 .extra_temps = .{
26647 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26680 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26655,10 +26688,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26655,10 +26688,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26655 .unused,26688 .unused,
26656 },26689 },
26657 .dst_temps = .{.mem},26690 .dst_temps = .{.mem},
26691 .clobbers = .{ .eflags = true },
26658 .each = .{ .once = &.{26692 .each = .{ .once = &.{
26659 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26660 .{ .@"0:", .p_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },26694 .{ .@"0:", .p_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26661 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },26695 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26662 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },26696 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
26663 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26697 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26664 } },26698 } },
...@@ -26667,7 +26701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26667,7 +26701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26667 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },26701 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
26668 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},26702 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
26669 .patterns = &.{26703 .patterns = &.{
26670 .{ .src = .{ .mem, .none } },26704 .{ .src = .{ .to_mem, .none } },
26671 },26705 },
26672 .extra_temps = .{26706 .extra_temps = .{
26673 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26707 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26681,10 +26715,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26681,10 +26715,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26681 .unused,26715 .unused,
26682 },26716 },
26683 .dst_temps = .{.mem},26717 .dst_temps = .{.mem},
26718 .clobbers = .{ .eflags = true },
26684 .each = .{ .once = &.{26719 .each = .{ .once = &.{
26685 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26720 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26686 .{ .@"0:", .p_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },26721 .{ .@"0:", .p_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26687 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },26722 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26688 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },26723 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
26689 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26724 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26690 } },26725 } },
...@@ -26707,6 +26742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26707,6 +26742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26707 .unused,26742 .unused,
26708 },26743 },
26709 .dst_temps = .{.mem},26744 .dst_temps = .{.mem},
26745 .clobbers = .{ .eflags = true },
26710 .each = .{ .once = &.{26746 .each = .{ .once = &.{
26711 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26747 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26712 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26748 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26732,6 +26768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26732,6 +26768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26732 .unused,26768 .unused,
26733 },26769 },
26734 .dst_temps = .{.mem},26770 .dst_temps = .{.mem},
26771 .clobbers = .{ .eflags = true },
26735 .each = .{ .once = &.{26772 .each = .{ .once = &.{
26736 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26773 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26737 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26774 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26758,6 +26795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26758,6 +26795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26758 .unused,26795 .unused,
26759 },26796 },
26760 .dst_temps = .{.mem},26797 .dst_temps = .{.mem},
26798 .clobbers = .{ .eflags = true },
26761 .each = .{ .once = &.{26799 .each = .{ .once = &.{
26762 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26800 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26763 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26801 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26783,6 +26821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26783,6 +26821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26783 .unused,26821 .unused,
26784 },26822 },
26785 .dst_temps = .{.mem},26823 .dst_temps = .{.mem},
26824 .clobbers = .{ .eflags = true },
26786 .each = .{ .once = &.{26825 .each = .{ .once = &.{
26787 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },26826 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26788 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },26827 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -26920,7 +26959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26920,7 +26959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26920 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },26959 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
26921 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},26960 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
26922 .patterns = &.{26961 .patterns = &.{
26923 .{ .src = .{ .mem, .none } },26962 .{ .src = .{ .to_mem, .none } },
26924 },26963 },
26925 .extra_temps = .{26964 .extra_temps = .{
26926 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26965 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26934,10 +26973,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26934,10 +26973,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26934 .unused,26973 .unused,
26935 },26974 },
26936 .dst_temps = .{.mem},26975 .dst_temps = .{.mem},
26976 .clobbers = .{ .eflags = true },
26937 .each = .{ .once = &.{26977 .each = .{ .once = &.{
26938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },26978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26939 .{ .@"0:", .vp_q, .movsxb, .tmp1y, .memia(.src0d, .tmp0, .add_size), ._, ._ },26979 .{ .@"0:", .vp_q, .movsxb, .tmp1y, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26940 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_size), .tmp1y, ._, ._ },26980 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
26941 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },26981 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
26942 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },26982 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26943 } },26983 } },
...@@ -26946,7 +26986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26946,7 +26986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26946 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },26986 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
26947 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},26987 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
26948 .patterns = &.{26988 .patterns = &.{
26949 .{ .src = .{ .mem, .none } },26989 .{ .src = .{ .to_mem, .none } },
26950 },26990 },
26951 .extra_temps = .{26991 .extra_temps = .{
26952 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },26992 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26960,10 +27000,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26960,10 +27000,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26960 .unused,27000 .unused,
26961 },27001 },
26962 .dst_temps = .{.mem},27002 .dst_temps = .{.mem},
27003 .clobbers = .{ .eflags = true },
26963 .each = .{ .once = &.{27004 .each = .{ .once = &.{
26964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26965 .{ .@"0:", .vp_q, .movzxb, .tmp1y, .memia(.src0d, .tmp0, .add_size), ._, ._ },27006 .{ .@"0:", .vp_q, .movzxb, .tmp1y, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
26966 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_size), .tmp1y, ._, ._ },27007 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"8", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
26967 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },27008 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
26968 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26969 } },27010 } },
...@@ -26972,7 +27013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26972,7 +27013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26972 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any },27013 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any },
26973 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},27014 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
26974 .patterns = &.{27015 .patterns = &.{
26975 .{ .src = .{ .mem, .none } },27016 .{ .src = .{ .to_mem, .none } },
26976 },27017 },
26977 .extra_temps = .{27018 .extra_temps = .{
26978 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27019 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -26986,10 +27027,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26986,10 +27027,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26986 .unused,27027 .unused,
26987 },27028 },
26988 .dst_temps = .{.mem},27029 .dst_temps = .{.mem},
27030 .clobbers = .{ .eflags = true },
26989 .each = .{ .once = &.{27031 .each = .{ .once = &.{
26990 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
26991 .{ .@"0:", .vp_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },27033 .{ .@"0:", .vp_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
26992 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },27034 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
26993 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },27035 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
26994 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27036 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26995 } },27037 } },
...@@ -26998,7 +27040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -26998,7 +27040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26998 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },27040 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },
26999 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},27041 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
27000 .patterns = &.{27042 .patterns = &.{
27001 .{ .src = .{ .mem, .none } },27043 .{ .src = .{ .to_mem, .none } },
27002 },27044 },
27003 .extra_temps = .{27045 .extra_temps = .{
27004 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27046 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27012,10 +27054,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27012,10 +27054,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27012 .unused,27054 .unused,
27013 },27055 },
27014 .dst_temps = .{.mem},27056 .dst_temps = .{.mem},
27057 .clobbers = .{ .eflags = true },
27015 .each = .{ .once = &.{27058 .each = .{ .once = &.{
27016 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27059 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27017 .{ .@"0:", .vp_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },27060 .{ .@"0:", .vp_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27018 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },27061 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27019 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },27062 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
27020 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27063 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27021 } },27064 } },
...@@ -27024,7 +27067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27024,7 +27067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27024 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any },27067 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any },
27025 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},27068 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
27026 .patterns = &.{27069 .patterns = &.{
27027 .{ .src = .{ .mem, .none } },27070 .{ .src = .{ .to_mem, .none } },
27028 },27071 },
27029 .extra_temps = .{27072 .extra_temps = .{
27030 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27073 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27038,10 +27081,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27038,10 +27081,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27038 .unused,27081 .unused,
27039 },27082 },
27040 .dst_temps = .{.mem},27083 .dst_temps = .{.mem},
27084 .clobbers = .{ .eflags = true },
27041 .each = .{ .once = &.{27085 .each = .{ .once = &.{
27042 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27086 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27043 .{ .@"0:", .p_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },27087 .{ .@"0:", .p_q, .movsxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27044 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },27088 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27045 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },27089 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
27046 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27090 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27047 } },27091 } },
...@@ -27050,7 +27094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27050,7 +27094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27050 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },27094 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },
27051 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},27095 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
27052 .patterns = &.{27096 .patterns = &.{
27053 .{ .src = .{ .mem, .none } },27097 .{ .src = .{ .to_mem, .none } },
27054 },27098 },
27055 .extra_temps = .{27099 .extra_temps = .{
27056 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27100 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27064,10 +27108,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27064,10 +27108,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27064 .unused,27108 .unused,
27065 },27109 },
27066 .dst_temps = .{.mem},27110 .dst_temps = .{.mem},
27111 .clobbers = .{ .eflags = true },
27067 .each = .{ .once = &.{27112 .each = .{ .once = &.{
27068 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27113 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27069 .{ .@"0:", .p_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_size), ._, ._ },27114 .{ .@"0:", .p_q, .movzxb, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
27070 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_size), .tmp1x, ._, ._ },27115 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27071 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },27116 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
27072 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27117 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27073 } },27118 } },
...@@ -27090,6 +27135,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27090,6 +27135,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27090 .unused,27135 .unused,
27091 },27136 },
27092 .dst_temps = .{.mem},27137 .dst_temps = .{.mem},
27138 .clobbers = .{ .eflags = true },
27093 .each = .{ .once = &.{27139 .each = .{ .once = &.{
27094 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27095 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },27141 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -27116,6 +27162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27116,6 +27162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27116 .unused,27162 .unused,
27117 },27163 },
27118 .dst_temps = .{.mem},27164 .dst_temps = .{.mem},
27165 .clobbers = .{ .eflags = true },
27119 .each = .{ .once = &.{27166 .each = .{ .once = &.{
27120 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27167 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27121 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },27168 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -27142,6 +27189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27142,6 +27189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27142 .unused,27189 .unused,
27143 },27190 },
27144 .dst_temps = .{.mem},27191 .dst_temps = .{.mem},
27192 .clobbers = .{ .eflags = true },
27145 .each = .{ .once = &.{27193 .each = .{ .once = &.{
27146 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27147 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },27195 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -27167,6 +27215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27167,6 +27215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27167 .unused,27215 .unused,
27168 },27216 },
27169 .dst_temps = .{.mem},27217 .dst_temps = .{.mem},
27218 .clobbers = .{ .eflags = true },
27170 .each = .{ .once = &.{27219 .each = .{ .once = &.{
27171 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27220 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27172 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },27221 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -27301,6 +27350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27301,6 +27350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27301 .unused,27350 .unused,
27302 },27351 },
27303 .dst_temps = .{.mem},27352 .dst_temps = .{.mem},
27353 .clobbers = .{ .eflags = true },
27304 .each = .{ .once = &.{27354 .each = .{ .once = &.{
27305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27355 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27306 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },27356 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -27331,6 +27381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27331,6 +27381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27331 .unused,27381 .unused,
27332 },27382 },
27333 .dst_temps = .{.mem},27383 .dst_temps = .{.mem},
27384 .clobbers = .{ .eflags = true },
27334 .each = .{ .once = &.{27385 .each = .{ .once = &.{
27335 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27386 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27336 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },27387 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -27361,6 +27412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27361,6 +27412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27361 .unused,27412 .unused,
27362 },27413 },
27363 .dst_temps = .{.mem},27414 .dst_temps = .{.mem},
27415 .clobbers = .{ .eflags = true },
27364 .each = .{ .once = &.{27416 .each = .{ .once = &.{
27365 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27417 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27366 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },27418 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -27391,6 +27443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27391,6 +27443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27391 .unused,27443 .unused,
27392 },27444 },
27393 .dst_temps = .{.mem},27445 .dst_temps = .{.mem},
27446 .clobbers = .{ .eflags = true },
27394 .each = .{ .once = &.{27447 .each = .{ .once = &.{
27395 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27448 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27396 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },27449 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -27526,7 +27579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27526,7 +27579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27526 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },27579 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
27527 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},27580 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
27528 .patterns = &.{27581 .patterns = &.{
27529 .{ .src = .{ .mem, .none } },27582 .{ .src = .{ .to_mem, .none } },
27530 },27583 },
27531 .extra_temps = .{27584 .extra_temps = .{
27532 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27585 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27540,10 +27593,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27540,10 +27593,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27540 .unused,27593 .unused,
27541 },27594 },
27542 .dst_temps = .{.mem},27595 .dst_temps = .{.mem},
27596 .clobbers = .{ .eflags = true },
27543 .each = .{ .once = &.{27597 .each = .{ .once = &.{
27544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27545 .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },27599 .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
27546 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },27600 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
27547 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },27601 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
27548 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27602 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27549 } },27603 } },
...@@ -27552,7 +27606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27552,7 +27606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27552 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any },27606 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any },
27553 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},27607 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},
27554 .patterns = &.{27608 .patterns = &.{
27555 .{ .src = .{ .mem, .none } },27609 .{ .src = .{ .to_mem, .none } },
27556 },27610 },
27557 .extra_temps = .{27611 .extra_temps = .{
27558 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27612 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27566,10 +27620,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27566,10 +27620,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27566 .unused,27620 .unused,
27567 },27621 },
27568 .dst_temps = .{.mem},27622 .dst_temps = .{.mem},
27623 .clobbers = .{ .eflags = true },
27569 .each = .{ .once = &.{27624 .each = .{ .once = &.{
27570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27571 .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },27626 .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
27572 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },27627 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
27573 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },27628 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
27574 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27629 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27575 } },27630 } },
...@@ -27578,7 +27633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27578,7 +27633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27578 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },27633 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
27579 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},27634 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
27580 .patterns = &.{27635 .patterns = &.{
27581 .{ .src = .{ .mem, .none } },27636 .{ .src = .{ .to_mem, .none } },
27582 },27637 },
27583 .extra_temps = .{27638 .extra_temps = .{
27584 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27639 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27592,10 +27647,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27592,10 +27647,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27592 .unused,27647 .unused,
27593 },27648 },
27594 .dst_temps = .{.mem},27649 .dst_temps = .{.mem},
27650 .clobbers = .{ .eflags = true },
27595 .each = .{ .once = &.{27651 .each = .{ .once = &.{
27596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27652 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27597 .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },27653 .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27598 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },27654 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27599 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },27655 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
27600 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27656 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27601 } },27657 } },
...@@ -27604,7 +27660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27604,7 +27660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27604 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },27660 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },
27605 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},27661 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
27606 .patterns = &.{27662 .patterns = &.{
27607 .{ .src = .{ .mem, .none } },27663 .{ .src = .{ .to_mem, .none } },
27608 },27664 },
27609 .extra_temps = .{27665 .extra_temps = .{
27610 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27666 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27618,10 +27674,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27618,10 +27674,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27618 .unused,27674 .unused,
27619 },27675 },
27620 .dst_temps = .{.mem},27676 .dst_temps = .{.mem},
27677 .clobbers = .{ .eflags = true },
27621 .each = .{ .once = &.{27678 .each = .{ .once = &.{
27622 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27679 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27623 .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },27680 .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27624 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },27681 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27625 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },27682 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
27626 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27683 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27627 } },27684 } },
...@@ -27630,7 +27687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27630,7 +27687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27630 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },27687 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
27631 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},27688 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
27632 .patterns = &.{27689 .patterns = &.{
27633 .{ .src = .{ .mem, .none } },27690 .{ .src = .{ .to_mem, .none } },
27634 },27691 },
27635 .extra_temps = .{27692 .extra_temps = .{
27636 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27693 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27644,10 +27701,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27644,10 +27701,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27644 .unused,27701 .unused,
27645 },27702 },
27646 .dst_temps = .{.mem},27703 .dst_temps = .{.mem},
27704 .clobbers = .{ .eflags = true },
27647 .each = .{ .once = &.{27705 .each = .{ .once = &.{
27648 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27706 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27649 .{ .@"0:", .p_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },27707 .{ .@"0:", .p_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27650 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },27708 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27651 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },27709 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
27652 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27710 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27653 } },27711 } },
...@@ -27656,7 +27714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27656,7 +27714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27656 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },27714 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },
27657 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},27715 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
27658 .patterns = &.{27716 .patterns = &.{
27659 .{ .src = .{ .mem, .none } },27717 .{ .src = .{ .to_mem, .none } },
27660 },27718 },
27661 .extra_temps = .{27719 .extra_temps = .{
27662 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27720 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27670,10 +27728,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27670,10 +27728,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27670 .unused,27728 .unused,
27671 },27729 },
27672 .dst_temps = .{.mem},27730 .dst_temps = .{.mem},
27731 .clobbers = .{ .eflags = true },
27673 .each = .{ .once = &.{27732 .each = .{ .once = &.{
27674 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27733 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27675 .{ .@"0:", .p_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },27734 .{ .@"0:", .p_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27676 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },27735 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27677 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },27736 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
27678 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27737 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27679 } },27738 } },
...@@ -27695,6 +27754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27695,6 +27754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27695 .unused,27754 .unused,
27696 },27755 },
27697 .dst_temps = .{.mem},27756 .dst_temps = .{.mem},
27757 .clobbers = .{ .eflags = true },
27698 .each = .{ .once = &.{27758 .each = .{ .once = &.{
27699 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27759 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27700 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },27760 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -27720,6 +27780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27720,6 +27780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27720 .unused,27780 .unused,
27721 },27781 },
27722 .dst_temps = .{.mem},27782 .dst_temps = .{.mem},
27783 .clobbers = .{ .eflags = true },
27723 .each = .{ .once = &.{27784 .each = .{ .once = &.{
27724 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },27785 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27725 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },27786 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -27854,7 +27915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27854,7 +27915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27854 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },27915 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
27855 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},27916 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
27856 .patterns = &.{27917 .patterns = &.{
27857 .{ .src = .{ .mem, .none } },27918 .{ .src = .{ .to_mem, .none } },
27858 },27919 },
27859 .extra_temps = .{27920 .extra_temps = .{
27860 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27921 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27868,10 +27929,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27868,10 +27929,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27868 .unused,27929 .unused,
27869 },27930 },
27870 .dst_temps = .{.mem},27931 .dst_temps = .{.mem},
27932 .clobbers = .{ .eflags = true },
27871 .each = .{ .once = &.{27933 .each = .{ .once = &.{
27872 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27934 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27873 .{ .@"0:", .vp_q, .movsxw, .tmp1y, .memia(.src0q, .tmp0, .add_size), ._, ._ },27935 .{ .@"0:", .vp_q, .movsxw, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27874 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },27936 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
27875 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },27937 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
27876 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27938 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27877 } },27939 } },
...@@ -27880,7 +27942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27880,7 +27942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27880 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },27942 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any },
27881 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},27943 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
27882 .patterns = &.{27944 .patterns = &.{
27883 .{ .src = .{ .mem, .none } },27945 .{ .src = .{ .to_mem, .none } },
27884 },27946 },
27885 .extra_temps = .{27947 .extra_temps = .{
27886 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27948 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27894,10 +27956,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27894,10 +27956,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27894 .unused,27956 .unused,
27895 },27957 },
27896 .dst_temps = .{.mem},27958 .dst_temps = .{.mem},
27959 .clobbers = .{ .eflags = true },
27897 .each = .{ .once = &.{27960 .each = .{ .once = &.{
27898 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27961 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27899 .{ .@"0:", .vp_q, .movzxw, .tmp1y, .memia(.src0q, .tmp0, .add_size), ._, ._ },27962 .{ .@"0:", .vp_q, .movzxw, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
27900 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_size), .tmp1y, ._, ._ },27963 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
27901 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },27964 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
27902 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27965 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27903 } },27966 } },
...@@ -27906,7 +27969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27906,7 +27969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27906 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },27969 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
27907 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},27970 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
27908 .patterns = &.{27971 .patterns = &.{
27909 .{ .src = .{ .mem, .none } },27972 .{ .src = .{ .to_mem, .none } },
27910 },27973 },
27911 .extra_temps = .{27974 .extra_temps = .{
27912 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },27975 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27920,10 +27983,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27920,10 +27983,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27920 .unused,27983 .unused,
27921 },27984 },
27922 .dst_temps = .{.mem},27985 .dst_temps = .{.mem},
27986 .clobbers = .{ .eflags = true },
27923 .each = .{ .once = &.{27987 .each = .{ .once = &.{
27924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },27988 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27925 .{ .@"0:", .vp_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },27989 .{ .@"0:", .vp_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
27926 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },27990 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27927 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },27991 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
27928 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },27992 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27929 } },27993 } },
...@@ -27932,7 +27996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27932,7 +27996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27932 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },27996 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },
27933 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},27997 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
27934 .patterns = &.{27998 .patterns = &.{
27935 .{ .src = .{ .mem, .none } },27999 .{ .src = .{ .to_mem, .none } },
27936 },28000 },
27937 .extra_temps = .{28001 .extra_temps = .{
27938 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28002 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27946,10 +28010,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27946,10 +28010,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27946 .unused,28010 .unused,
27947 },28011 },
27948 .dst_temps = .{.mem},28012 .dst_temps = .{.mem},
28013 .clobbers = .{ .eflags = true },
27949 .each = .{ .once = &.{28014 .each = .{ .once = &.{
27950 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28015 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27951 .{ .@"0:", .vp_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },28016 .{ .@"0:", .vp_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
27952 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },28017 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27953 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },28018 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
27954 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28019 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27955 } },28020 } },
...@@ -27958,7 +28023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27958,7 +28023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27958 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },28023 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
27959 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},28024 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
27960 .patterns = &.{28025 .patterns = &.{
27961 .{ .src = .{ .mem, .none } },28026 .{ .src = .{ .to_mem, .none } },
27962 },28027 },
27963 .extra_temps = .{28028 .extra_temps = .{
27964 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28029 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27972,10 +28037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27972,10 +28037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27972 .unused,28037 .unused,
27973 },28038 },
27974 .dst_temps = .{.mem},28039 .dst_temps = .{.mem},
28040 .clobbers = .{ .eflags = true },
27975 .each = .{ .once = &.{28041 .each = .{ .once = &.{
27976 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28042 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
27977 .{ .@"0:", .p_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },28043 .{ .@"0:", .p_q, .movsxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
27978 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },28044 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
27979 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },28045 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
27980 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28046 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27981 } },28047 } },
...@@ -27984,7 +28050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27984,7 +28050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27984 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },28050 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },
27985 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},28051 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
27986 .patterns = &.{28052 .patterns = &.{
27987 .{ .src = .{ .mem, .none } },28053 .{ .src = .{ .to_mem, .none } },
27988 },28054 },
27989 .extra_temps = .{28055 .extra_temps = .{
27990 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28056 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -27998,10 +28064,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -27998,10 +28064,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
27998 .unused,28064 .unused,
27999 },28065 },
28000 .dst_temps = .{.mem},28066 .dst_temps = .{.mem},
28067 .clobbers = .{ .eflags = true },
28001 .each = .{ .once = &.{28068 .each = .{ .once = &.{
28002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28069 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28003 .{ .@"0:", .p_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_size), ._, ._ },28070 .{ .@"0:", .p_q, .movzxw, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
28004 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_size), .tmp1x, ._, ._ },28071 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
28005 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },28072 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
28006 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28073 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28007 } },28074 } },
...@@ -28024,6 +28091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28024,6 +28091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28024 .unused,28091 .unused,
28025 },28092 },
28026 .dst_temps = .{.mem},28093 .dst_temps = .{.mem},
28094 .clobbers = .{ .eflags = true },
28027 .each = .{ .once = &.{28095 .each = .{ .once = &.{
28028 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28096 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28029 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },28097 .{ .@"0:", ._, .movsx, .tmp1q, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -28050,6 +28118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28050,6 +28118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28050 .unused,28118 .unused,
28051 },28119 },
28052 .dst_temps = .{.mem},28120 .dst_temps = .{.mem},
28121 .clobbers = .{ .eflags = true },
28053 .each = .{ .once = &.{28122 .each = .{ .once = &.{
28054 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28123 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28055 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },28124 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -28181,6 +28250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28181,6 +28250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28181 .unused,28250 .unused,
28182 },28251 },
28183 .dst_temps = .{.mem},28252 .dst_temps = .{.mem},
28253 .clobbers = .{ .eflags = true },
28184 .each = .{ .once = &.{28254 .each = .{ .once = &.{
28185 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28255 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28186 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },28256 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -28211,6 +28281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28211,6 +28281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28211 .unused,28281 .unused,
28212 },28282 },
28213 .dst_temps = .{.mem},28283 .dst_temps = .{.mem},
28284 .clobbers = .{ .eflags = true },
28214 .each = .{ .once = &.{28285 .each = .{ .once = &.{
28215 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28286 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28216 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },28287 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -28346,7 +28417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28346,7 +28417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28346 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },28417 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
28347 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},28418 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
28348 .patterns = &.{28419 .patterns = &.{
28349 .{ .src = .{ .mem, .none } },28420 .{ .src = .{ .to_mem, .none } },
28350 },28421 },
28351 .extra_temps = .{28422 .extra_temps = .{
28352 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28423 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -28360,10 +28431,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28360,10 +28431,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28360 .unused,28431 .unused,
28361 },28432 },
28362 .dst_temps = .{.mem},28433 .dst_temps = .{.mem},
28434 .clobbers = .{ .eflags = true },
28363 .each = .{ .once = &.{28435 .each = .{ .once = &.{
28364 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28365 .{ .@"0:", .vp_q, .movsxd, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },28437 .{ .@"0:", .vp_q, .movsxd, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
28366 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },28438 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
28367 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },28439 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
28368 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28440 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28369 } },28441 } },
...@@ -28372,7 +28444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28372,7 +28444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28372 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },28444 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },
28373 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},28445 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
28374 .patterns = &.{28446 .patterns = &.{
28375 .{ .src = .{ .mem, .none } },28447 .{ .src = .{ .to_mem, .none } },
28376 },28448 },
28377 .extra_temps = .{28449 .extra_temps = .{
28378 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28450 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -28386,10 +28458,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28386,10 +28458,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28386 .unused,28458 .unused,
28387 },28459 },
28388 .dst_temps = .{.mem},28460 .dst_temps = .{.mem},
28461 .clobbers = .{ .eflags = true },
28389 .each = .{ .once = &.{28462 .each = .{ .once = &.{
28390 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28391 .{ .@"0:", .vp_q, .movzxd, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ },28464 .{ .@"0:", .vp_q, .movzxd, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
28392 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_size), .tmp1y, ._, ._ },28465 .{ ._, .v_dqa, .mov, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
28393 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },28466 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
28394 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28467 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28395 } },28468 } },
...@@ -28398,7 +28471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28398,7 +28471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28398 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },28471 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
28399 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},28472 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
28400 .patterns = &.{28473 .patterns = &.{
28401 .{ .src = .{ .mem, .none } },28474 .{ .src = .{ .to_mem, .none } },
28402 },28475 },
28403 .extra_temps = .{28476 .extra_temps = .{
28404 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28477 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -28412,10 +28485,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28412,10 +28485,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28412 .unused,28485 .unused,
28413 },28486 },
28414 .dst_temps = .{.mem},28487 .dst_temps = .{.mem},
28488 .clobbers = .{ .eflags = true },
28415 .each = .{ .once = &.{28489 .each = .{ .once = &.{
28416 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28490 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28417 .{ .@"0:", .vp_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },28491 .{ .@"0:", .vp_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28418 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },28492 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
28419 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },28493 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
28420 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28494 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28421 } },28495 } },
...@@ -28424,7 +28498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28424,7 +28498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28424 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },28498 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any },
28425 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},28499 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
28426 .patterns = &.{28500 .patterns = &.{
28427 .{ .src = .{ .mem, .none } },28501 .{ .src = .{ .to_mem, .none } },
28428 },28502 },
28429 .extra_temps = .{28503 .extra_temps = .{
28430 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28504 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -28438,10 +28512,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28438,10 +28512,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28438 .unused,28512 .unused,
28439 },28513 },
28440 .dst_temps = .{.mem},28514 .dst_temps = .{.mem},
28515 .clobbers = .{ .eflags = true },
28441 .each = .{ .once = &.{28516 .each = .{ .once = &.{
28442 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28517 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28443 .{ .@"0:", .vp_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },28518 .{ .@"0:", .vp_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28444 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },28519 .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
28445 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },28520 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
28446 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28521 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28447 } },28522 } },
...@@ -28450,7 +28525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28450,7 +28525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28450 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },28525 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
28451 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},28526 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
28452 .patterns = &.{28527 .patterns = &.{
28453 .{ .src = .{ .mem, .none } },28528 .{ .src = .{ .to_mem, .none } },
28454 },28529 },
28455 .extra_temps = .{28530 .extra_temps = .{
28456 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28531 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -28464,10 +28539,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28464,10 +28539,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28464 .unused,28539 .unused,
28465 },28540 },
28466 .dst_temps = .{.mem},28541 .dst_temps = .{.mem},
28542 .clobbers = .{ .eflags = true },
28467 .each = .{ .once = &.{28543 .each = .{ .once = &.{
28468 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28469 .{ .@"0:", .p_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },28545 .{ .@"0:", .p_q, .movsxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28470 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },28546 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
28471 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },28547 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
28472 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28548 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28473 } },28549 } },
...@@ -28476,7 +28552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28476,7 +28552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28476 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .dword } }, .any },28552 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .dword } }, .any },
28477 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},28553 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
28478 .patterns = &.{28554 .patterns = &.{
28479 .{ .src = .{ .mem, .none } },28555 .{ .src = .{ .to_mem, .none } },
28480 },28556 },
28481 .extra_temps = .{28557 .extra_temps = .{
28482 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },28558 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
...@@ -28490,10 +28566,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28490,10 +28566,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28490 .unused,28566 .unused,
28491 },28567 },
28492 .dst_temps = .{.mem},28568 .dst_temps = .{.mem},
28569 .clobbers = .{ .eflags = true },
28493 .each = .{ .once = &.{28570 .each = .{ .once = &.{
28494 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },28571 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28495 .{ .@"0:", .p_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ },28572 .{ .@"0:", .p_q, .movzxd, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
28496 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_size), .tmp1x, ._, ._ },28573 .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
28497 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },28574 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
28498 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },28575 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
28499 } },28576 } },
...@@ -28516,6 +28593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28516,6 +28593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28516 .unused,28593 .unused,
28517 },28594 },
28518 .dst_temps = .{.mem},28595 .dst_temps = .{.mem},
28596 .clobbers = .{ .eflags = true },
28519 .each = .{ .once = &.{28597 .each = .{ .once = &.{
28520 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28521 .{ .@"0:", ._, .movsxd, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },28599 .{ .@"0:", ._, .movsxd, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -28542,6 +28620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28542,6 +28620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28542 .unused,28620 .unused,
28543 },28621 },
28544 .dst_temps = .{.mem},28622 .dst_temps = .{.mem},
28623 .clobbers = .{ .eflags = true },
28545 .each = .{ .once = &.{28624 .each = .{ .once = &.{
28546 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28547 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },28626 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
...@@ -28670,6 +28749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28670,6 +28749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28670 .unused,28749 .unused,
28671 },28750 },
28672 .dst_temps = .{.mem},28751 .dst_temps = .{.mem},
28752 .clobbers = .{ .eflags = true },
28673 .each = .{ .once = &.{28753 .each = .{ .once = &.{
28674 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28754 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28675 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },28755 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -28700,6 +28780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28700,6 +28780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28700 .unused,28780 .unused,
28701 },28781 },
28702 .dst_temps = .{.mem},28782 .dst_temps = .{.mem},
28783 .clobbers = .{ .eflags = true },
28703 .each = .{ .once = &.{28784 .each = .{ .once = &.{
28704 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },28785 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
28705 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },28786 .{ ._, ._, .lea, .tmp1q, .mem(.dst0), ._, ._ },
...@@ -28714,7 +28795,5049 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28714,7 +28795,5049 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28714 }, .{28795 }, .{
28715 .required_features = .{ .@"64bit", .slow_incdec, null, null },28796 .required_features = .{ .@"64bit", .slow_incdec, null, null },
28716 .src_constraints = .{ .any_scalar_signed_int, .any },28797 .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 } }},
28718 .patterns = &.{33841 .patterns = &.{
28719 .{ .src = .{ .to_mem, .none } },33842 .{ .src = .{ .to_mem, .none } },
28720 },33843 },
...@@ -28723,7 +33846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28723,7 +33846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28723 .{ .type = .usize, .kind = .{ .reg = .rsi } },33846 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28724 .{ .type = .usize, .kind = .{ .reg = .rdi } },33847 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28725 .{ .type = .u32, .kind = .{ .reg = .ecx } },33848 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28726 .{ .type = .i64, .kind = .{ .reg = .rax } },33849 .{ .type = .u64, .kind = .{ .reg = .rax } },
28727 .unused,33850 .unused,
28728 .unused,33851 .unused,
28729 .unused,33852 .unused,
...@@ -28735,20 +33858,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28735,20 +33858,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28735 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },33858 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28736 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },33859 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28737 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },33860 .{ ._, ._, .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), ._, ._ },
28739 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },33862 .{ ._, .@"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), ._, ._ },
28741 .{ ._, ._sq, .sto, ._, ._, ._, ._ },33866 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28742 .{ ._, ._r, .sa, .tmp4q, .ui(63), ._, ._ },33867 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
28743 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28744 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28745 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },33868 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
28746 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },33869 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
28747 } },33870 } },
28748 }, .{33871 }, .{
28749 .required_features = .{ .@"64bit", null, null, null },33872 .required_features = .{ .@"64bit", null, null, null },
28750 .src_constraints = .{ .any_scalar_signed_int, .any },33873 .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 } }},
28752 .patterns = &.{33875 .patterns = &.{
28753 .{ .src = .{ .to_mem, .none } },33876 .{ .src = .{ .to_mem, .none } },
28754 },33877 },
...@@ -28757,7 +33880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28757,7 +33880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28757 .{ .type = .usize, .kind = .{ .reg = .rsi } },33880 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28758 .{ .type = .usize, .kind = .{ .reg = .rdi } },33881 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28759 .{ .type = .u32, .kind = .{ .reg = .ecx } },33882 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28760 .{ .type = .i64, .kind = .{ .reg = .rax } },33883 .{ .type = .u64, .kind = .{ .reg = .rax } },
28761 .unused,33884 .unused,
28762 .unused,33885 .unused,
28763 .unused,33886 .unused,
...@@ -28769,20 +33892,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28769,20 +33892,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28769 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },33892 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28770 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },33893 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28771 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },33894 .{ ._, ._, .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), ._, ._ },
28773 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },33896 .{ ._, .@"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), ._, ._ },
28775 .{ ._, ._sq, .sto, ._, ._, ._, ._ },33900 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28776 .{ ._, ._r, .sa, .tmp4q, .ui(63), ._, ._ },33901 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
28777 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },
28778 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28779 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },33902 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
28780 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },33903 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
28781 } },33904 } },
28782 }, .{33905 }, .{
28783 .required_features = .{ .@"64bit", .slow_incdec, null, null },33906 .required_features = .{ .@"64bit", .slow_incdec, null, null },
28784 .src_constraints = .{ .any_scalar_int, .any },33907 .src_constraints = .{ .any_scalar_unsigned_int, .any },
28785 .dst_constraints = .{.any_scalar_int},33908 .dst_constraints = .{.{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
28786 .patterns = &.{33909 .patterns = &.{
28787 .{ .src = .{ .to_mem, .none } },33910 .{ .src = .{ .to_mem, .none } },
28788 },33911 },
...@@ -28790,8 +33913,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28790,8 +33913,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28790 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },33913 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
28791 .{ .type = .usize, .kind = .{ .reg = .rsi } },33914 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28792 .{ .type = .usize, .kind = .{ .reg = .rdi } },33915 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28793 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28794 .{ .type = .u64, .kind = .{ .reg = .rax } },33916 .{ .type = .u64, .kind = .{ .reg = .rax } },
33917 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28795 .unused,33918 .unused,
28796 .unused,33919 .unused,
28797 .unused,33920 .unused,
...@@ -28803,18 +33926,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28803,18 +33926,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28803 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },33926 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28804 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },33927 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28805 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },33928 .{ ._, ._, .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), ._, ._ },
28807 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },33931 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28808 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },33932 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28809 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },33933 .{ ._, ._, .add, .tmp1p, .sa2(.src0, .dst0, .add_delta_elem_size), ._, ._ },
28810 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28811 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },33934 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
28812 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },33935 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
28813 } },33936 } },
28814 }, .{33937 }, .{
28815 .required_features = .{ .@"64bit", null, null, null },33938 .required_features = .{ .@"64bit", null, null, null },
28816 .src_constraints = .{ .any_scalar_int, .any },33939 .src_constraints = .{ .any_scalar_unsigned_int, .any },
28817 .dst_constraints = .{.any_scalar_int},33940 .dst_constraints = .{.{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
28818 .patterns = &.{33941 .patterns = &.{
28819 .{ .src = .{ .to_mem, .none } },33942 .{ .src = .{ .to_mem, .none } },
28820 },33943 },
...@@ -28822,8 +33945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28822,8 +33945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28822 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },33945 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
28823 .{ .type = .usize, .kind = .{ .reg = .rsi } },33946 .{ .type = .usize, .kind = .{ .reg = .rsi } },
28824 .{ .type = .usize, .kind = .{ .reg = .rdi } },33947 .{ .type = .usize, .kind = .{ .reg = .rdi } },
28825 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28826 .{ .type = .u64, .kind = .{ .reg = .rax } },33948 .{ .type = .u64, .kind = .{ .reg = .rax } },
33949 .{ .type = .u32, .kind = .{ .reg = .ecx } },
28827 .unused,33950 .unused,
28828 .unused,33951 .unused,
28829 .unused,33952 .unused,
...@@ -28835,368 +33958,98 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -28835,368 +33958,98 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28835 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },33958 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
28836 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },33959 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
28837 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },33960 .{ ._, ._, .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), ._, ._ },
28839 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },33963 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
28840 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },33964 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
28841 .{ ._, ._, .mov, .tmp3d, .sa2(.dst0, .src0, .add_delta_elem_size_div_8), ._, ._ },33965 .{ ._, ._, .add, .tmp1p, .sa2(.src0, .dst0, .add_delta_elem_size), ._, ._ },
28842 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
28843 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },33966 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
28844 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },33967 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
28845 } },33968 } },
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 } },
29093 }, .{33969 }, .{
29094 .required_features = .{ .@"64bit", null, null, null },33970 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
29095 .src_constraints = .{ .any_signed_int, .any },33971 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29096 .dst_constraints = .{.{ .signed_int = .qword }},33972 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
29097 .patterns = &.{33973 .patterns = &.{
29098 .{ .src = .{ .to_mem, .none } },33974 .{ .src = .{ .to_mem, .none } },
29099 },33975 },
29100 .dst_temps = .{.{ .rc = .general_purpose }},33976 .extra_temps = .{
29101 .clobbers = .{ .eflags = true },33977 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29102 .each = .{ .once = &.{33978 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29103 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },33979 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29104 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },33980 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
29105 .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },33981 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29106 } },33982 .unused,
29107 }, .{33983 .unused,
29108 .required_features = .{ .@"64bit", .bmi2, null, null },33984 .unused,
29109 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any },33985 .unused,
29110 .dst_constraints = .{.{ .unsigned_int = .qword }},
29111 .patterns = &.{
29112 .{ .src = .{ .mem, .none } },
29113 .{ .src = .{ .to_gpr, .none } },
29114 },33986 },
29115 .dst_temps = .{.{ .rc = .general_purpose }},33987 .dst_temps = .{.mem},
29116 .clobbers = .{ .eflags = true },33988 .clobbers = .{ .eflags = true },
29117 .each = .{ .once = &.{33989 .each = .{ .once = &.{
29118 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },33990 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29119 .{ ._, ._, .bzhi, .dst0q, .src0q, .dst0q, ._ },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", ._, ._, ._ },
29120 } },34003 } },
29121 }, .{34004 }, .{
29122 .required_features = .{ .@"64bit", .bmi2, null, null },34005 .required_features = .{ .@"64bit", .bmi2, null, null },
29123 .src_constraints = .{ .any_unsigned_int, .any },34006 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29124 .dst_constraints = .{.{ .unsigned_int = .qword }},34007 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .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 } }},
29165 .patterns = &.{34008 .patterns = &.{
29166 .{ .src = .{ .to_mem, .none } },34009 .{ .src = .{ .to_mem, .none } },
29167 },34010 },
29168 .extra_temps = .{34011 .extra_temps = .{
34012 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29169 .{ .type = .usize, .kind = .{ .reg = .rsi } },34013 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29170 .{ .type = .usize, .kind = .{ .reg = .rdi } },34014 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34015 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
29171 .{ .type = .u32, .kind = .{ .reg = .ecx } },34016 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29172 .unused,34017 .unused,
29173 .unused,34018 .unused,
29174 .unused,34019 .unused,
29175 .unused,34020 .unused,
29176 .unused,
29177 .unused,
29178 },34021 },
29179 .dst_temps = .{.mem},34022 .dst_temps = .{.mem},
34023 .clobbers = .{ .eflags = true },
29180 .each = .{ .once = &.{34024 .each = .{ .once = &.{
29181 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34025 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29182 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34026 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29183 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },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), ._, ._ },
29184 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34030 .{ ._, .@"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", ._, ._, ._ },
29185 } },34038 } },
29186 }, .{34039 }, .{
29187 .required_features = .{ .@"64bit", null, null, null },34040 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
29188 .src_constraints = .{ .any_signed_int, .any },34041 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29189 .dst_constraints = .{.{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},34042 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
29190 .patterns = &.{34043 .patterns = &.{
29191 .{ .src = .{ .to_mem, .none } },34044 .{ .src = .{ .to_mem, .none } },
29192 },34045 },
29193 .extra_temps = .{34046 .extra_temps = .{
34047 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29194 .{ .type = .usize, .kind = .{ .reg = .rsi } },34048 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29195 .{ .type = .usize, .kind = .{ .reg = .rdi } },34049 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34050 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
29196 .{ .type = .u32, .kind = .{ .reg = .ecx } },34051 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29197 .unused,34052 .{ .type = .u64, .kind = .{ .reg = .rax } },
29198 .unused,
29199 .unused,
29200 .unused,34053 .unused,
29201 .unused,34054 .unused,
29202 .unused,34055 .unused,
...@@ -29204,29 +34057,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29204,29 +34057,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29204 .dst_temps = .{.mem},34057 .dst_temps = .{.mem},
29205 .clobbers = .{ .eflags = true },34058 .clobbers = .{ .eflags = true },
29206 .each = .{ .once = &.{34059 .each = .{ .once = &.{
29207 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34060 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29208 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34061 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29209 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },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), ._, ._ },
29210 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34065 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29211 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },34066 .{ ._, ._, .bzhi, .tmp5q, .lea(.tmp1q), .tmp3q, ._ },
29212 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },34067 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
29213 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },34068 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
29214 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },34069 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
34070 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
29215 } },34071 } },
29216 }, .{34072 }, .{
29217 .required_features = .{ .@"64bit", null, null, null },34073 .required_features = .{ .@"64bit", .bmi2, null, null },
29218 .src_constraints = .{ .any_signed_int, .any },34074 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29219 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }},34075 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
29220 .patterns = &.{34076 .patterns = &.{
29221 .{ .src = .{ .to_mem, .none } },34077 .{ .src = .{ .to_mem, .none } },
29222 },34078 },
29223 .extra_temps = .{34079 .extra_temps = .{
34080 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29224 .{ .type = .usize, .kind = .{ .reg = .rsi } },34081 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29225 .{ .type = .usize, .kind = .{ .reg = .rdi } },34082 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34083 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
29226 .{ .type = .u32, .kind = .{ .reg = .ecx } },34084 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29227 .unused,34085 .{ .type = .u64, .kind = .{ .reg = .rax } },
29228 .unused,
29229 .unused,
29230 .unused,34086 .unused,
29231 .unused,34087 .unused,
29232 .unused,34088 .unused,
...@@ -29234,25 +34090,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29234,25 +34090,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29234 .dst_temps = .{.mem},34090 .dst_temps = .{.mem},
29235 .clobbers = .{ .eflags = true },34091 .clobbers = .{ .eflags = true },
29236 .each = .{ .once = &.{34092 .each = .{ .once = &.{
29237 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34093 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29238 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34094 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29239 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },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), ._, ._ },
29240 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34098 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29241 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },34099 .{ ._, ._, .bzhi, .tmp5q, .lea(.tmp1q), .tmp3q, ._ },
29242 .{ ._, ._l, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },34100 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
29243 .{ ._, ._r, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },34101 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
29244 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },34102 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
29245 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },34103 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
29246 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },
29247 } },34104 } },
29248 }, .{34105 }, .{
29249 .required_features = .{ .@"64bit", null, null, null },34106 .required_features = .{ .@"64bit", .slow_incdec, null, null },
29250 .src_constraints = .{ .any_signed_int, .any },34107 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29251 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }},34108 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
29252 .patterns = &.{34109 .patterns = &.{
29253 .{ .src = .{ .to_mem, .none } },34110 .{ .src = .{ .to_mem, .none } },
29254 },34111 },
29255 .extra_temps = .{34112 .extra_temps = .{
34113 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29256 .{ .type = .usize, .kind = .{ .reg = .rsi } },34114 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29257 .{ .type = .usize, .kind = .{ .reg = .rdi } },34115 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29258 .{ .type = .u32, .kind = .{ .reg = .ecx } },34116 .{ .type = .u32, .kind = .{ .reg = .ecx } },
...@@ -29261,28 +34119,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29261,28 +34119,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29261 .unused,34119 .unused,
29262 .unused,34120 .unused,
29263 .unused,34121 .unused,
29264 .unused,
29265 },34122 },
29266 .dst_temps = .{.mem},34123 .dst_temps = .{.mem},
29267 .clobbers = .{ .eflags = true },34124 .clobbers = .{ .eflags = true },
29268 .each = .{ .once = &.{34125 .each = .{ .once = &.{
29269 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34126 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29270 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34127 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29271 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },34128 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34129 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
29272 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34130 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29273 .{ ._, ._, .mov, .tmp0q, .memad(.src0q, .add_size, -8), ._, ._ },34131 .{ ._, ._, .mov, .tmp3q, .ua(.dst0, .add_umax), ._, ._ },
29274 .{ ._, ._l, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },34132 .{ ._, ._, .@"and", .tmp3q, .lea(.tmp1q), ._, ._ },
29275 .{ ._, ._r, .sa, .tmp0q, .uia(64, .dst0, .sub_bit_size_rem_64), ._, ._ },34133 .{ ._, ._, .mov, .lea(.tmp2q), .tmp3q, ._, ._ },
29276 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },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", ._, ._, ._ },
29277 } },34139 } },
29278 }, .{34140 }, .{
29279 .required_features = .{ .@"64bit", null, null, null },34141 .required_features = .{ .@"64bit", null, null, null },
29280 .src_constraints = .{ .any_unsigned_int, .any },34142 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29281 .dst_constraints = .{.{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},34143 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
29282 .patterns = &.{34144 .patterns = &.{
29283 .{ .src = .{ .to_mem, .none } },34145 .{ .src = .{ .to_mem, .none } },
29284 },34146 },
29285 .extra_temps = .{34147 .extra_temps = .{
34148 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29286 .{ .type = .usize, .kind = .{ .reg = .rsi } },34149 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29287 .{ .type = .usize, .kind = .{ .reg = .rdi } },34150 .{ .type = .usize, .kind = .{ .reg = .rdi } },
29288 .{ .type = .u32, .kind = .{ .reg = .ecx } },34151 .{ .type = .u32, .kind = .{ .reg = .ecx } },
...@@ -29291,75 +34154,91 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -29291,75 +34154,91 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29291 .unused,34154 .unused,
29292 .unused,34155 .unused,
29293 .unused,34156 .unused,
29294 .unused,
29295 },34157 },
29296 .dst_temps = .{.mem},34158 .dst_temps = .{.mem},
29297 .clobbers = .{ .eflags = true },34159 .clobbers = .{ .eflags = true },
29298 .each = .{ .once = &.{34160 .each = .{ .once = &.{
29299 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34161 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29300 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34162 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29301 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },34163 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34164 .{ .@"0:", ._, .mov, .tmp3d, .sia(-2, .dst0, .add_elem_size_div_8), ._, ._ },
29302 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34165 .{ ._, .@"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", ._, ._, ._ },
29304 } },34174 } },
29305 }, .{34175 }, .{
29306 .required_features = .{ .@"64bit", null, null, null },34176 .required_features = .{ .@"64bit", .slow_incdec, null, null },
29307 .src_constraints = .{ .any_unsigned_int, .any },34177 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29308 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},34178 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
29309 .patterns = &.{34179 .patterns = &.{
29310 .{ .src = .{ .to_mem, .none } },34180 .{ .src = .{ .to_mem, .none } },
29311 },34181 },
29312 .extra_temps = .{34182 .extra_temps = .{
34183 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29313 .{ .type = .usize, .kind = .{ .reg = .rsi } },34184 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29314 .{ .type = .usize, .kind = .{ .reg = .rdi } },34185 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34186 .{ .type = .u64, .kind = .{ .reg = .rax } },
29315 .{ .type = .u32, .kind = .{ .reg = .ecx } },34187 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29316 .unused,34188 .unused,
29317 .unused,34189 .unused,
29318 .unused,34190 .unused,
29319 .unused,34191 .unused,
29320 .unused,
29321 .unused,
29322 },34192 },
29323 .dst_temps = .{.mem},34193 .dst_temps = .{.mem},
29324 .clobbers = .{ .eflags = true },34194 .clobbers = .{ .eflags = true },
29325 .each = .{ .once = &.{34195 .each = .{ .once = &.{
29326 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34196 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29327 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34197 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29328 .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ },34198 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34199 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
34200 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
29329 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34201 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29330 .{ ._, ._, .mov, .tmp0q, .ua(.dst0, .add_umax), ._, ._ },34202 .{ ._, ._, .mov, .tmp4q, .ua(.dst0, .add_umax), ._, ._ },
29331 .{ ._, ._, .@"and", .tmp0q, .memad(.src0q, .add_size, -16), ._, ._ },34203 .{ ._, ._, .@"and", .tmp4q, .lea(.tmp1q), ._, ._ },
29332 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ },34204 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
29333 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ },34205 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34206 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
34207 .{ ._, ._a, .j, .@"0b", ._, ._, ._ },
29334 } },34208 } },
29335 }, .{34209 }, .{
29336 .required_features = .{ .@"64bit", null, null, null },34210 .required_features = .{ .@"64bit", null, null, null },
29337 .src_constraints = .{ .any_unsigned_int, .any },34211 .src_constraints = .{ .any_scalar_unsigned_int, .any },
29338 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},34212 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
29339 .patterns = &.{34213 .patterns = &.{
29340 .{ .src = .{ .to_mem, .none } },34214 .{ .src = .{ .to_mem, .none } },
29341 },34215 },
29342 .extra_temps = .{34216 .extra_temps = .{
34217 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
29343 .{ .type = .usize, .kind = .{ .reg = .rsi } },34218 .{ .type = .usize, .kind = .{ .reg = .rsi } },
29344 .{ .type = .usize, .kind = .{ .reg = .rdi } },34219 .{ .type = .usize, .kind = .{ .reg = .rdi } },
34220 .{ .type = .u64, .kind = .{ .reg = .rax } },
29345 .{ .type = .u32, .kind = .{ .reg = .ecx } },34221 .{ .type = .u32, .kind = .{ .reg = .ecx } },
29346 .unused,34222 .unused,
29347 .unused,34223 .unused,
29348 .unused,34224 .unused,
29349 .unused,34225 .unused,
29350 .unused,
29351 .unused,
29352 },34226 },
29353 .dst_temps = .{.mem},34227 .dst_temps = .{.mem},
29354 .clobbers = .{ .eflags = true },34228 .clobbers = .{ .eflags = true },
29355 .each = .{ .once = &.{34229 .each = .{ .once = &.{
29356 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },34230 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
29357 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },34231 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
29358 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },34232 .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ },
34233 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
34234 .{ .@"0:", ._, .mov, .tmp4d, .sia(-1, .dst0, .add_elem_size_div_8), ._, ._ },
29359 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },34235 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
29360 .{ ._, ._, .mov, .tmp0q, .ua(.dst0, .add_umax), ._, ._ },34236 .{ ._, ._, .mov, .tmp4q, .ua(.dst0, .add_umax), ._, ._ },
29361 .{ ._, ._, .@"and", .tmp0q, .memad(.src0q, .add_size, -8), ._, ._ },34237 .{ ._, ._, .@"and", .tmp4q, .lea(.tmp1q), ._, ._ },
29362 .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ },34238 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
34239 .{ ._, ._, .add, .tmp1p, .sia2(8, .src0, .dst0, .add_delta_elem_size), ._, ._ },
34240 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
34241 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
29363 } },34242 } },
29364 } }) catch |err| switch (err) {34243 } }) catch |err| switch (err) {
29365 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{34244 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
...@@ -50265,7 +55144,15 @@ const Select = struct {...@@ -50265,7 +55144,15 @@ const Select = struct {
50265 multiple_scalar_int: OfIsSizes,55144 multiple_scalar_int: OfIsSizes,
50266 multiple_scalar_signed_int: OfIsSizes,55145 multiple_scalar_signed_int: OfIsSizes,
50267 multiple_scalar_unsigned_int: OfIsSizes,55146 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 },
50268 scalar_remainder_int: OfIsSizes,55150 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,
50269 float: Memory.Size,55156 float: Memory.Size,
50270 scalar_any_float: Memory.Size,55157 scalar_any_float: Memory.Size,
50271 scalar_float: OfIsSizes,55158 scalar_float: OfIsSizes,
...@@ -50352,10 +55239,30 @@ const Select = struct {...@@ -50352,10 +55239,30 @@ const Select = struct {
50352 .multiple_scalar_unsigned_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and55239 .multiple_scalar_unsigned_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and
50353 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and55240 if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and
50354 of_is.is.bitSize(cg.target) >= int_info.bits else false,55241 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,
50355 .scalar_remainder_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info|55250 .scalar_remainder_int => |of_is| if (cg.intInfo(ty.scalarType(zcu))) |int_info|
50356 of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 155251 of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1
50357 else55252 else
50358 false,55253 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,
50359 .float => |size| if (cg.floatBits(ty)) |float_bits| size.bitSize(cg.target) == float_bits else false,55266 .float => |size| if (cg.floatBits(ty)) |float_bits| size.bitSize(cg.target) == float_bits else false,
50360 .scalar_any_float => |size| @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and55267 .scalar_any_float => |size| @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and
50361 cg.floatBits(ty.scalarType(zcu)) != null,55268 cg.floatBits(ty.scalarType(zcu)) != null,
...@@ -50629,7 +55536,11 @@ const Select = struct {...@@ -50629,7 +55536,11 @@ const Select = struct {
50629 frame: FrameIndex,55536 frame: FrameIndex,
50630 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },55537 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
50634 fn finish(kind: Kind, temp: Temp, s: *const Select) void {55545 fn finish(kind: Kind, temp: Temp, s: *const Select) void {
50635 switch (kind) {55546 switch (kind) {
...@@ -50704,7 +55615,8 @@ const Select = struct {...@@ -50704,7 +55615,8 @@ const Select = struct {
50704 .signedness = .signed,55615 .signedness = .signed,
50705 .bits = cg.floatBits(scalar_ty).?,55616 .bits = cg.floatBits(scalar_ty).?,
50706 };55617 };
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);
50708 if (scalar_info.bits <= 64) {55620 if (scalar_info.bits <= 64) {
50709 const int_val: i64 = switch (spec.kind) {55621 const int_val: i64 = switch (spec.kind) {
50710 else => unreachable,55622 else => unreachable,
...@@ -50714,7 +55626,7 @@ const Select = struct {...@@ -50714,7 +55626,7 @@ const Select = struct {
50714 .umax_mem => -1,55626 .umax_mem => -1,
50715 };55627 };
50716 const shift: u6 = @intCast(64 - scalar_info.bits);55628 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) {
50718 .signed => try pt.intValue_i64(scalar_int_ty, int_val >> shift),55630 .signed => try pt.intValue_i64(scalar_int_ty, int_val >> shift),
50719 .unsigned => try pt.intValue_u64(scalar_int_ty, @as(u64, @bitCast(int_val)) >> shift),55631 .unsigned => try pt.intValue_u64(scalar_int_ty, @as(u64, @bitCast(int_val)) >> shift),
50720 } };55632 } };
...@@ -50730,7 +55642,7 @@ const Select = struct {...@@ -50730,7 +55642,7 @@ const Select = struct {
50730 .smin_mem, .smax_mem => .signed,55642 .smin_mem, .smax_mem => .signed,
50731 .umin_mem, .umax_mem => .unsigned,55643 .umin_mem, .umax_mem => .unsigned,
50732 }, scalar_info.bits);55644 }, 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);
50734 break :res_scalar .{ scalar_int_ty, try pt.intValue_big(scalar_int_ty, big_int.toConst()) };55646 break :res_scalar .{ scalar_int_ty, try pt.intValue_big(scalar_int_ty, big_int.toConst()) };
50735 },55647 },
50736 };55648 };
...@@ -50832,7 +55744,8 @@ const Select = struct {...@@ -50832,7 +55744,8 @@ const Select = struct {
50832 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };55744 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
50833 const add_2_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"2" };55745 const add_2_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"2" };
50834 const add_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"1" };55746 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" };
50836 const sub_bit_size: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .mul, .rhs = .@"1" };55749 const sub_bit_size: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .mul, .rhs = .@"1" };
50837 const add_src0_bit_size: Adjust = .{ .sign = .pos, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" };55750 const add_src0_bit_size: Adjust = .{ .sign = .pos, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" };
50838 const sub_src0_bit_size: Adjust = .{ .sign = .neg, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" };55751 const sub_src0_bit_size: Adjust = .{ .sign = .neg, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" };
...@@ -51163,6 +56076,9 @@ const Select = struct {...@@ -51163,6 +56076,9 @@ const Select = struct {
51163 fn sia(imm: i32, base: Ref.Sized, adjust: Adjust) Select.Operand {56076 fn sia(imm: i32, base: Ref.Sized, adjust: Adjust) Select.Operand {
51164 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base, .imm = imm };56077 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base, .imm = imm };
51165 }56078 }
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 }
51166 fn ui(imm: u32) Select.Operand {56082 fn ui(imm: u32) Select.Operand {
51167 return .{ .flags = .{ .tag = .uimm }, .imm = @bitCast(imm) };56083 return .{ .flags = .{ .tag = .uimm }, .imm = @bitCast(imm) };
51168 }56084 }
test/behavior/x86_64/math.zig+1345
...@@ -5223,719 +5223,2063 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -5223,719 +5223,2063 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
5223 try testArgs(f128, f128, nan(f128));5223 try testArgs(f128, f128, nan(f128));
5224 }5224 }
5225 fn testSameSignednessIntVectors() !void {5225 fn testSameSignednessIntVectors() !void {
5226 try testArgs(@Vector(1, i7), @Vector(1, i1), .{-1});
5226 try testArgs(@Vector(1, i8), @Vector(1, i1), .{-1});5227 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});
5227 try testArgs(@Vector(1, i16), @Vector(1, i1), .{-1});5230 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});
5228 try testArgs(@Vector(1, i32), @Vector(1, i1), .{-1});5233 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});
5229 try testArgs(@Vector(1, i64), @Vector(1, i1), .{-1});5236 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});
5230 try testArgs(@Vector(1, i128), @Vector(1, i1), .{-1});5239 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});
5231 try testArgs(@Vector(1, i256), @Vector(1, i1), .{-1});5242 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});
5232 try testArgs(@Vector(1, i512), @Vector(1, i1), .{-1});5245 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});
5233 try testArgs(@Vector(1, i1024), @Vector(1, i1), .{-1});5248 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});
5234 try testArgs(@Vector(1, u8), @Vector(1, u1), .{1});5251 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});
5235 try testArgs(@Vector(1, u16), @Vector(1, u1), .{1});5254 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});
5236 try testArgs(@Vector(1, u32), @Vector(1, u1), .{1});5257 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});
5237 try testArgs(@Vector(1, u64), @Vector(1, u1), .{1});5260 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});
5238 try testArgs(@Vector(1, u128), @Vector(1, u1), .{1});5263 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});
5239 try testArgs(@Vector(1, u256), @Vector(1, u1), .{1});5266 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});
5240 try testArgs(@Vector(1, u512), @Vector(1, u1), .{1});5269 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});
5241 try testArgs(@Vector(1, u1024), @Vector(1, u1), .{1});5272 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 });
5243 try testArgs(@Vector(2, i8), @Vector(2, i1), .{ -1, 0 });5276 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 });
5244 try testArgs(@Vector(2, i16), @Vector(2, i1), .{ -1, 0 });5279 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 });
5245 try testArgs(@Vector(2, i32), @Vector(2, i1), .{ -1, 0 });5282 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 });
5246 try testArgs(@Vector(2, i64), @Vector(2, i1), .{ -1, 0 });5285 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 });
5247 try testArgs(@Vector(2, i128), @Vector(2, i1), .{ -1, 0 });5288 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 });
5248 try testArgs(@Vector(2, i256), @Vector(2, i1), .{ -1, 0 });5291 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 });
5249 try testArgs(@Vector(2, i512), @Vector(2, i1), .{ -1, 0 });5294 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 });
5250 try testArgs(@Vector(2, i1024), @Vector(2, i1), .{ -1, 0 });5297 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 });
5251 try testArgs(@Vector(2, u8), @Vector(2, u1), .{ 0, 1 });5300 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 });
5252 try testArgs(@Vector(2, u16), @Vector(2, u1), .{ 0, 1 });5303 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 });
5253 try testArgs(@Vector(2, u32), @Vector(2, u1), .{ 0, 1 });5306 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 });
5254 try testArgs(@Vector(2, u64), @Vector(2, u1), .{ 0, 1 });5309 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 });
5255 try testArgs(@Vector(2, u128), @Vector(2, u1), .{ 0, 1 });5312 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 });
5256 try testArgs(@Vector(2, u256), @Vector(2, u1), .{ 0, 1 });5315 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 });
5257 try testArgs(@Vector(2, u512), @Vector(2, u1), .{ 0, 1 });5318 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 });
5258 try testArgs(@Vector(2, u1024), @Vector(2, u1), .{ 0, 1 });5321 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 });
5260 try testArgs(@Vector(3, i8), @Vector(3, i2), .{ -1 << 1, -1, 0 });5325 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 });
5261 try testArgs(@Vector(3, i16), @Vector(3, i2), .{ -1 << 1, -1, 0 });5328 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 });
5262 try testArgs(@Vector(3, i32), @Vector(3, i2), .{ -1 << 1, -1, 0 });5331 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 });
5263 try testArgs(@Vector(3, i64), @Vector(3, i2), .{ -1 << 1, -1, 0 });5334 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 });
5264 try testArgs(@Vector(3, i128), @Vector(3, i2), .{ -1 << 1, -1, 0 });5337 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 });
5265 try testArgs(@Vector(3, i256), @Vector(3, i2), .{ -1 << 1, -1, 0 });5340 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 });
5266 try testArgs(@Vector(3, i512), @Vector(3, i2), .{ -1 << 1, -1, 0 });5343 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 });
5267 try testArgs(@Vector(3, i1024), @Vector(3, i2), .{ -1 << 1, -1, 0 });5346 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 });
5268 try testArgs(@Vector(3, u8), @Vector(3, u2), .{ 0, 1, 1 << 1 });5349 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 });
5269 try testArgs(@Vector(3, u16), @Vector(3, u2), .{ 0, 1, 1 << 1 });5352 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 });
5270 try testArgs(@Vector(3, u32), @Vector(3, u2), .{ 0, 1, 1 << 1 });5355 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 });
5271 try testArgs(@Vector(3, u64), @Vector(3, u2), .{ 0, 1, 1 << 1 });5358 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 });
5272 try testArgs(@Vector(3, u128), @Vector(3, u2), .{ 0, 1, 1 << 1 });5361 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 });
5273 try testArgs(@Vector(3, u256), @Vector(3, u2), .{ 0, 1, 1 << 1 });5364 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 });
5274 try testArgs(@Vector(3, u512), @Vector(3, u2), .{ 0, 1, 1 << 1 });5367 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 });
5275 try testArgs(@Vector(3, u1024), @Vector(3, u2), .{ 0, 1, 1 << 1 });5370 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 });
5277 try testArgs(@Vector(3, i8), @Vector(3, i3), .{ -1 << 2, -1, 0 });5374 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 });
5278 try testArgs(@Vector(3, i16), @Vector(3, i3), .{ -1 << 2, -1, 0 });5377 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 });
5279 try testArgs(@Vector(3, i32), @Vector(3, i3), .{ -1 << 2, -1, 0 });5380 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 });
5280 try testArgs(@Vector(3, i64), @Vector(3, i3), .{ -1 << 2, -1, 0 });5383 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 });
5281 try testArgs(@Vector(3, i128), @Vector(3, i3), .{ -1 << 2, -1, 0 });5386 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 });
5282 try testArgs(@Vector(3, i256), @Vector(3, i3), .{ -1 << 2, -1, 0 });5389 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 });
5283 try testArgs(@Vector(3, i512), @Vector(3, i3), .{ -1 << 2, -1, 0 });5392 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 });
5284 try testArgs(@Vector(3, i1024), @Vector(3, i3), .{ -1 << 2, -1, 0 });5395 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 });
5285 try testArgs(@Vector(3, u8), @Vector(3, u3), .{ 0, 1, 1 << 2 });5398 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 });
5286 try testArgs(@Vector(3, u16), @Vector(3, u3), .{ 0, 1, 1 << 2 });5401 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 });
5287 try testArgs(@Vector(3, u32), @Vector(3, u3), .{ 0, 1, 1 << 2 });5404 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 });
5288 try testArgs(@Vector(3, u64), @Vector(3, u3), .{ 0, 1, 1 << 2 });5407 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 });
5289 try testArgs(@Vector(3, u128), @Vector(3, u3), .{ 0, 1, 1 << 2 });5410 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 });
5290 try testArgs(@Vector(3, u256), @Vector(3, u3), .{ 0, 1, 1 << 2 });5413 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 });
5291 try testArgs(@Vector(3, u512), @Vector(3, u3), .{ 0, 1, 1 << 2 });5416 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 });
5292 try testArgs(@Vector(3, u1024), @Vector(3, u3), .{ 0, 1, 1 << 2 });5419 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 });
5294 try testArgs(@Vector(3, i8), @Vector(3, i4), .{ -1 << 3, -1, 0 });5423 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 });
5295 try testArgs(@Vector(3, i16), @Vector(3, i4), .{ -1 << 3, -1, 0 });5426 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 });
5296 try testArgs(@Vector(3, i32), @Vector(3, i4), .{ -1 << 3, -1, 0 });5429 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 });
5297 try testArgs(@Vector(3, i64), @Vector(3, i4), .{ -1 << 3, -1, 0 });5432 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 });
5298 try testArgs(@Vector(3, i128), @Vector(3, i4), .{ -1 << 3, -1, 0 });5435 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 });
5299 try testArgs(@Vector(3, i256), @Vector(3, i4), .{ -1 << 3, -1, 0 });5438 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 });
5300 try testArgs(@Vector(3, i512), @Vector(3, i4), .{ -1 << 3, -1, 0 });5441 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 });
5301 try testArgs(@Vector(3, i1024), @Vector(3, i4), .{ -1 << 3, -1, 0 });5444 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 });
5302 try testArgs(@Vector(3, u8), @Vector(3, u4), .{ 0, 1, 1 << 3 });5447 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 });
5303 try testArgs(@Vector(3, u16), @Vector(3, u4), .{ 0, 1, 1 << 3 });5450 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 });
5304 try testArgs(@Vector(3, u32), @Vector(3, u4), .{ 0, 1, 1 << 3 });5453 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 });
5305 try testArgs(@Vector(3, u64), @Vector(3, u4), .{ 0, 1, 1 << 3 });5456 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 });
5306 try testArgs(@Vector(3, u128), @Vector(3, u4), .{ 0, 1, 1 << 3 });5459 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 });
5307 try testArgs(@Vector(3, u256), @Vector(3, u4), .{ 0, 1, 1 << 3 });5462 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 });
5308 try testArgs(@Vector(3, u512), @Vector(3, u4), .{ 0, 1, 1 << 3 });5465 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 });
5309 try testArgs(@Vector(3, u1024), @Vector(3, u4), .{ 0, 1, 1 << 3 });5468 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 });
5311 try testArgs(@Vector(3, i8), @Vector(3, i5), .{ -1 << 4, -1, 0 });5472 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 });
5312 try testArgs(@Vector(3, i16), @Vector(3, i5), .{ -1 << 4, -1, 0 });5475 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 });
5313 try testArgs(@Vector(3, i32), @Vector(3, i5), .{ -1 << 4, -1, 0 });5478 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 });
5314 try testArgs(@Vector(3, i64), @Vector(3, i5), .{ -1 << 4, -1, 0 });5481 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 });
5315 try testArgs(@Vector(3, i128), @Vector(3, i5), .{ -1 << 4, -1, 0 });5484 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 });
5316 try testArgs(@Vector(3, i256), @Vector(3, i5), .{ -1 << 4, -1, 0 });5487 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 });
5317 try testArgs(@Vector(3, i512), @Vector(3, i5), .{ -1 << 4, -1, 0 });5490 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 });
5318 try testArgs(@Vector(3, i1024), @Vector(3, i5), .{ -1 << 4, -1, 0 });5493 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 });
5319 try testArgs(@Vector(3, u8), @Vector(3, u5), .{ 0, 1, 1 << 4 });5496 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 });
5320 try testArgs(@Vector(3, u16), @Vector(3, u5), .{ 0, 1, 1 << 4 });5499 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 });
5321 try testArgs(@Vector(3, u32), @Vector(3, u5), .{ 0, 1, 1 << 4 });5502 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 });
5322 try testArgs(@Vector(3, u64), @Vector(3, u5), .{ 0, 1, 1 << 4 });5505 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 });
5323 try testArgs(@Vector(3, u128), @Vector(3, u5), .{ 0, 1, 1 << 4 });5508 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 });
5324 try testArgs(@Vector(3, u256), @Vector(3, u5), .{ 0, 1, 1 << 4 });5511 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 });
5325 try testArgs(@Vector(3, u512), @Vector(3, u5), .{ 0, 1, 1 << 4 });5514 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 });
5326 try testArgs(@Vector(3, u1024), @Vector(3, u5), .{ 0, 1, 1 << 4 });5517 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 });
5328 try testArgs(@Vector(3, i8), @Vector(3, i7), .{ -1 << 6, -1, 0 });5521 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 });
5329 try testArgs(@Vector(3, i16), @Vector(3, i7), .{ -1 << 6, -1, 0 });5524 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 });
5330 try testArgs(@Vector(3, i32), @Vector(3, i7), .{ -1 << 6, -1, 0 });5527 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 });
5331 try testArgs(@Vector(3, i64), @Vector(3, i7), .{ -1 << 6, -1, 0 });5530 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 });
5332 try testArgs(@Vector(3, i128), @Vector(3, i7), .{ -1 << 6, -1, 0 });5533 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 });
5333 try testArgs(@Vector(3, i256), @Vector(3, i7), .{ -1 << 6, -1, 0 });5536 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 });
5334 try testArgs(@Vector(3, i512), @Vector(3, i7), .{ -1 << 6, -1, 0 });5539 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 });
5335 try testArgs(@Vector(3, i1024), @Vector(3, i7), .{ -1 << 6, -1, 0 });5542 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 });
5336 try testArgs(@Vector(3, u8), @Vector(3, u7), .{ 0, 1, 1 << 6 });5545 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 });
5337 try testArgs(@Vector(3, u16), @Vector(3, u7), .{ 0, 1, 1 << 6 });5548 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 });
5338 try testArgs(@Vector(3, u32), @Vector(3, u7), .{ 0, 1, 1 << 6 });5551 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 });
5339 try testArgs(@Vector(3, u64), @Vector(3, u7), .{ 0, 1, 1 << 6 });5554 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 });
5340 try testArgs(@Vector(3, u128), @Vector(3, u7), .{ 0, 1, 1 << 6 });5557 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 });
5341 try testArgs(@Vector(3, u256), @Vector(3, u7), .{ 0, 1, 1 << 6 });5560 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 });
5342 try testArgs(@Vector(3, u512), @Vector(3, u7), .{ 0, 1, 1 << 6 });5563 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 });
5343 try testArgs(@Vector(3, u1024), @Vector(3, u7), .{ 0, 1, 1 << 6 });5566 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 });
5345 try testArgs(@Vector(3, i8), @Vector(3, i8), .{ -1 << 7, -1, 0 });5570 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 });
5346 try testArgs(@Vector(3, i16), @Vector(3, i8), .{ -1 << 7, -1, 0 });5573 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 });
5347 try testArgs(@Vector(3, i32), @Vector(3, i8), .{ -1 << 7, -1, 0 });5576 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 });
5348 try testArgs(@Vector(3, i64), @Vector(3, i8), .{ -1 << 7, -1, 0 });5579 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 });
5349 try testArgs(@Vector(3, i128), @Vector(3, i8), .{ -1 << 7, -1, 0 });5582 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 });
5350 try testArgs(@Vector(3, i256), @Vector(3, i8), .{ -1 << 7, -1, 0 });5585 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 });
5351 try testArgs(@Vector(3, i512), @Vector(3, i8), .{ -1 << 7, -1, 0 });5588 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 });
5352 try testArgs(@Vector(3, i1024), @Vector(3, i8), .{ -1 << 7, -1, 0 });5591 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 });
5353 try testArgs(@Vector(3, u8), @Vector(3, u8), .{ 0, 1, 1 << 7 });5594 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 });
5354 try testArgs(@Vector(3, u16), @Vector(3, u8), .{ 0, 1, 1 << 7 });5597 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 });
5355 try testArgs(@Vector(3, u32), @Vector(3, u8), .{ 0, 1, 1 << 7 });5600 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 });
5356 try testArgs(@Vector(3, u64), @Vector(3, u8), .{ 0, 1, 1 << 7 });5603 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 });
5357 try testArgs(@Vector(3, u128), @Vector(3, u8), .{ 0, 1, 1 << 7 });5606 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 });
5358 try testArgs(@Vector(3, u256), @Vector(3, u8), .{ 0, 1, 1 << 7 });5609 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 });
5359 try testArgs(@Vector(3, u512), @Vector(3, u8), .{ 0, 1, 1 << 7 });5612 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 });
5360 try testArgs(@Vector(3, u1024), @Vector(3, u8), .{ 0, 1, 1 << 7 });5615 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 });
5362 try testArgs(@Vector(3, i8), @Vector(3, i9), .{ -1 << 8, -1, 0 });5619 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 });
5363 try testArgs(@Vector(3, i16), @Vector(3, i9), .{ -1 << 8, -1, 0 });5622 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 });
5364 try testArgs(@Vector(3, i32), @Vector(3, i9), .{ -1 << 8, -1, 0 });5625 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 });
5365 try testArgs(@Vector(3, i64), @Vector(3, i9), .{ -1 << 8, -1, 0 });5628 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 });
5366 try testArgs(@Vector(3, i128), @Vector(3, i9), .{ -1 << 8, -1, 0 });5631 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 });
5367 try testArgs(@Vector(3, i256), @Vector(3, i9), .{ -1 << 8, -1, 0 });5634 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 });
5368 try testArgs(@Vector(3, i512), @Vector(3, i9), .{ -1 << 8, -1, 0 });5637 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 });
5369 try testArgs(@Vector(3, i1024), @Vector(3, i9), .{ -1 << 8, -1, 0 });5640 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 });
5370 try testArgs(@Vector(3, u8), @Vector(3, u9), .{ 0, 1, 1 << 8 });5643 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 });
5371 try testArgs(@Vector(3, u16), @Vector(3, u9), .{ 0, 1, 1 << 8 });5646 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 });
5372 try testArgs(@Vector(3, u32), @Vector(3, u9), .{ 0, 1, 1 << 8 });5649 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 });
5373 try testArgs(@Vector(3, u64), @Vector(3, u9), .{ 0, 1, 1 << 8 });5652 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 });
5374 try testArgs(@Vector(3, u128), @Vector(3, u9), .{ 0, 1, 1 << 8 });5655 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 });
5375 try testArgs(@Vector(3, u256), @Vector(3, u9), .{ 0, 1, 1 << 8 });5658 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 });
5376 try testArgs(@Vector(3, u512), @Vector(3, u9), .{ 0, 1, 1 << 8 });5661 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 });
5377 try testArgs(@Vector(3, u1024), @Vector(3, u9), .{ 0, 1, 1 << 8 });5664 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 });
5379 try testArgs(@Vector(3, i8), @Vector(3, i15), .{ -1 << 14, -1, 0 });5668 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 });
5380 try testArgs(@Vector(3, i16), @Vector(3, i15), .{ -1 << 14, -1, 0 });5671 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 });
5381 try testArgs(@Vector(3, i32), @Vector(3, i15), .{ -1 << 14, -1, 0 });5674 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 });
5382 try testArgs(@Vector(3, i64), @Vector(3, i15), .{ -1 << 14, -1, 0 });5677 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 });
5383 try testArgs(@Vector(3, i128), @Vector(3, i15), .{ -1 << 14, -1, 0 });5680 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 });
5384 try testArgs(@Vector(3, i256), @Vector(3, i15), .{ -1 << 14, -1, 0 });5683 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 });
5385 try testArgs(@Vector(3, i512), @Vector(3, i15), .{ -1 << 14, -1, 0 });5686 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 });
5386 try testArgs(@Vector(3, i1024), @Vector(3, i15), .{ -1 << 14, -1, 0 });5689 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 });
5387 try testArgs(@Vector(3, u8), @Vector(3, u15), .{ 0, 1, 1 << 14 });5692 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 });
5388 try testArgs(@Vector(3, u16), @Vector(3, u15), .{ 0, 1, 1 << 14 });5695 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 });
5389 try testArgs(@Vector(3, u32), @Vector(3, u15), .{ 0, 1, 1 << 14 });5698 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 });
5390 try testArgs(@Vector(3, u64), @Vector(3, u15), .{ 0, 1, 1 << 14 });5701 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 });
5391 try testArgs(@Vector(3, u128), @Vector(3, u15), .{ 0, 1, 1 << 14 });5704 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 });
5392 try testArgs(@Vector(3, u256), @Vector(3, u15), .{ 0, 1, 1 << 14 });5707 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 });
5393 try testArgs(@Vector(3, u512), @Vector(3, u15), .{ 0, 1, 1 << 14 });5710 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 });
5394 try testArgs(@Vector(3, u1024), @Vector(3, u15), .{ 0, 1, 1 << 14 });5713 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 });
5396 try testArgs(@Vector(3, i8), @Vector(3, i16), .{ -1 << 15, -1, 0 });5717 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 });
5397 try testArgs(@Vector(3, i16), @Vector(3, i16), .{ -1 << 15, -1, 0 });5720 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 });
5398 try testArgs(@Vector(3, i32), @Vector(3, i16), .{ -1 << 15, -1, 0 });5723 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 });
5399 try testArgs(@Vector(3, i64), @Vector(3, i16), .{ -1 << 15, -1, 0 });5726 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 });
5400 try testArgs(@Vector(3, i128), @Vector(3, i16), .{ -1 << 15, -1, 0 });5729 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 });
5401 try testArgs(@Vector(3, i256), @Vector(3, i16), .{ -1 << 15, -1, 0 });5732 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 });
5402 try testArgs(@Vector(3, i512), @Vector(3, i16), .{ -1 << 15, -1, 0 });5735 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 });
5403 try testArgs(@Vector(3, i1024), @Vector(3, i16), .{ -1 << 15, -1, 0 });5738 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 });
5404 try testArgs(@Vector(3, u8), @Vector(3, u16), .{ 0, 1, 1 << 15 });5741 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 });
5405 try testArgs(@Vector(3, u16), @Vector(3, u16), .{ 0, 1, 1 << 15 });5744 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 });
5406 try testArgs(@Vector(3, u32), @Vector(3, u16), .{ 0, 1, 1 << 15 });5747 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 });
5407 try testArgs(@Vector(3, u64), @Vector(3, u16), .{ 0, 1, 1 << 15 });5750 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 });
5408 try testArgs(@Vector(3, u128), @Vector(3, u16), .{ 0, 1, 1 << 15 });5753 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 });
5409 try testArgs(@Vector(3, u256), @Vector(3, u16), .{ 0, 1, 1 << 15 });5756 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 });
5410 try testArgs(@Vector(3, u512), @Vector(3, u16), .{ 0, 1, 1 << 15 });5759 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 });
5411 try testArgs(@Vector(3, u1024), @Vector(3, u16), .{ 0, 1, 1 << 15 });5762 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 });
5413 try testArgs(@Vector(3, i8), @Vector(3, i17), .{ -1 << 16, -1, 0 });5766 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 });
5414 try testArgs(@Vector(3, i16), @Vector(3, i17), .{ -1 << 16, -1, 0 });5769 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 });
5415 try testArgs(@Vector(3, i32), @Vector(3, i17), .{ -1 << 16, -1, 0 });5772 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 });
5416 try testArgs(@Vector(3, i64), @Vector(3, i17), .{ -1 << 16, -1, 0 });5775 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 });
5417 try testArgs(@Vector(3, i128), @Vector(3, i17), .{ -1 << 16, -1, 0 });5778 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 });
5418 try testArgs(@Vector(3, i256), @Vector(3, i17), .{ -1 << 16, -1, 0 });5781 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 });
5419 try testArgs(@Vector(3, i512), @Vector(3, i17), .{ -1 << 16, -1, 0 });5784 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 });
5420 try testArgs(@Vector(3, i1024), @Vector(3, i17), .{ -1 << 16, -1, 0 });5787 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 });
5421 try testArgs(@Vector(3, u8), @Vector(3, u17), .{ 0, 1, 1 << 16 });5790 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 });
5422 try testArgs(@Vector(3, u16), @Vector(3, u17), .{ 0, 1, 1 << 16 });5793 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 });
5423 try testArgs(@Vector(3, u32), @Vector(3, u17), .{ 0, 1, 1 << 16 });5796 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 });
5424 try testArgs(@Vector(3, u64), @Vector(3, u17), .{ 0, 1, 1 << 16 });5799 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 });
5425 try testArgs(@Vector(3, u128), @Vector(3, u17), .{ 0, 1, 1 << 16 });5802 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 });
5426 try testArgs(@Vector(3, u256), @Vector(3, u17), .{ 0, 1, 1 << 16 });5805 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 });
5427 try testArgs(@Vector(3, u512), @Vector(3, u17), .{ 0, 1, 1 << 16 });5808 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 });
5428 try testArgs(@Vector(3, u1024), @Vector(3, u17), .{ 0, 1, 1 << 16 });5811 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 });
5430 try testArgs(@Vector(3, i8), @Vector(3, i31), .{ -1 << 30, -1, 0 });5815 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 });
5431 try testArgs(@Vector(3, i16), @Vector(3, i31), .{ -1 << 30, -1, 0 });5818 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 });
5432 try testArgs(@Vector(3, i32), @Vector(3, i31), .{ -1 << 30, -1, 0 });5821 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 });
5433 try testArgs(@Vector(3, i64), @Vector(3, i31), .{ -1 << 30, -1, 0 });5824 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 });
5434 try testArgs(@Vector(3, i128), @Vector(3, i31), .{ -1 << 30, -1, 0 });5827 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 });
5435 try testArgs(@Vector(3, i256), @Vector(3, i31), .{ -1 << 30, -1, 0 });5830 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 });
5436 try testArgs(@Vector(3, i512), @Vector(3, i31), .{ -1 << 30, -1, 0 });5833 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 });
5437 try testArgs(@Vector(3, i1024), @Vector(3, i31), .{ -1 << 30, -1, 0 });5836 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 });
5438 try testArgs(@Vector(3, u8), @Vector(3, u31), .{ 0, 1, 1 << 30 });5839 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 });
5439 try testArgs(@Vector(3, u16), @Vector(3, u31), .{ 0, 1, 1 << 30 });5842 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 });
5440 try testArgs(@Vector(3, u32), @Vector(3, u31), .{ 0, 1, 1 << 30 });5845 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 });
5441 try testArgs(@Vector(3, u64), @Vector(3, u31), .{ 0, 1, 1 << 30 });5848 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 });
5442 try testArgs(@Vector(3, u128), @Vector(3, u31), .{ 0, 1, 1 << 30 });5851 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 });
5443 try testArgs(@Vector(3, u256), @Vector(3, u31), .{ 0, 1, 1 << 30 });5854 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 });
5444 try testArgs(@Vector(3, u512), @Vector(3, u31), .{ 0, 1, 1 << 30 });5857 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 });
5445 try testArgs(@Vector(3, u1024), @Vector(3, u31), .{ 0, 1, 1 << 30 });5860 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 });
5447 try testArgs(@Vector(3, i8), @Vector(3, i32), .{ -1 << 31, -1, 0 });5864 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 });
5448 try testArgs(@Vector(3, i16), @Vector(3, i32), .{ -1 << 31, -1, 0 });5867 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 });
5449 try testArgs(@Vector(3, i32), @Vector(3, i32), .{ -1 << 31, -1, 0 });5870 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 });
5450 try testArgs(@Vector(3, i64), @Vector(3, i32), .{ -1 << 31, -1, 0 });5873 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 });
5451 try testArgs(@Vector(3, i128), @Vector(3, i32), .{ -1 << 31, -1, 0 });5876 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 });
5452 try testArgs(@Vector(3, i256), @Vector(3, i32), .{ -1 << 31, -1, 0 });5879 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 });
5453 try testArgs(@Vector(3, i512), @Vector(3, i32), .{ -1 << 31, -1, 0 });5882 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 });
5454 try testArgs(@Vector(3, i1024), @Vector(3, i32), .{ -1 << 31, -1, 0 });5885 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 });
5455 try testArgs(@Vector(3, u8), @Vector(3, u32), .{ 0, 1, 1 << 31 });5888 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 });
5456 try testArgs(@Vector(3, u16), @Vector(3, u32), .{ 0, 1, 1 << 31 });5891 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 });
5457 try testArgs(@Vector(3, u32), @Vector(3, u32), .{ 0, 1, 1 << 31 });5894 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 });
5458 try testArgs(@Vector(3, u64), @Vector(3, u32), .{ 0, 1, 1 << 31 });5897 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 });
5459 try testArgs(@Vector(3, u128), @Vector(3, u32), .{ 0, 1, 1 << 31 });5900 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 });
5460 try testArgs(@Vector(3, u256), @Vector(3, u32), .{ 0, 1, 1 << 31 });5903 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 });
5461 try testArgs(@Vector(3, u512), @Vector(3, u32), .{ 0, 1, 1 << 31 });5906 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 });
5462 try testArgs(@Vector(3, u1024), @Vector(3, u32), .{ 0, 1, 1 << 31 });5909 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 });
5464 try testArgs(@Vector(3, i8), @Vector(3, i33), .{ -1 << 32, -1, 0 });5913 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 });
5465 try testArgs(@Vector(3, i16), @Vector(3, i33), .{ -1 << 32, -1, 0 });5916 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 });
5466 try testArgs(@Vector(3, i32), @Vector(3, i33), .{ -1 << 32, -1, 0 });5919 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 });
5467 try testArgs(@Vector(3, i64), @Vector(3, i33), .{ -1 << 32, -1, 0 });5922 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 });
5468 try testArgs(@Vector(3, i128), @Vector(3, i33), .{ -1 << 32, -1, 0 });5925 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 });
5469 try testArgs(@Vector(3, i256), @Vector(3, i33), .{ -1 << 32, -1, 0 });5928 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 });
5470 try testArgs(@Vector(3, i512), @Vector(3, i33), .{ -1 << 32, -1, 0 });5931 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 });
5471 try testArgs(@Vector(3, i1024), @Vector(3, i33), .{ -1 << 32, -1, 0 });5934 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 });
5472 try testArgs(@Vector(3, u8), @Vector(3, u33), .{ 0, 1, 1 << 32 });5937 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 });
5473 try testArgs(@Vector(3, u16), @Vector(3, u33), .{ 0, 1, 1 << 32 });5940 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 });
5474 try testArgs(@Vector(3, u32), @Vector(3, u33), .{ 0, 1, 1 << 32 });5943 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 });
5475 try testArgs(@Vector(3, u64), @Vector(3, u33), .{ 0, 1, 1 << 32 });5946 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 });
5476 try testArgs(@Vector(3, u128), @Vector(3, u33), .{ 0, 1, 1 << 32 });5949 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 });
5477 try testArgs(@Vector(3, u256), @Vector(3, u33), .{ 0, 1, 1 << 32 });5952 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 });
5478 try testArgs(@Vector(3, u512), @Vector(3, u33), .{ 0, 1, 1 << 32 });5955 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 });
5479 try testArgs(@Vector(3, u1024), @Vector(3, u33), .{ 0, 1, 1 << 32 });5958 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 });
5481 try testArgs(@Vector(3, i8), @Vector(3, i63), .{ -1 << 62, -1, 0 });5962 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 });
5482 try testArgs(@Vector(3, i16), @Vector(3, i63), .{ -1 << 62, -1, 0 });5965 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 });
5483 try testArgs(@Vector(3, i32), @Vector(3, i63), .{ -1 << 62, -1, 0 });5968 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 });
5484 try testArgs(@Vector(3, i64), @Vector(3, i63), .{ -1 << 62, -1, 0 });5971 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 });
5485 try testArgs(@Vector(3, i128), @Vector(3, i63), .{ -1 << 62, -1, 0 });5974 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 });
5486 try testArgs(@Vector(3, i256), @Vector(3, i63), .{ -1 << 62, -1, 0 });5977 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 });
5487 try testArgs(@Vector(3, i512), @Vector(3, i63), .{ -1 << 62, -1, 0 });5980 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 });
5488 try testArgs(@Vector(3, i1024), @Vector(3, i63), .{ -1 << 62, -1, 0 });5983 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 });
5489 try testArgs(@Vector(3, u8), @Vector(3, u63), .{ 0, 1, 1 << 62 });5986 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 });
5490 try testArgs(@Vector(3, u16), @Vector(3, u63), .{ 0, 1, 1 << 62 });5989 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 });
5491 try testArgs(@Vector(3, u32), @Vector(3, u63), .{ 0, 1, 1 << 62 });5992 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 });
5492 try testArgs(@Vector(3, u64), @Vector(3, u63), .{ 0, 1, 1 << 62 });5995 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 });
5493 try testArgs(@Vector(3, u128), @Vector(3, u63), .{ 0, 1, 1 << 62 });5998 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 });
5494 try testArgs(@Vector(3, u256), @Vector(3, u63), .{ 0, 1, 1 << 62 });6001 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 });
5495 try testArgs(@Vector(3, u512), @Vector(3, u63), .{ 0, 1, 1 << 62 });6004 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 });
5496 try testArgs(@Vector(3, u1024), @Vector(3, u63), .{ 0, 1, 1 << 62 });6007 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 });
5498 try testArgs(@Vector(3, i8), @Vector(3, i64), .{ -1 << 63, -1, 0 });6011 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 });
5499 try testArgs(@Vector(3, i16), @Vector(3, i64), .{ -1 << 63, -1, 0 });6014 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 });
5500 try testArgs(@Vector(3, i32), @Vector(3, i64), .{ -1 << 63, -1, 0 });6017 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 });
5501 try testArgs(@Vector(3, i64), @Vector(3, i64), .{ -1 << 63, -1, 0 });6020 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 });
5502 try testArgs(@Vector(3, i128), @Vector(3, i64), .{ -1 << 63, -1, 0 });6023 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 });
5503 try testArgs(@Vector(3, i256), @Vector(3, i64), .{ -1 << 63, -1, 0 });6026 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 });
5504 try testArgs(@Vector(3, i512), @Vector(3, i64), .{ -1 << 63, -1, 0 });6029 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 });
5505 try testArgs(@Vector(3, i1024), @Vector(3, i64), .{ -1 << 63, -1, 0 });6032 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 });
5506 try testArgs(@Vector(3, u8), @Vector(3, u64), .{ 0, 1, 1 << 63 });6035 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 });
5507 try testArgs(@Vector(3, u16), @Vector(3, u64), .{ 0, 1, 1 << 63 });6038 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 });
5508 try testArgs(@Vector(3, u32), @Vector(3, u64), .{ 0, 1, 1 << 63 });6041 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 });
5509 try testArgs(@Vector(3, u64), @Vector(3, u64), .{ 0, 1, 1 << 63 });6044 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 });
5510 try testArgs(@Vector(3, u128), @Vector(3, u64), .{ 0, 1, 1 << 63 });6047 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 });
5511 try testArgs(@Vector(3, u256), @Vector(3, u64), .{ 0, 1, 1 << 63 });6050 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 });
5512 try testArgs(@Vector(3, u512), @Vector(3, u64), .{ 0, 1, 1 << 63 });6053 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 });
5513 try testArgs(@Vector(3, u1024), @Vector(3, u64), .{ 0, 1, 1 << 63 });6056 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 });
5515 try testArgs(@Vector(3, i8), @Vector(3, i65), .{ -1 << 64, -1, 0 });6060 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 });
5516 try testArgs(@Vector(3, i16), @Vector(3, i65), .{ -1 << 64, -1, 0 });6063 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 });
5517 try testArgs(@Vector(3, i32), @Vector(3, i65), .{ -1 << 64, -1, 0 });6066 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 });
5518 try testArgs(@Vector(3, i64), @Vector(3, i65), .{ -1 << 64, -1, 0 });6069 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 });
5519 try testArgs(@Vector(3, i128), @Vector(3, i65), .{ -1 << 64, -1, 0 });6072 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 });
5520 try testArgs(@Vector(3, i256), @Vector(3, i65), .{ -1 << 64, -1, 0 });6075 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 });
5521 try testArgs(@Vector(3, i512), @Vector(3, i65), .{ -1 << 64, -1, 0 });6078 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 });
5522 try testArgs(@Vector(3, i1024), @Vector(3, i65), .{ -1 << 64, -1, 0 });6081 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 });
5523 try testArgs(@Vector(3, u8), @Vector(3, u65), .{ 0, 1, 1 << 64 });6084 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 });
5524 try testArgs(@Vector(3, u16), @Vector(3, u65), .{ 0, 1, 1 << 64 });6087 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 });
5525 try testArgs(@Vector(3, u32), @Vector(3, u65), .{ 0, 1, 1 << 64 });6090 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 });
5526 try testArgs(@Vector(3, u64), @Vector(3, u65), .{ 0, 1, 1 << 64 });6093 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 });
5527 try testArgs(@Vector(3, u128), @Vector(3, u65), .{ 0, 1, 1 << 64 });6096 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 });
5528 try testArgs(@Vector(3, u256), @Vector(3, u65), .{ 0, 1, 1 << 64 });6099 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 });
5529 try testArgs(@Vector(3, u512), @Vector(3, u65), .{ 0, 1, 1 << 64 });6102 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 });
5530 try testArgs(@Vector(3, u1024), @Vector(3, u65), .{ 0, 1, 1 << 64 });6105 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 });
5532 try testArgs(@Vector(3, i8), @Vector(3, i95), .{ -1 << 94, -1, 0 });6109 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 });
5533 try testArgs(@Vector(3, i16), @Vector(3, i95), .{ -1 << 94, -1, 0 });6112 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 });
5534 try testArgs(@Vector(3, i32), @Vector(3, i95), .{ -1 << 94, -1, 0 });6115 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 });
5535 try testArgs(@Vector(3, i64), @Vector(3, i95), .{ -1 << 94, -1, 0 });6118 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 });
5536 try testArgs(@Vector(3, i128), @Vector(3, i95), .{ -1 << 94, -1, 0 });6121 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 });
5537 try testArgs(@Vector(3, i256), @Vector(3, i95), .{ -1 << 94, -1, 0 });6124 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 });
5538 try testArgs(@Vector(3, i512), @Vector(3, i95), .{ -1 << 94, -1, 0 });6127 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 });
5539 try testArgs(@Vector(3, i1024), @Vector(3, i95), .{ -1 << 94, -1, 0 });6130 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 });
5540 try testArgs(@Vector(3, u8), @Vector(3, u95), .{ 0, 1, 1 << 94 });6133 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 });
5541 try testArgs(@Vector(3, u16), @Vector(3, u95), .{ 0, 1, 1 << 94 });6136 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 });
5542 try testArgs(@Vector(3, u32), @Vector(3, u95), .{ 0, 1, 1 << 94 });6139 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 });
5543 try testArgs(@Vector(3, u64), @Vector(3, u95), .{ 0, 1, 1 << 94 });6142 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 });
5544 try testArgs(@Vector(3, u128), @Vector(3, u95), .{ 0, 1, 1 << 94 });6145 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 });
5545 try testArgs(@Vector(3, u256), @Vector(3, u95), .{ 0, 1, 1 << 94 });6148 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 });
5546 try testArgs(@Vector(3, u512), @Vector(3, u95), .{ 0, 1, 1 << 94 });6151 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 });
5547 try testArgs(@Vector(3, u1024), @Vector(3, u95), .{ 0, 1, 1 << 94 });6154 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 });
5549 try testArgs(@Vector(3, i8), @Vector(3, i96), .{ -1 << 95, -1, 0 });6158 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 });
5550 try testArgs(@Vector(3, i16), @Vector(3, i96), .{ -1 << 95, -1, 0 });6161 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 });
5551 try testArgs(@Vector(3, i32), @Vector(3, i96), .{ -1 << 95, -1, 0 });6164 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 });
5552 try testArgs(@Vector(3, i64), @Vector(3, i96), .{ -1 << 95, -1, 0 });6167 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 });
5553 try testArgs(@Vector(3, i128), @Vector(3, i96), .{ -1 << 95, -1, 0 });6170 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 });
5554 try testArgs(@Vector(3, i256), @Vector(3, i96), .{ -1 << 95, -1, 0 });6173 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 });
5555 try testArgs(@Vector(3, i512), @Vector(3, i96), .{ -1 << 95, -1, 0 });6176 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 });
5556 try testArgs(@Vector(3, i1024), @Vector(3, i96), .{ -1 << 95, -1, 0 });6179 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 });
5557 try testArgs(@Vector(3, u8), @Vector(3, u96), .{ 0, 1, 1 << 95 });6182 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 });
5558 try testArgs(@Vector(3, u16), @Vector(3, u96), .{ 0, 1, 1 << 95 });6185 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 });
5559 try testArgs(@Vector(3, u32), @Vector(3, u96), .{ 0, 1, 1 << 95 });6188 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 });
5560 try testArgs(@Vector(3, u64), @Vector(3, u96), .{ 0, 1, 1 << 95 });6191 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 });
5561 try testArgs(@Vector(3, u128), @Vector(3, u96), .{ 0, 1, 1 << 95 });6194 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 });
5562 try testArgs(@Vector(3, u256), @Vector(3, u96), .{ 0, 1, 1 << 95 });6197 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 });
5563 try testArgs(@Vector(3, u512), @Vector(3, u96), .{ 0, 1, 1 << 95 });6200 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 });
5564 try testArgs(@Vector(3, u1024), @Vector(3, u96), .{ 0, 1, 1 << 95 });6203 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 });
5566 try testArgs(@Vector(3, i8), @Vector(3, i97), .{ -1 << 96, -1, 0 });6207 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 });
5567 try testArgs(@Vector(3, i16), @Vector(3, i97), .{ -1 << 96, -1, 0 });6210 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 });
5568 try testArgs(@Vector(3, i32), @Vector(3, i97), .{ -1 << 96, -1, 0 });6213 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 });
5569 try testArgs(@Vector(3, i64), @Vector(3, i97), .{ -1 << 96, -1, 0 });6216 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 });
5570 try testArgs(@Vector(3, i128), @Vector(3, i97), .{ -1 << 96, -1, 0 });6219 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 });
5571 try testArgs(@Vector(3, i256), @Vector(3, i97), .{ -1 << 96, -1, 0 });6222 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 });
5572 try testArgs(@Vector(3, i512), @Vector(3, i97), .{ -1 << 96, -1, 0 });6225 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 });
5573 try testArgs(@Vector(3, i1024), @Vector(3, i97), .{ -1 << 96, -1, 0 });6228 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 });
5574 try testArgs(@Vector(3, u8), @Vector(3, u97), .{ 0, 1, 1 << 96 });6231 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 });
5575 try testArgs(@Vector(3, u16), @Vector(3, u97), .{ 0, 1, 1 << 96 });6234 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 });
5576 try testArgs(@Vector(3, u32), @Vector(3, u97), .{ 0, 1, 1 << 96 });6237 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 });
5577 try testArgs(@Vector(3, u64), @Vector(3, u97), .{ 0, 1, 1 << 96 });6240 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 });
5578 try testArgs(@Vector(3, u128), @Vector(3, u97), .{ 0, 1, 1 << 96 });6243 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 });
5579 try testArgs(@Vector(3, u256), @Vector(3, u97), .{ 0, 1, 1 << 96 });6246 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 });
5580 try testArgs(@Vector(3, u512), @Vector(3, u97), .{ 0, 1, 1 << 96 });6249 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 });
5581 try testArgs(@Vector(3, u1024), @Vector(3, u97), .{ 0, 1, 1 << 96 });6252 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 });
5583 try testArgs(@Vector(3, i8), @Vector(3, i127), .{ -1 << 126, -1, 0 });6256 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 });
5584 try testArgs(@Vector(3, i16), @Vector(3, i127), .{ -1 << 126, -1, 0 });6259 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 });
5585 try testArgs(@Vector(3, i32), @Vector(3, i127), .{ -1 << 126, -1, 0 });6262 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 });
5586 try testArgs(@Vector(3, i64), @Vector(3, i127), .{ -1 << 126, -1, 0 });6265 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 });
5587 try testArgs(@Vector(3, i128), @Vector(3, i127), .{ -1 << 126, -1, 0 });6268 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 });
5588 try testArgs(@Vector(3, i256), @Vector(3, i127), .{ -1 << 126, -1, 0 });6271 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 });
5589 try testArgs(@Vector(3, i512), @Vector(3, i127), .{ -1 << 126, -1, 0 });6274 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 });
5590 try testArgs(@Vector(3, i1024), @Vector(3, i127), .{ -1 << 126, -1, 0 });6277 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 });
5591 try testArgs(@Vector(3, u8), @Vector(3, u127), .{ 0, 1, 1 << 126 });6280 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 });
5592 try testArgs(@Vector(3, u16), @Vector(3, u127), .{ 0, 1, 1 << 126 });6283 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 });
5593 try testArgs(@Vector(3, u32), @Vector(3, u127), .{ 0, 1, 1 << 126 });6286 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 });
5594 try testArgs(@Vector(3, u64), @Vector(3, u127), .{ 0, 1, 1 << 126 });6289 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 });
5595 try testArgs(@Vector(3, u128), @Vector(3, u127), .{ 0, 1, 1 << 126 });6292 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 });
5596 try testArgs(@Vector(3, u256), @Vector(3, u127), .{ 0, 1, 1 << 126 });6295 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 });
5597 try testArgs(@Vector(3, u512), @Vector(3, u127), .{ 0, 1, 1 << 126 });6298 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 });
5598 try testArgs(@Vector(3, u1024), @Vector(3, u127), .{ 0, 1, 1 << 126 });6301 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 });
5600 try testArgs(@Vector(3, i8), @Vector(3, i128), .{ -1 << 127, -1, 0 });6305 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 });
5601 try testArgs(@Vector(3, i16), @Vector(3, i128), .{ -1 << 127, -1, 0 });6308 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 });
5602 try testArgs(@Vector(3, i32), @Vector(3, i128), .{ -1 << 127, -1, 0 });6311 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 });
5603 try testArgs(@Vector(3, i64), @Vector(3, i128), .{ -1 << 127, -1, 0 });6314 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 });
5604 try testArgs(@Vector(3, i128), @Vector(3, i128), .{ -1 << 127, -1, 0 });6317 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 });
5605 try testArgs(@Vector(3, i256), @Vector(3, i128), .{ -1 << 127, -1, 0 });6320 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 });
5606 try testArgs(@Vector(3, i512), @Vector(3, i128), .{ -1 << 127, -1, 0 });6323 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 });
5607 try testArgs(@Vector(3, i1024), @Vector(3, i128), .{ -1 << 127, -1, 0 });6326 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 });
5608 try testArgs(@Vector(3, u8), @Vector(3, u128), .{ 0, 1, 1 << 127 });6329 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 });
5609 try testArgs(@Vector(3, u16), @Vector(3, u128), .{ 0, 1, 1 << 127 });6332 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 });
5610 try testArgs(@Vector(3, u32), @Vector(3, u128), .{ 0, 1, 1 << 127 });6335 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 });
5611 try testArgs(@Vector(3, u64), @Vector(3, u128), .{ 0, 1, 1 << 127 });6338 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 });
5612 try testArgs(@Vector(3, u128), @Vector(3, u128), .{ 0, 1, 1 << 127 });6341 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 });
5613 try testArgs(@Vector(3, u256), @Vector(3, u128), .{ 0, 1, 1 << 127 });6344 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 });
5614 try testArgs(@Vector(3, u512), @Vector(3, u128), .{ 0, 1, 1 << 127 });6347 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 });
5615 try testArgs(@Vector(3, u1024), @Vector(3, u128), .{ 0, 1, 1 << 127 });6350 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 });
5617 try testArgs(@Vector(3, i8), @Vector(3, i129), .{ -1 << 128, -1, 0 });6354 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 });
5618 try testArgs(@Vector(3, i16), @Vector(3, i129), .{ -1 << 128, -1, 0 });6357 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 });
5619 try testArgs(@Vector(3, i32), @Vector(3, i129), .{ -1 << 128, -1, 0 });6360 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 });
5620 try testArgs(@Vector(3, i64), @Vector(3, i129), .{ -1 << 128, -1, 0 });6363 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 });
5621 try testArgs(@Vector(3, i128), @Vector(3, i129), .{ -1 << 128, -1, 0 });6366 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 });
5622 try testArgs(@Vector(3, i256), @Vector(3, i129), .{ -1 << 128, -1, 0 });6369 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 });
5623 try testArgs(@Vector(3, i512), @Vector(3, i129), .{ -1 << 128, -1, 0 });6372 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 });
5624 try testArgs(@Vector(3, i1024), @Vector(3, i129), .{ -1 << 128, -1, 0 });6375 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 });
5625 try testArgs(@Vector(3, u8), @Vector(3, u129), .{ 0, 1, 1 << 128 });6378 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 });
5626 try testArgs(@Vector(3, u16), @Vector(3, u129), .{ 0, 1, 1 << 128 });6381 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 });
5627 try testArgs(@Vector(3, u32), @Vector(3, u129), .{ 0, 1, 1 << 128 });6384 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 });
5628 try testArgs(@Vector(3, u64), @Vector(3, u129), .{ 0, 1, 1 << 128 });6387 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 });
5629 try testArgs(@Vector(3, u128), @Vector(3, u129), .{ 0, 1, 1 << 128 });6390 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 });
5630 try testArgs(@Vector(3, u256), @Vector(3, u129), .{ 0, 1, 1 << 128 });6393 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 });
5631 try testArgs(@Vector(3, u512), @Vector(3, u129), .{ 0, 1, 1 << 128 });6396 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 });
5632 try testArgs(@Vector(3, u1024), @Vector(3, u129), .{ 0, 1, 1 << 128 });6399 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 });
5634 try testArgs(@Vector(3, i8), @Vector(3, i159), .{ -1 << 158, -1, 0 });6403 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 });
5635 try testArgs(@Vector(3, i16), @Vector(3, i159), .{ -1 << 158, -1, 0 });6406 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 });
5636 try testArgs(@Vector(3, i32), @Vector(3, i159), .{ -1 << 158, -1, 0 });6409 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 });
5637 try testArgs(@Vector(3, i64), @Vector(3, i159), .{ -1 << 158, -1, 0 });6412 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 });
5638 try testArgs(@Vector(3, i128), @Vector(3, i159), .{ -1 << 158, -1, 0 });6415 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 });
5639 try testArgs(@Vector(3, i256), @Vector(3, i159), .{ -1 << 158, -1, 0 });6418 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 });
5640 try testArgs(@Vector(3, i512), @Vector(3, i159), .{ -1 << 158, -1, 0 });6421 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 });
5641 try testArgs(@Vector(3, i1024), @Vector(3, i159), .{ -1 << 158, -1, 0 });6424 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 });
5642 try testArgs(@Vector(3, u8), @Vector(3, u159), .{ 0, 1, 1 << 158 });6427 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 });
5643 try testArgs(@Vector(3, u16), @Vector(3, u159), .{ 0, 1, 1 << 158 });6430 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 });
5644 try testArgs(@Vector(3, u32), @Vector(3, u159), .{ 0, 1, 1 << 158 });6433 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 });
5645 try testArgs(@Vector(3, u64), @Vector(3, u159), .{ 0, 1, 1 << 158 });6436 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 });
5646 try testArgs(@Vector(3, u128), @Vector(3, u159), .{ 0, 1, 1 << 158 });6439 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 });
5647 try testArgs(@Vector(3, u256), @Vector(3, u159), .{ 0, 1, 1 << 158 });6442 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 });
5648 try testArgs(@Vector(3, u512), @Vector(3, u159), .{ 0, 1, 1 << 158 });6445 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 });
5649 try testArgs(@Vector(3, u1024), @Vector(3, u159), .{ 0, 1, 1 << 158 });6448 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 });
5651 try testArgs(@Vector(3, i8), @Vector(3, i160), .{ -1 << 159, -1, 0 });6452 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 });
5652 try testArgs(@Vector(3, i16), @Vector(3, i160), .{ -1 << 159, -1, 0 });6455 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 });
5653 try testArgs(@Vector(3, i32), @Vector(3, i160), .{ -1 << 159, -1, 0 });6458 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 });
5654 try testArgs(@Vector(3, i64), @Vector(3, i160), .{ -1 << 159, -1, 0 });6461 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 });
5655 try testArgs(@Vector(3, i128), @Vector(3, i160), .{ -1 << 159, -1, 0 });6464 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 });
5656 try testArgs(@Vector(3, i256), @Vector(3, i160), .{ -1 << 159, -1, 0 });6467 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 });
5657 try testArgs(@Vector(3, i512), @Vector(3, i160), .{ -1 << 159, -1, 0 });6470 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 });
5658 try testArgs(@Vector(3, i1024), @Vector(3, i160), .{ -1 << 159, -1, 0 });6473 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 });
5659 try testArgs(@Vector(3, u8), @Vector(3, u160), .{ 0, 1, 1 << 159 });6476 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 });
5660 try testArgs(@Vector(3, u16), @Vector(3, u160), .{ 0, 1, 1 << 159 });6479 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 });
5661 try testArgs(@Vector(3, u32), @Vector(3, u160), .{ 0, 1, 1 << 159 });6482 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 });
5662 try testArgs(@Vector(3, u64), @Vector(3, u160), .{ 0, 1, 1 << 159 });6485 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 });
5663 try testArgs(@Vector(3, u128), @Vector(3, u160), .{ 0, 1, 1 << 159 });6488 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 });
5664 try testArgs(@Vector(3, u256), @Vector(3, u160), .{ 0, 1, 1 << 159 });6491 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 });
5665 try testArgs(@Vector(3, u512), @Vector(3, u160), .{ 0, 1, 1 << 159 });6494 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 });
5666 try testArgs(@Vector(3, u1024), @Vector(3, u160), .{ 0, 1, 1 << 159 });6497 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 });
5668 try testArgs(@Vector(3, i8), @Vector(3, i161), .{ -1 << 160, -1, 0 });6501 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 });
5669 try testArgs(@Vector(3, i16), @Vector(3, i161), .{ -1 << 160, -1, 0 });6504 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 });
5670 try testArgs(@Vector(3, i32), @Vector(3, i161), .{ -1 << 160, -1, 0 });6507 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 });
5671 try testArgs(@Vector(3, i64), @Vector(3, i161), .{ -1 << 160, -1, 0 });6510 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 });
5672 try testArgs(@Vector(3, i128), @Vector(3, i161), .{ -1 << 160, -1, 0 });6513 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 });
5673 try testArgs(@Vector(3, i256), @Vector(3, i161), .{ -1 << 160, -1, 0 });6516 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 });
5674 try testArgs(@Vector(3, i512), @Vector(3, i161), .{ -1 << 160, -1, 0 });6519 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 });
5675 try testArgs(@Vector(3, i1024), @Vector(3, i161), .{ -1 << 160, -1, 0 });6522 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 });
5676 try testArgs(@Vector(3, u8), @Vector(3, u161), .{ 0, 1, 1 << 160 });6525 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 });
5677 try testArgs(@Vector(3, u16), @Vector(3, u161), .{ 0, 1, 1 << 160 });6528 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 });
5678 try testArgs(@Vector(3, u32), @Vector(3, u161), .{ 0, 1, 1 << 160 });6531 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 });
5679 try testArgs(@Vector(3, u64), @Vector(3, u161), .{ 0, 1, 1 << 160 });6534 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 });
5680 try testArgs(@Vector(3, u128), @Vector(3, u161), .{ 0, 1, 1 << 160 });6537 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 });
5681 try testArgs(@Vector(3, u256), @Vector(3, u161), .{ 0, 1, 1 << 160 });6540 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 });
5682 try testArgs(@Vector(3, u512), @Vector(3, u161), .{ 0, 1, 1 << 160 });6543 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 });
5683 try testArgs(@Vector(3, u1024), @Vector(3, u161), .{ 0, 1, 1 << 160 });6546 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 });
5685 try testArgs(@Vector(3, i8), @Vector(3, i191), .{ -1 << 190, -1, 0 });6550 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 });
5686 try testArgs(@Vector(3, i16), @Vector(3, i191), .{ -1 << 190, -1, 0 });6553 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 });
5687 try testArgs(@Vector(3, i32), @Vector(3, i191), .{ -1 << 190, -1, 0 });6556 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 });
5688 try testArgs(@Vector(3, i64), @Vector(3, i191), .{ -1 << 190, -1, 0 });6559 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 });
5689 try testArgs(@Vector(3, i128), @Vector(3, i191), .{ -1 << 190, -1, 0 });6562 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 });
5690 try testArgs(@Vector(3, i256), @Vector(3, i191), .{ -1 << 190, -1, 0 });6565 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 });
5691 try testArgs(@Vector(3, i512), @Vector(3, i191), .{ -1 << 190, -1, 0 });6568 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 });
5692 try testArgs(@Vector(3, i1024), @Vector(3, i191), .{ -1 << 190, -1, 0 });6571 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 });
5693 try testArgs(@Vector(3, u8), @Vector(3, u191), .{ 0, 1, 1 << 190 });6574 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 });
5694 try testArgs(@Vector(3, u16), @Vector(3, u191), .{ 0, 1, 1 << 190 });6577 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 });
5695 try testArgs(@Vector(3, u32), @Vector(3, u191), .{ 0, 1, 1 << 190 });6580 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 });
5696 try testArgs(@Vector(3, u64), @Vector(3, u191), .{ 0, 1, 1 << 190 });6583 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 });
5697 try testArgs(@Vector(3, u128), @Vector(3, u191), .{ 0, 1, 1 << 190 });6586 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 });
5698 try testArgs(@Vector(3, u256), @Vector(3, u191), .{ 0, 1, 1 << 190 });6589 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 });
5699 try testArgs(@Vector(3, u512), @Vector(3, u191), .{ 0, 1, 1 << 190 });6592 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 });
5700 try testArgs(@Vector(3, u1024), @Vector(3, u191), .{ 0, 1, 1 << 190 });6595 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 });
5702 try testArgs(@Vector(3, i8), @Vector(3, i192), .{ -1 << 191, -1, 0 });6599 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 });
5703 try testArgs(@Vector(3, i16), @Vector(3, i192), .{ -1 << 191, -1, 0 });6602 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 });
5704 try testArgs(@Vector(3, i32), @Vector(3, i192), .{ -1 << 191, -1, 0 });6605 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 });
5705 try testArgs(@Vector(3, i64), @Vector(3, i192), .{ -1 << 191, -1, 0 });6608 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 });
5706 try testArgs(@Vector(3, i128), @Vector(3, i192), .{ -1 << 191, -1, 0 });6611 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 });
5707 try testArgs(@Vector(3, i256), @Vector(3, i192), .{ -1 << 191, -1, 0 });6614 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 });
5708 try testArgs(@Vector(3, i512), @Vector(3, i192), .{ -1 << 191, -1, 0 });6617 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 });
5709 try testArgs(@Vector(3, i1024), @Vector(3, i192), .{ -1 << 191, -1, 0 });6620 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 });
5710 try testArgs(@Vector(3, u8), @Vector(3, u192), .{ 0, 1, 1 << 191 });6623 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 });
5711 try testArgs(@Vector(3, u16), @Vector(3, u192), .{ 0, 1, 1 << 191 });6626 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 });
5712 try testArgs(@Vector(3, u32), @Vector(3, u192), .{ 0, 1, 1 << 191 });6629 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 });
5713 try testArgs(@Vector(3, u64), @Vector(3, u192), .{ 0, 1, 1 << 191 });6632 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 });
5714 try testArgs(@Vector(3, u128), @Vector(3, u192), .{ 0, 1, 1 << 191 });6635 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 });
5715 try testArgs(@Vector(3, u256), @Vector(3, u192), .{ 0, 1, 1 << 191 });6638 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 });
5716 try testArgs(@Vector(3, u512), @Vector(3, u192), .{ 0, 1, 1 << 191 });6641 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 });
5717 try testArgs(@Vector(3, u1024), @Vector(3, u192), .{ 0, 1, 1 << 191 });6644 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 });
5719 try testArgs(@Vector(3, i8), @Vector(3, i193), .{ -1 << 192, -1, 0 });6648 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 });
5720 try testArgs(@Vector(3, i16), @Vector(3, i193), .{ -1 << 192, -1, 0 });6651 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 });
5721 try testArgs(@Vector(3, i32), @Vector(3, i193), .{ -1 << 192, -1, 0 });6654 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 });
5722 try testArgs(@Vector(3, i64), @Vector(3, i193), .{ -1 << 192, -1, 0 });6657 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 });
5723 try testArgs(@Vector(3, i128), @Vector(3, i193), .{ -1 << 192, -1, 0 });6660 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 });
5724 try testArgs(@Vector(3, i256), @Vector(3, i193), .{ -1 << 192, -1, 0 });6663 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 });
5725 try testArgs(@Vector(3, i512), @Vector(3, i193), .{ -1 << 192, -1, 0 });6666 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 });
5726 try testArgs(@Vector(3, i1024), @Vector(3, i193), .{ -1 << 192, -1, 0 });6669 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 });
5727 try testArgs(@Vector(3, u8), @Vector(3, u193), .{ 0, 1, 1 << 192 });6672 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 });
5728 try testArgs(@Vector(3, u16), @Vector(3, u193), .{ 0, 1, 1 << 192 });6675 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 });
5729 try testArgs(@Vector(3, u32), @Vector(3, u193), .{ 0, 1, 1 << 192 });6678 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 });
5730 try testArgs(@Vector(3, u64), @Vector(3, u193), .{ 0, 1, 1 << 192 });6681 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 });
5731 try testArgs(@Vector(3, u128), @Vector(3, u193), .{ 0, 1, 1 << 192 });6684 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 });
5732 try testArgs(@Vector(3, u256), @Vector(3, u193), .{ 0, 1, 1 << 192 });6687 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 });
5733 try testArgs(@Vector(3, u512), @Vector(3, u193), .{ 0, 1, 1 << 192 });6690 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 });
5734 try testArgs(@Vector(3, u1024), @Vector(3, u193), .{ 0, 1, 1 << 192 });6693 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 });
5736 try testArgs(@Vector(3, i8), @Vector(3, i223), .{ -1 << 222, -1, 0 });6697 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 });
5737 try testArgs(@Vector(3, i16), @Vector(3, i223), .{ -1 << 222, -1, 0 });6700 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 });
5738 try testArgs(@Vector(3, i32), @Vector(3, i223), .{ -1 << 222, -1, 0 });6703 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 });
5739 try testArgs(@Vector(3, i64), @Vector(3, i223), .{ -1 << 222, -1, 0 });6706 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 });
5740 try testArgs(@Vector(3, i128), @Vector(3, i223), .{ -1 << 222, -1, 0 });6709 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 });
5741 try testArgs(@Vector(3, i256), @Vector(3, i223), .{ -1 << 222, -1, 0 });6712 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 });
5742 try testArgs(@Vector(3, i512), @Vector(3, i223), .{ -1 << 222, -1, 0 });6715 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 });
5743 try testArgs(@Vector(3, i1024), @Vector(3, i223), .{ -1 << 222, -1, 0 });6718 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 });
5744 try testArgs(@Vector(3, u8), @Vector(3, u223), .{ 0, 1, 1 << 222 });6721 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 });
5745 try testArgs(@Vector(3, u16), @Vector(3, u223), .{ 0, 1, 1 << 222 });6724 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 });
5746 try testArgs(@Vector(3, u32), @Vector(3, u223), .{ 0, 1, 1 << 222 });6727 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 });
5747 try testArgs(@Vector(3, u64), @Vector(3, u223), .{ 0, 1, 1 << 222 });6730 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 });
5748 try testArgs(@Vector(3, u128), @Vector(3, u223), .{ 0, 1, 1 << 222 });6733 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 });
5749 try testArgs(@Vector(3, u256), @Vector(3, u223), .{ 0, 1, 1 << 222 });6736 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 });
5750 try testArgs(@Vector(3, u512), @Vector(3, u223), .{ 0, 1, 1 << 222 });6739 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 });
5751 try testArgs(@Vector(3, u1024), @Vector(3, u223), .{ 0, 1, 1 << 222 });6742 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 });
5753 try testArgs(@Vector(3, i8), @Vector(3, i224), .{ -1 << 223, -1, 0 });6746 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 });
5754 try testArgs(@Vector(3, i16), @Vector(3, i224), .{ -1 << 223, -1, 0 });6749 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 });
5755 try testArgs(@Vector(3, i32), @Vector(3, i224), .{ -1 << 223, -1, 0 });6752 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 });
5756 try testArgs(@Vector(3, i64), @Vector(3, i224), .{ -1 << 223, -1, 0 });6755 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 });
5757 try testArgs(@Vector(3, i128), @Vector(3, i224), .{ -1 << 223, -1, 0 });6758 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 });
5758 try testArgs(@Vector(3, i256), @Vector(3, i224), .{ -1 << 223, -1, 0 });6761 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 });
5759 try testArgs(@Vector(3, i512), @Vector(3, i224), .{ -1 << 223, -1, 0 });6764 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 });
5760 try testArgs(@Vector(3, i1024), @Vector(3, i224), .{ -1 << 223, -1, 0 });6767 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 });
5761 try testArgs(@Vector(3, u8), @Vector(3, u224), .{ 0, 1, 1 << 223 });6770 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 });
5762 try testArgs(@Vector(3, u16), @Vector(3, u224), .{ 0, 1, 1 << 223 });6773 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 });
5763 try testArgs(@Vector(3, u32), @Vector(3, u224), .{ 0, 1, 1 << 223 });6776 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 });
5764 try testArgs(@Vector(3, u64), @Vector(3, u224), .{ 0, 1, 1 << 223 });6779 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 });
5765 try testArgs(@Vector(3, u128), @Vector(3, u224), .{ 0, 1, 1 << 223 });6782 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 });
5766 try testArgs(@Vector(3, u256), @Vector(3, u224), .{ 0, 1, 1 << 223 });6785 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 });
5767 try testArgs(@Vector(3, u512), @Vector(3, u224), .{ 0, 1, 1 << 223 });6788 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 });
5768 try testArgs(@Vector(3, u1024), @Vector(3, u224), .{ 0, 1, 1 << 223 });6791 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 });
5770 try testArgs(@Vector(3, i8), @Vector(3, i225), .{ -1 << 224, -1, 0 });6795 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 });
5771 try testArgs(@Vector(3, i16), @Vector(3, i225), .{ -1 << 224, -1, 0 });6798 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 });
5772 try testArgs(@Vector(3, i32), @Vector(3, i225), .{ -1 << 224, -1, 0 });6801 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 });
5773 try testArgs(@Vector(3, i64), @Vector(3, i225), .{ -1 << 224, -1, 0 });6804 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 });
5774 try testArgs(@Vector(3, i128), @Vector(3, i225), .{ -1 << 224, -1, 0 });6807 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 });
5775 try testArgs(@Vector(3, i256), @Vector(3, i225), .{ -1 << 224, -1, 0 });6810 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 });
5776 try testArgs(@Vector(3, i512), @Vector(3, i225), .{ -1 << 224, -1, 0 });6813 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 });
5777 try testArgs(@Vector(3, i1024), @Vector(3, i225), .{ -1 << 224, -1, 0 });6816 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 });
5778 try testArgs(@Vector(3, u8), @Vector(3, u225), .{ 0, 1, 1 << 224 });6819 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 });
5779 try testArgs(@Vector(3, u16), @Vector(3, u225), .{ 0, 1, 1 << 224 });6822 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 });
5780 try testArgs(@Vector(3, u32), @Vector(3, u225), .{ 0, 1, 1 << 224 });6825 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 });
5781 try testArgs(@Vector(3, u64), @Vector(3, u225), .{ 0, 1, 1 << 224 });6828 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 });
5782 try testArgs(@Vector(3, u128), @Vector(3, u225), .{ 0, 1, 1 << 224 });6831 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 });
5783 try testArgs(@Vector(3, u256), @Vector(3, u225), .{ 0, 1, 1 << 224 });6834 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 });
5784 try testArgs(@Vector(3, u512), @Vector(3, u225), .{ 0, 1, 1 << 224 });6837 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 });
5785 try testArgs(@Vector(3, u1024), @Vector(3, u225), .{ 0, 1, 1 << 224 });6840 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 });
5787 try testArgs(@Vector(3, i8), @Vector(3, i255), .{ -1 << 254, -1, 0 });6844 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 });
5788 try testArgs(@Vector(3, i16), @Vector(3, i255), .{ -1 << 254, -1, 0 });6847 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 });
5789 try testArgs(@Vector(3, i32), @Vector(3, i255), .{ -1 << 254, -1, 0 });6850 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 });
5790 try testArgs(@Vector(3, i64), @Vector(3, i255), .{ -1 << 254, -1, 0 });6853 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 });
5791 try testArgs(@Vector(3, i128), @Vector(3, i255), .{ -1 << 254, -1, 0 });6856 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 });
5792 try testArgs(@Vector(3, i256), @Vector(3, i255), .{ -1 << 254, -1, 0 });6859 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 });
5793 try testArgs(@Vector(3, i512), @Vector(3, i255), .{ -1 << 254, -1, 0 });6862 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 });
5794 try testArgs(@Vector(3, i1024), @Vector(3, i255), .{ -1 << 254, -1, 0 });6865 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 });
5795 try testArgs(@Vector(3, u8), @Vector(3, u255), .{ 0, 1, 1 << 254 });6868 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 });
5796 try testArgs(@Vector(3, u16), @Vector(3, u255), .{ 0, 1, 1 << 254 });6871 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 });
5797 try testArgs(@Vector(3, u32), @Vector(3, u255), .{ 0, 1, 1 << 254 });6874 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 });
5798 try testArgs(@Vector(3, u64), @Vector(3, u255), .{ 0, 1, 1 << 254 });6877 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 });
5799 try testArgs(@Vector(3, u128), @Vector(3, u255), .{ 0, 1, 1 << 254 });6880 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 });
5800 try testArgs(@Vector(3, u256), @Vector(3, u255), .{ 0, 1, 1 << 254 });6883 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 });
5801 try testArgs(@Vector(3, u512), @Vector(3, u255), .{ 0, 1, 1 << 254 });6886 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 });
5802 try testArgs(@Vector(3, u1024), @Vector(3, u255), .{ 0, 1, 1 << 254 });6889 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 });
5804 try testArgs(@Vector(3, i8), @Vector(3, i256), .{ -1 << 255, -1, 0 });6893 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 });
5805 try testArgs(@Vector(3, i16), @Vector(3, i256), .{ -1 << 255, -1, 0 });6896 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 });
5806 try testArgs(@Vector(3, i32), @Vector(3, i256), .{ -1 << 255, -1, 0 });6899 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 });
5807 try testArgs(@Vector(3, i64), @Vector(3, i256), .{ -1 << 255, -1, 0 });6902 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 });
5808 try testArgs(@Vector(3, i128), @Vector(3, i256), .{ -1 << 255, -1, 0 });6905 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 });
5809 try testArgs(@Vector(3, i256), @Vector(3, i256), .{ -1 << 255, -1, 0 });6908 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 });
5810 try testArgs(@Vector(3, i512), @Vector(3, i256), .{ -1 << 255, -1, 0 });6911 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 });
5811 try testArgs(@Vector(3, i1024), @Vector(3, i256), .{ -1 << 255, -1, 0 });6914 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 });
5812 try testArgs(@Vector(3, u8), @Vector(3, u256), .{ 0, 1, 1 << 255 });6917 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 });
5813 try testArgs(@Vector(3, u16), @Vector(3, u256), .{ 0, 1, 1 << 255 });6920 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 });
5814 try testArgs(@Vector(3, u32), @Vector(3, u256), .{ 0, 1, 1 << 255 });6923 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 });
5815 try testArgs(@Vector(3, u64), @Vector(3, u256), .{ 0, 1, 1 << 255 });6926 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 });
5816 try testArgs(@Vector(3, u128), @Vector(3, u256), .{ 0, 1, 1 << 255 });6929 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 });
5817 try testArgs(@Vector(3, u256), @Vector(3, u256), .{ 0, 1, 1 << 255 });6932 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 });
5818 try testArgs(@Vector(3, u512), @Vector(3, u256), .{ 0, 1, 1 << 255 });6935 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 });
5819 try testArgs(@Vector(3, u1024), @Vector(3, u256), .{ 0, 1, 1 << 255 });6938 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 });
5821 try testArgs(@Vector(3, i8), @Vector(3, i257), .{ -1 << 256, -1, 0 });6942 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 });
5822 try testArgs(@Vector(3, i16), @Vector(3, i257), .{ -1 << 256, -1, 0 });6945 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 });
5823 try testArgs(@Vector(3, i32), @Vector(3, i257), .{ -1 << 256, -1, 0 });6948 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 });
5824 try testArgs(@Vector(3, i64), @Vector(3, i257), .{ -1 << 256, -1, 0 });6951 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 });
5825 try testArgs(@Vector(3, i128), @Vector(3, i257), .{ -1 << 256, -1, 0 });6954 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 });
5826 try testArgs(@Vector(3, i256), @Vector(3, i257), .{ -1 << 256, -1, 0 });6957 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 });
5827 try testArgs(@Vector(3, i512), @Vector(3, i257), .{ -1 << 256, -1, 0 });6960 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 });
5828 try testArgs(@Vector(3, i1024), @Vector(3, i257), .{ -1 << 256, -1, 0 });6963 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 });
5829 try testArgs(@Vector(3, u8), @Vector(3, u257), .{ 0, 1, 1 << 256 });6966 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 });
5830 try testArgs(@Vector(3, u16), @Vector(3, u257), .{ 0, 1, 1 << 256 });6969 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 });
5831 try testArgs(@Vector(3, u32), @Vector(3, u257), .{ 0, 1, 1 << 256 });6972 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 });
5832 try testArgs(@Vector(3, u64), @Vector(3, u257), .{ 0, 1, 1 << 256 });6975 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 });
5833 try testArgs(@Vector(3, u128), @Vector(3, u257), .{ 0, 1, 1 << 256 });6978 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 });
5834 try testArgs(@Vector(3, u256), @Vector(3, u257), .{ 0, 1, 1 << 256 });6981 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 });
5835 try testArgs(@Vector(3, u512), @Vector(3, u257), .{ 0, 1, 1 << 256 });6984 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 });
5836 try testArgs(@Vector(3, u1024), @Vector(3, u257), .{ 0, 1, 1 << 256 });6987 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 });
5838 try testArgs(@Vector(3, i8), @Vector(3, i511), .{ -1 << 510, -1, 0 });6991 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 });
5839 try testArgs(@Vector(3, i16), @Vector(3, i511), .{ -1 << 510, -1, 0 });6994 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 });
5840 try testArgs(@Vector(3, i32), @Vector(3, i511), .{ -1 << 510, -1, 0 });6997 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 });
5841 try testArgs(@Vector(3, i64), @Vector(3, i511), .{ -1 << 510, -1, 0 });7000 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 });
5842 try testArgs(@Vector(3, i128), @Vector(3, i511), .{ -1 << 510, -1, 0 });7003 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 });
5843 try testArgs(@Vector(3, i256), @Vector(3, i511), .{ -1 << 510, -1, 0 });7006 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 });
5844 try testArgs(@Vector(3, i512), @Vector(3, i511), .{ -1 << 510, -1, 0 });7009 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 });
5845 try testArgs(@Vector(3, i1024), @Vector(3, i511), .{ -1 << 510, -1, 0 });7012 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 });
5846 try testArgs(@Vector(3, u8), @Vector(3, u511), .{ 0, 1, 1 << 510 });7015 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 });
5847 try testArgs(@Vector(3, u16), @Vector(3, u511), .{ 0, 1, 1 << 510 });7018 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 });
5848 try testArgs(@Vector(3, u32), @Vector(3, u511), .{ 0, 1, 1 << 510 });7021 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 });
5849 try testArgs(@Vector(3, u64), @Vector(3, u511), .{ 0, 1, 1 << 510 });7024 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 });
5850 try testArgs(@Vector(3, u128), @Vector(3, u511), .{ 0, 1, 1 << 510 });7027 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 });
5851 try testArgs(@Vector(3, u256), @Vector(3, u511), .{ 0, 1, 1 << 510 });7030 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 });
5852 try testArgs(@Vector(3, u512), @Vector(3, u511), .{ 0, 1, 1 << 510 });7033 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 });
5853 try testArgs(@Vector(3, u1024), @Vector(3, u511), .{ 0, 1, 1 << 510 });7036 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 });
5855 try testArgs(@Vector(3, i8), @Vector(3, i512), .{ -1 << 511, -1, 0 });7040 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 });
5856 try testArgs(@Vector(3, i16), @Vector(3, i512), .{ -1 << 511, -1, 0 });7043 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 });
5857 try testArgs(@Vector(3, i32), @Vector(3, i512), .{ -1 << 511, -1, 0 });7046 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 });
5858 try testArgs(@Vector(3, i64), @Vector(3, i512), .{ -1 << 511, -1, 0 });7049 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 });
5859 try testArgs(@Vector(3, i128), @Vector(3, i512), .{ -1 << 511, -1, 0 });7052 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 });
5860 try testArgs(@Vector(3, i256), @Vector(3, i512), .{ -1 << 511, -1, 0 });7055 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 });
5861 try testArgs(@Vector(3, i512), @Vector(3, i512), .{ -1 << 511, -1, 0 });7058 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 });
5862 try testArgs(@Vector(3, i1024), @Vector(3, i512), .{ -1 << 511, -1, 0 });7061 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 });
5863 try testArgs(@Vector(3, u8), @Vector(3, u512), .{ 0, 1, 1 << 511 });7064 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 });
5864 try testArgs(@Vector(3, u16), @Vector(3, u512), .{ 0, 1, 1 << 511 });7067 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 });
5865 try testArgs(@Vector(3, u32), @Vector(3, u512), .{ 0, 1, 1 << 511 });7070 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 });
5866 try testArgs(@Vector(3, u64), @Vector(3, u512), .{ 0, 1, 1 << 511 });7073 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 });
5867 try testArgs(@Vector(3, u128), @Vector(3, u512), .{ 0, 1, 1 << 511 });7076 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 });
5868 try testArgs(@Vector(3, u256), @Vector(3, u512), .{ 0, 1, 1 << 511 });7079 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 });
5869 try testArgs(@Vector(3, u512), @Vector(3, u512), .{ 0, 1, 1 << 511 });7082 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 });
5870 try testArgs(@Vector(3, u1024), @Vector(3, u512), .{ 0, 1, 1 << 511 });7085 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 });
5872 try testArgs(@Vector(3, i8), @Vector(3, i513), .{ -1 << 512, -1, 0 });7089 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 });
5873 try testArgs(@Vector(3, i16), @Vector(3, i513), .{ -1 << 512, -1, 0 });7092 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 });
5874 try testArgs(@Vector(3, i32), @Vector(3, i513), .{ -1 << 512, -1, 0 });7095 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 });
5875 try testArgs(@Vector(3, i64), @Vector(3, i513), .{ -1 << 512, -1, 0 });7098 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 });
5876 try testArgs(@Vector(3, i128), @Vector(3, i513), .{ -1 << 512, -1, 0 });7101 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 });
5877 try testArgs(@Vector(3, i256), @Vector(3, i513), .{ -1 << 512, -1, 0 });7104 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 });
5878 try testArgs(@Vector(3, i512), @Vector(3, i513), .{ -1 << 512, -1, 0 });7107 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 });
5879 try testArgs(@Vector(3, i1024), @Vector(3, i513), .{ -1 << 512, -1, 0 });7110 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 });
5880 try testArgs(@Vector(3, u8), @Vector(3, u513), .{ 0, 1, 1 << 512 });7113 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 });
5881 try testArgs(@Vector(3, u16), @Vector(3, u513), .{ 0, 1, 1 << 512 });7116 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 });
5882 try testArgs(@Vector(3, u32), @Vector(3, u513), .{ 0, 1, 1 << 512 });7119 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 });
5883 try testArgs(@Vector(3, u64), @Vector(3, u513), .{ 0, 1, 1 << 512 });7122 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 });
5884 try testArgs(@Vector(3, u128), @Vector(3, u513), .{ 0, 1, 1 << 512 });7125 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 });
5885 try testArgs(@Vector(3, u256), @Vector(3, u513), .{ 0, 1, 1 << 512 });7128 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 });
5886 try testArgs(@Vector(3, u512), @Vector(3, u513), .{ 0, 1, 1 << 512 });7131 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 });
5887 try testArgs(@Vector(3, u1024), @Vector(3, u513), .{ 0, 1, 1 << 512 });7134 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 });
5889 try testArgs(@Vector(3, i8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7138 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 });
5890 try testArgs(@Vector(3, i16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7141 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 });
5891 try testArgs(@Vector(3, i32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7144 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 });
5892 try testArgs(@Vector(3, i64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7147 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 });
5893 try testArgs(@Vector(3, i128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7150 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 });
5894 try testArgs(@Vector(3, i256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7153 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 });
5895 try testArgs(@Vector(3, i512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7156 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 });
5896 try testArgs(@Vector(3, i1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });7159 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 });
5897 try testArgs(@Vector(3, u8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7162 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 });
5898 try testArgs(@Vector(3, u16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7165 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 });
5899 try testArgs(@Vector(3, u32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7168 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 });
5900 try testArgs(@Vector(3, u64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7171 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 });
5901 try testArgs(@Vector(3, u128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7174 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 });
5902 try testArgs(@Vector(3, u256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7177 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 });
5903 try testArgs(@Vector(3, u512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7180 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 });
5904 try testArgs(@Vector(3, u1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });7183 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 });
5906 try testArgs(@Vector(3, i8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7187 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 });
5907 try testArgs(@Vector(3, i16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7190 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 });
5908 try testArgs(@Vector(3, i32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7193 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 });
5909 try testArgs(@Vector(3, i64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7196 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 });
5910 try testArgs(@Vector(3, i128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7199 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 });
5911 try testArgs(@Vector(3, i256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7202 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 });
5912 try testArgs(@Vector(3, i512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7205 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 });
5913 try testArgs(@Vector(3, i1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });7208 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 });
5914 try testArgs(@Vector(3, u8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7211 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 });
5915 try testArgs(@Vector(3, u16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7214 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 });
5916 try testArgs(@Vector(3, u32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7217 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 });
5917 try testArgs(@Vector(3, u64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7220 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 });
5918 try testArgs(@Vector(3, u128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7223 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 });
5919 try testArgs(@Vector(3, u256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7226 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 });
5920 try testArgs(@Vector(3, u512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7229 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 });
5921 try testArgs(@Vector(3, u1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });7232 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 });
5923 try testArgs(@Vector(3, i8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7236 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 });
5924 try testArgs(@Vector(3, i16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7239 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 });
5925 try testArgs(@Vector(3, i32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7242 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 });
5926 try testArgs(@Vector(3, i64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7245 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 });
5927 try testArgs(@Vector(3, i128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7248 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 });
5928 try testArgs(@Vector(3, i256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7251 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 });
5929 try testArgs(@Vector(3, i512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7254 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 });
5930 try testArgs(@Vector(3, i1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });7257 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 });
5931 try testArgs(@Vector(3, u8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7260 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 });
5932 try testArgs(@Vector(3, u16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7263 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 });
5933 try testArgs(@Vector(3, u32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7266 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 });
5934 try testArgs(@Vector(3, u64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7269 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 });
5935 try testArgs(@Vector(3, u128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7272 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 });
5936 try testArgs(@Vector(3, u256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7275 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 });
5937 try testArgs(@Vector(3, u512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7278 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 });
5938 try testArgs(@Vector(3, u1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });7281 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 });
5939 }7283 }
5940 fn testIntVectors() !void {7284 fn testIntVectors() !void {
5941 try testSameSignednessIntVectors();7285 try testSameSignednessIntVectors();
...@@ -10056,6 +11400,7 @@ inline fn truncate(comptime Result: type, comptime Type: type, rhs: Type, compti...@@ -10056,6 +11400,7 @@ inline fn truncate(comptime Result: type, comptime Type: type, rhs: Type, compti
10056test truncate {11400test truncate {
10057 const test_truncate = cast(truncate, .{});11401 const test_truncate = cast(truncate, .{});
10058 try test_truncate.testSameSignednessInts();11402 try test_truncate.testSameSignednessInts();
11403 try test_truncate.testSameSignednessIntVectors();
10059}11404}
1006011405
10061inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {11406inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {