| ... | ... | @@ -2408,7 +2408,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2408 | 2408 | } |
| 2409 | 2409 | |
| 2410 | 2410 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2411 | | @setEvalBranchQuota(17_100); |
| 2411 | @setEvalBranchQuota(18_100); |
| 2412 | 2412 | const pt = cg.pt; |
| 2413 | 2413 | const zcu = pt.zcu; |
| 2414 | 2414 | const ip = &zcu.intern_pool; |
| ... | ... | @@ -6430,7 +6430,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6430 | 6430 | .patterns = &.{ |
| 6431 | 6431 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 6432 | 6432 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 6433 | | .{ .src = .{ .to_mut_mmx, .to_sse, .none } }, |
| 6433 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 6434 | 6434 | }, |
| 6435 | 6435 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 6436 | 6436 | .each = .{ .once = &.{ |
| ... | ... | @@ -6510,7 +6510,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6510 | 6510 | .patterns = &.{ |
| 6511 | 6511 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 6512 | 6512 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 6513 | | .{ .src = .{ .to_mut_mmx, .to_sse, .none } }, |
| 6513 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 6514 | 6514 | }, |
| 6515 | 6515 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 6516 | 6516 | .each = .{ .once = &.{ |
| ... | ... | @@ -6708,7 +6708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6708 | 6708 | .patterns = &.{ |
| 6709 | 6709 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 6710 | 6710 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 6711 | | .{ .src = .{ .to_mut_mmx, .to_sse, .none } }, |
| 6711 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 6712 | 6712 | }, |
| 6713 | 6713 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 6714 | 6714 | .each = .{ .once = &.{ |
| ... | ... | @@ -6896,7 +6896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6896 | 6896 | .patterns = &.{ |
| 6897 | 6897 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 6898 | 6898 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 6899 | | .{ .src = .{ .to_mut_mmx, .to_sse, .none } }, |
| 6899 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 6900 | 6900 | }, |
| 6901 | 6901 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 6902 | 6902 | .each = .{ .once = &.{ |
| ... | ... | @@ -7092,7 +7092,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 7092 | 7092 | .patterns = &.{ |
| 7093 | 7093 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 7094 | 7094 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 7095 | | .{ .src = .{ .to_mut_mmx, .to_sse, .none } }, |
| 7095 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 7096 | 7096 | }, |
| 7097 | 7097 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 7098 | 7098 | .each = .{ .once = &.{ |
| ... | ... | @@ -10996,8 +10996,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10996 | 10996 | }, .{ |
| 10997 | 10997 | .required_features = .{ .sse4_1, null, null, null }, |
| 10998 | 10998 | .src_constraints = .{ |
| 10999 | | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 11000 | | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 10999 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 11000 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 11001 | 11001 | .any, |
| 11002 | 11002 | }, |
| 11003 | 11003 | .patterns = &.{ |
| ... | ... | @@ -12539,12 +12539,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12539 | 12539 | }, |
| 12540 | 12540 | .extra_temps = .{ |
| 12541 | 12541 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 12542 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 12542 | 12543 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12543 | 12544 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12544 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12545 | | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 12545 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 12546 | 12546 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 12547 | | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 12547 | .unused, |
| 12548 | 12548 | .unused, |
| 12549 | 12549 | .unused, |
| 12550 | 12550 | .unused, |
| ... | ... | @@ -12567,12 +12567,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12567 | 12567 | .{ ._, ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, |
| 12568 | 12568 | .{ ._, ._, .adc, .tmp5q, .lea(.tmp2q), ._, ._ }, |
| 12569 | 12569 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 12570 | | .{ ._, ._, .lea, .tmp4p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 12570 | .{ ._, ._, .lea, .tmp1p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 12571 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12571 | 12572 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 12572 | | .{ ._, ._, .mov, .tmp6d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12573 | 12573 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 12574 | | .{ ._, ._, .mov, .tmp6q, .ua(.src0, .add_smin), ._, ._ }, |
| 12575 | | .{ ._, ._, .xor, .tmp5q, .tmp6q, ._, ._ }, |
| 12574 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 12575 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 12576 | 12576 | .{ .@"1:", ._, .mov, .lea(.tmp3q), .tmp5q, ._, ._ }, |
| 12577 | 12577 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 12578 | 12578 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | ... | @@ -12634,12 +12634,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12634 | 12634 | }, |
| 12635 | 12635 | .extra_temps = .{ |
| 12636 | 12636 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 12637 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 12637 | 12638 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12638 | 12639 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12639 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12640 | | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 12640 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 12641 | 12641 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 12642 | | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 12642 | .unused, |
| 12643 | 12643 | .unused, |
| 12644 | 12644 | .unused, |
| 12645 | 12645 | .unused, |
| ... | ... | @@ -12662,12 +12662,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12662 | 12662 | .{ ._, ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, |
| 12663 | 12663 | .{ ._, ._, .adc, .tmp5q, .lea(.tmp2q), ._, ._ }, |
| 12664 | 12664 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 12665 | | .{ ._, ._, .lea, .tmp4p, .leaad(.tmp3, .sub_src0_elem_size, 16), ._, ._ }, |
| 12665 | .{ ._, ._, .lea, .tmp1p, .leaad(.tmp3, .sub_src0_elem_size, 16), ._, ._ }, |
| 12666 | .{ ._, ._, .mov, .tmp4d, .sia(-2, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12666 | 12667 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 12667 | | .{ ._, ._, .mov, .tmp6d, .sia(-2, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12668 | 12668 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 12669 | | .{ ._, ._, .mov, .tmp6q, .ua(.src0, .add_smin), ._, ._ }, |
| 12670 | | .{ ._, ._, .xor, .tmp5q, .tmp6q, ._, ._ }, |
| 12669 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 12670 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 12671 | 12671 | .{ .@"1:", ._, .mov, .lea(.tmp3q), .tmp5q, ._, ._ }, |
| 12672 | 12672 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 12673 | 12673 | .{ ._, ._, .mov, .lead(.tmp3q, 8), .tmp5q, ._, ._ }, |
| ... | ... | @@ -12732,12 +12732,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12732 | 12732 | }, |
| 12733 | 12733 | .extra_temps = .{ |
| 12734 | 12734 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 12735 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 12735 | 12736 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12736 | 12737 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12737 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12738 | | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 12738 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 12739 | 12739 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 12740 | | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 12740 | .unused, |
| 12741 | 12741 | .unused, |
| 12742 | 12742 | .unused, |
| 12743 | 12743 | .unused, |
| ... | ... | @@ -12760,12 +12760,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12760 | 12760 | .{ ._, ._l, .sa, .tmp5q, .uia(63, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 12761 | 12761 | .{ ._, ._, .add, .tmp5q, .tmp5q, ._, ._ }, |
| 12762 | 12762 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 12763 | | .{ ._, ._, .lea, .tmp4p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 12763 | .{ ._, ._, .lea, .tmp1p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 12764 | .{ ._, ._, .mov, .tmp4d, .sia(-2, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12764 | 12765 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 12765 | | .{ ._, ._, .mov, .tmp6d, .sia(-2, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12766 | 12766 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 12767 | | .{ ._, ._, .mov, .tmp6q, .ua(.src0, .add_smin), ._, ._ }, |
| 12768 | | .{ ._, ._, .xor, .tmp5q, .tmp6q, ._, ._ }, |
| 12767 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 12768 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 12769 | 12769 | .{ ._, ._, .mov, .lead(.tmp3q, -8), .tmp5q, ._, ._ }, |
| 12770 | 12770 | .{ .@"1:", ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 12771 | 12771 | .{ ._, ._, .mov, .lea(.tmp3q), .tmp5q, ._, ._ }, |
| ... | ... | @@ -12833,12 +12833,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12833 | 12833 | }, |
| 12834 | 12834 | .extra_temps = .{ |
| 12835 | 12835 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 12836 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 12836 | 12837 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12837 | 12838 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12838 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 12839 | | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 12839 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 12840 | 12840 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 12841 | | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 12841 | .unused, |
| 12842 | 12842 | .unused, |
| 12843 | 12843 | .unused, |
| 12844 | 12844 | .unused, |
| ... | ... | @@ -12861,12 +12861,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12861 | 12861 | .{ ._, ._l, .sa, .tmp5q, .uia(63, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 12862 | 12862 | .{ ._, ._, .add, .tmp5q, .tmp5q, ._, ._ }, |
| 12863 | 12863 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 12864 | | .{ ._, ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size), ._, ._ }, |
| 12864 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp3, .sub_src0_elem_size), ._, ._ }, |
| 12865 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12865 | 12866 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 12866 | | .{ ._, ._, .mov, .tmp6d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 12867 | 12867 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 12868 | | .{ ._, ._, .mov, .tmp6q, .ua(.src0, .add_smin), ._, ._ }, |
| 12869 | | .{ ._, ._, .xor, .tmp5q, .tmp6q, ._, ._ }, |
| 12868 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 12869 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 12870 | 12870 | .{ ._, ._, .mov, .lead(.tmp3q, -8), .tmp5q, ._, ._ }, |
| 12871 | 12871 | .{ .@"1:", ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 12872 | 12872 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | ... | @@ -14814,9 +14814,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14814 | 14814 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 14815 | 14815 | }, |
| 14816 | 14816 | .sub_safe => unreachable, |
| 14817 | | .sub_sat => |air_tag| if (use_old) try cg.airSubSat(inst) else fallback: { |
| 14817 | .sub_sat => |air_tag| if (use_old) try cg.airSubSat(inst) else { |
| 14818 | 14818 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 14819 | | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airSubSat(inst); |
| 14820 | 14819 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 14821 | 14820 | var res: [1]Temp = undefined; |
| 14822 | 14821 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ |
| ... | ... | @@ -14829,6 +14828,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14829 | 14828 | }, .{ |
| 14830 | 14829 | .src_constraints = .{ .{ .exact_int = 1 }, .{ .exact_int = 1 }, .any }, |
| 14831 | 14830 | .patterns = &.{ |
| 14831 | .{ .src = .{ .{ .imm = 0 }, .to_mut_gpr, .none } }, |
| 14832 | 14832 | .{ .src = .{ .any, .imm8, .none } }, |
| 14833 | 14833 | }, |
| 14834 | 14834 | .dst_temps = .{ .{ .imm = 0 }, .unused }, |
| ... | ... | @@ -16517,6 +16517,5125 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16517 | 16517 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, |
| 16518 | 16518 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 16519 | 16519 | } }, |
| 16520 | }, .{ |
| 16521 | .required_features = .{ .mmx, null, null, null }, |
| 16522 | .src_constraints = .{ |
| 16523 | .{ .scalar_exact_int = .{ .of = .qword, .is = 1 } }, |
| 16524 | .{ .scalar_exact_int = .{ .of = .qword, .is = 1 } }, |
| 16525 | .any, |
| 16526 | }, |
| 16527 | .patterns = &.{ |
| 16528 | .{ .src = .{ .mem, .to_mut_mmx, .none } }, |
| 16529 | .{ .src = .{ .to_mmx, .to_mut_mmx, .none } }, |
| 16530 | }, |
| 16531 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, |
| 16532 | .each = .{ .once = &.{ |
| 16533 | .{ ._, .p_, .andn, .dst0q, .src0q, ._, ._ }, |
| 16534 | } }, |
| 16535 | }, .{ |
| 16536 | .required_features = .{ .avx, null, null, null }, |
| 16537 | .src_constraints = .{ |
| 16538 | .{ .scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 16539 | .{ .scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 16540 | .any, |
| 16541 | }, |
| 16542 | .patterns = &.{ |
| 16543 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 16544 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16545 | }, |
| 16546 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16547 | .each = .{ .once = &.{ |
| 16548 | .{ ._, .vp_, .andn, .dst0x, .src1x, .src0x, ._ }, |
| 16549 | } }, |
| 16550 | }, .{ |
| 16551 | .required_features = .{ .sse2, null, null, null }, |
| 16552 | .src_constraints = .{ |
| 16553 | .{ .scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 16554 | .{ .scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 16555 | .any, |
| 16556 | }, |
| 16557 | .patterns = &.{ |
| 16558 | .{ .src = .{ .mem, .to_mut_sse, .none } }, |
| 16559 | .{ .src = .{ .to_sse, .to_mut_sse, .none } }, |
| 16560 | }, |
| 16561 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, |
| 16562 | .each = .{ .once = &.{ |
| 16563 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| 16564 | } }, |
| 16565 | }, .{ |
| 16566 | .required_features = .{ .sse, null, null, null }, |
| 16567 | .src_constraints = .{ |
| 16568 | .{ .scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 16569 | .{ .scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 16570 | .any, |
| 16571 | }, |
| 16572 | .patterns = &.{ |
| 16573 | .{ .src = .{ .mem, .to_mut_sse, .none } }, |
| 16574 | .{ .src = .{ .to_sse, .to_mut_sse, .none } }, |
| 16575 | }, |
| 16576 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, |
| 16577 | .each = .{ .once = &.{ |
| 16578 | .{ ._, ._ps, .andn, .dst0x, .src0x, ._, ._ }, |
| 16579 | } }, |
| 16580 | }, .{ |
| 16581 | .required_features = .{ .avx2, null, null, null }, |
| 16582 | .src_constraints = .{ |
| 16583 | .{ .scalar_exact_int = .{ .of = .yword, .is = 1 } }, |
| 16584 | .{ .scalar_exact_int = .{ .of = .yword, .is = 1 } }, |
| 16585 | .any, |
| 16586 | }, |
| 16587 | .patterns = &.{ |
| 16588 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 16589 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16590 | }, |
| 16591 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16592 | .each = .{ .once = &.{ |
| 16593 | .{ ._, .vp_, .andn, .dst0y, .src1y, .src0y, ._ }, |
| 16594 | } }, |
| 16595 | }, .{ |
| 16596 | .required_features = .{ .mmx, null, null, null }, |
| 16597 | .src_constraints = .{ |
| 16598 | .{ .scalar_exact_signed_int = .{ .of = .qword, .is = 8 } }, |
| 16599 | .{ .scalar_exact_signed_int = .{ .of = .qword, .is = 8 } }, |
| 16600 | .any, |
| 16601 | }, |
| 16602 | .patterns = &.{ |
| 16603 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 16604 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 16605 | }, |
| 16606 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16607 | .each = .{ .once = &.{ |
| 16608 | .{ ._, .p_b, .subs, .dst0q, .src1q, ._, ._ }, |
| 16609 | } }, |
| 16610 | }, .{ |
| 16611 | .required_features = .{ .avx, null, null, null }, |
| 16612 | .src_constraints = .{ |
| 16613 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 16614 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 16615 | .any, |
| 16616 | }, |
| 16617 | .patterns = &.{ |
| 16618 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16619 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16620 | }, |
| 16621 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16622 | .each = .{ .once = &.{ |
| 16623 | .{ ._, .vp_b, .subs, .dst0x, .src0x, .src1x, ._ }, |
| 16624 | } }, |
| 16625 | }, .{ |
| 16626 | .required_features = .{ .sse2, null, null, null }, |
| 16627 | .src_constraints = .{ |
| 16628 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 16629 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 16630 | .any, |
| 16631 | }, |
| 16632 | .patterns = &.{ |
| 16633 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 16634 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 16635 | }, |
| 16636 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16637 | .each = .{ .once = &.{ |
| 16638 | .{ ._, .p_b, .subs, .dst0x, .src1x, ._, ._ }, |
| 16639 | } }, |
| 16640 | }, .{ |
| 16641 | .required_features = .{ .avx2, null, null, null }, |
| 16642 | .src_constraints = .{ |
| 16643 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 8 } }, |
| 16644 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 8 } }, |
| 16645 | .any, |
| 16646 | }, |
| 16647 | .patterns = &.{ |
| 16648 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16649 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16650 | }, |
| 16651 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16652 | .each = .{ .once = &.{ |
| 16653 | .{ ._, .vp_b, .subs, .dst0y, .src0y, .src1y, ._ }, |
| 16654 | } }, |
| 16655 | }, .{ |
| 16656 | .required_features = .{ .avx, null, null, null }, |
| 16657 | .src_constraints = .{ |
| 16658 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 16659 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 16660 | .any, |
| 16661 | }, |
| 16662 | .patterns = &.{ |
| 16663 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16664 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16665 | }, |
| 16666 | .extra_temps = .{ |
| 16667 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16668 | .{ .type = .vector_16_i8, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16669 | .{ .type = .vector_16_i8, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16670 | .unused, |
| 16671 | .unused, |
| 16672 | .unused, |
| 16673 | .unused, |
| 16674 | .unused, |
| 16675 | .unused, |
| 16676 | .unused, |
| 16677 | .unused, |
| 16678 | }, |
| 16679 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16680 | .each = .{ .once = &.{ |
| 16681 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16682 | .{ ._, .vp_b, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 16683 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| 16684 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 16685 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| 16686 | } }, |
| 16687 | }, .{ |
| 16688 | .required_features = .{ .sse4_1, null, null, null }, |
| 16689 | .src_constraints = .{ |
| 16690 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 16691 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 16692 | .any, |
| 16693 | }, |
| 16694 | .patterns = &.{ |
| 16695 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 16696 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 16697 | }, |
| 16698 | .extra_temps = .{ |
| 16699 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16700 | .{ .type = .vector_16_i8, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16701 | .{ .type = .vector_16_i8, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16702 | .unused, |
| 16703 | .unused, |
| 16704 | .unused, |
| 16705 | .unused, |
| 16706 | .unused, |
| 16707 | .unused, |
| 16708 | .unused, |
| 16709 | .unused, |
| 16710 | }, |
| 16711 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16712 | .each = .{ .once = &.{ |
| 16713 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16714 | .{ ._, .p_b, .sub, .dst0x, .src1x, ._, ._ }, |
| 16715 | .{ ._, .p_b, .maxs, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 16716 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 16717 | .{ ._, .p_b, .mins, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 16718 | } }, |
| 16719 | }, .{ |
| 16720 | .required_features = .{ .sse2, null, null, null }, |
| 16721 | .src_constraints = .{ |
| 16722 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 16723 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 16724 | .any, |
| 16725 | }, |
| 16726 | .patterns = &.{ |
| 16727 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 16728 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 16729 | }, |
| 16730 | .extra_temps = .{ |
| 16731 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16732 | .{ .type = .vector_16_i8, .kind = .{ .slimit_delta_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16733 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 16734 | .unused, |
| 16735 | .unused, |
| 16736 | .unused, |
| 16737 | .unused, |
| 16738 | .unused, |
| 16739 | .unused, |
| 16740 | .unused, |
| 16741 | .unused, |
| 16742 | }, |
| 16743 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16744 | .each = .{ .once = &.{ |
| 16745 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16746 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 16747 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 16748 | .{ ._, .p_b, .subs, .dst0x, .src1x, ._, ._ }, |
| 16749 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 16750 | .{ ._, .p_b, .adds, .dst0x, .tmp2x, ._, ._ }, |
| 16751 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 16752 | } }, |
| 16753 | }, .{ |
| 16754 | .required_features = .{ .avx2, null, null, null }, |
| 16755 | .src_constraints = .{ |
| 16756 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 16757 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 16758 | .any, |
| 16759 | }, |
| 16760 | .patterns = &.{ |
| 16761 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16762 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16763 | }, |
| 16764 | .extra_temps = .{ |
| 16765 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16766 | .{ .type = .vector_32_i8, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 16767 | .{ .type = .vector_32_i8, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 16768 | .unused, |
| 16769 | .unused, |
| 16770 | .unused, |
| 16771 | .unused, |
| 16772 | .unused, |
| 16773 | .unused, |
| 16774 | .unused, |
| 16775 | .unused, |
| 16776 | }, |
| 16777 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16778 | .each = .{ .once = &.{ |
| 16779 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16780 | .{ ._, .vp_b, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 16781 | .{ ._, .vp_b, .maxs, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 16782 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 16783 | .{ ._, .vp_b, .mins, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 16784 | } }, |
| 16785 | }, .{ |
| 16786 | .required_features = .{ .mmx, null, null, null }, |
| 16787 | .src_constraints = .{ |
| 16788 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 16789 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 16790 | .any, |
| 16791 | }, |
| 16792 | .patterns = &.{ |
| 16793 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 16794 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 16795 | }, |
| 16796 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16797 | .each = .{ .once = &.{ |
| 16798 | .{ ._, .p_b, .subus, .dst0q, .src1q, ._, ._ }, |
| 16799 | } }, |
| 16800 | }, .{ |
| 16801 | .required_features = .{ .avx, null, null, null }, |
| 16802 | .src_constraints = .{ |
| 16803 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 16804 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 16805 | .any, |
| 16806 | }, |
| 16807 | .patterns = &.{ |
| 16808 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16809 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16810 | }, |
| 16811 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16812 | .each = .{ .once = &.{ |
| 16813 | .{ ._, .vp_b, .subus, .dst0x, .src0x, .src1x, ._ }, |
| 16814 | } }, |
| 16815 | }, .{ |
| 16816 | .required_features = .{ .sse2, null, null, null }, |
| 16817 | .src_constraints = .{ |
| 16818 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 16819 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 16820 | .any, |
| 16821 | }, |
| 16822 | .patterns = &.{ |
| 16823 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 16824 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 16825 | }, |
| 16826 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16827 | .each = .{ .once = &.{ |
| 16828 | .{ ._, .p_b, .subus, .dst0x, .src1x, ._, ._ }, |
| 16829 | } }, |
| 16830 | }, .{ |
| 16831 | .required_features = .{ .avx2, null, null, null }, |
| 16832 | .src_constraints = .{ |
| 16833 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, |
| 16834 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, |
| 16835 | .any, |
| 16836 | }, |
| 16837 | .patterns = &.{ |
| 16838 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16839 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16840 | }, |
| 16841 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16842 | .each = .{ .once = &.{ |
| 16843 | .{ ._, .vp_b, .subus, .dst0y, .src0y, .src1y, ._ }, |
| 16844 | } }, |
| 16845 | }, .{ |
| 16846 | .required_features = .{ .mmx, null, null, null }, |
| 16847 | .src_constraints = .{ |
| 16848 | .{ .scalar_exact_signed_int = .{ .of = .qword, .is = 16 } }, |
| 16849 | .{ .scalar_exact_signed_int = .{ .of = .qword, .is = 16 } }, |
| 16850 | .any, |
| 16851 | }, |
| 16852 | .patterns = &.{ |
| 16853 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 16854 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 16855 | }, |
| 16856 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16857 | .each = .{ .once = &.{ |
| 16858 | .{ ._, .p_w, .subs, .dst0q, .src1q, ._, ._ }, |
| 16859 | } }, |
| 16860 | }, .{ |
| 16861 | .required_features = .{ .avx, null, null, null }, |
| 16862 | .src_constraints = .{ |
| 16863 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 16864 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 16865 | .any, |
| 16866 | }, |
| 16867 | .patterns = &.{ |
| 16868 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16869 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16870 | }, |
| 16871 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16872 | .each = .{ .once = &.{ |
| 16873 | .{ ._, .vp_w, .subs, .dst0x, .src0x, .src1x, ._ }, |
| 16874 | } }, |
| 16875 | }, .{ |
| 16876 | .required_features = .{ .sse2, null, null, null }, |
| 16877 | .src_constraints = .{ |
| 16878 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 16879 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 16880 | .any, |
| 16881 | }, |
| 16882 | .patterns = &.{ |
| 16883 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 16884 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 16885 | }, |
| 16886 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16887 | .each = .{ .once = &.{ |
| 16888 | .{ ._, .p_w, .subs, .dst0x, .src1x, ._, ._ }, |
| 16889 | } }, |
| 16890 | }, .{ |
| 16891 | .required_features = .{ .avx2, null, null, null }, |
| 16892 | .src_constraints = .{ |
| 16893 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 16 } }, |
| 16894 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 16 } }, |
| 16895 | .any, |
| 16896 | }, |
| 16897 | .patterns = &.{ |
| 16898 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16899 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16900 | }, |
| 16901 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16902 | .each = .{ .once = &.{ |
| 16903 | .{ ._, .vp_w, .subs, .dst0y, .src0y, .src1y, ._ }, |
| 16904 | } }, |
| 16905 | }, .{ |
| 16906 | .required_features = .{ .sse, .mmx, null, null }, |
| 16907 | .src_constraints = .{ |
| 16908 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 16909 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 16910 | .any, |
| 16911 | }, |
| 16912 | .patterns = &.{ |
| 16913 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 16914 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 16915 | }, |
| 16916 | .extra_temps = .{ |
| 16917 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16918 | .{ .type = .vector_4_i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .qword } } }, |
| 16919 | .{ .type = .vector_4_i16, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .qword } } }, |
| 16920 | .unused, |
| 16921 | .unused, |
| 16922 | .unused, |
| 16923 | .unused, |
| 16924 | .unused, |
| 16925 | .unused, |
| 16926 | .unused, |
| 16927 | .unused, |
| 16928 | }, |
| 16929 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16930 | .each = .{ .once = &.{ |
| 16931 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16932 | .{ ._, .p_w, .sub, .dst0q, .src1q, ._, ._ }, |
| 16933 | .{ ._, .p_w, .maxs, .dst0q, .lea(.tmp0q), ._, ._ }, |
| 16934 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 16935 | .{ ._, .p_w, .mins, .dst0q, .lea(.tmp0q), ._, ._ }, |
| 16936 | } }, |
| 16937 | }, .{ |
| 16938 | .required_features = .{ .avx, null, null, null }, |
| 16939 | .src_constraints = .{ |
| 16940 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 16941 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 16942 | .any, |
| 16943 | }, |
| 16944 | .patterns = &.{ |
| 16945 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 16946 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 16947 | }, |
| 16948 | .extra_temps = .{ |
| 16949 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16950 | .{ .type = .vector_8_i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16951 | .{ .type = .vector_8_i16, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16952 | .unused, |
| 16953 | .unused, |
| 16954 | .unused, |
| 16955 | .unused, |
| 16956 | .unused, |
| 16957 | .unused, |
| 16958 | .unused, |
| 16959 | .unused, |
| 16960 | }, |
| 16961 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 16962 | .each = .{ .once = &.{ |
| 16963 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16964 | .{ ._, .vp_w, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 16965 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| 16966 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 16967 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| 16968 | } }, |
| 16969 | }, .{ |
| 16970 | .required_features = .{ .sse4_1, null, null, null }, |
| 16971 | .src_constraints = .{ |
| 16972 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 16973 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 16974 | .any, |
| 16975 | }, |
| 16976 | .patterns = &.{ |
| 16977 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 16978 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 16979 | }, |
| 16980 | .extra_temps = .{ |
| 16981 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 16982 | .{ .type = .vector_8_i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16983 | .{ .type = .vector_8_i16, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 16984 | .unused, |
| 16985 | .unused, |
| 16986 | .unused, |
| 16987 | .unused, |
| 16988 | .unused, |
| 16989 | .unused, |
| 16990 | .unused, |
| 16991 | .unused, |
| 16992 | }, |
| 16993 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 16994 | .each = .{ .once = &.{ |
| 16995 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 16996 | .{ ._, .p_w, .sub, .dst0x, .src1x, ._, ._ }, |
| 16997 | .{ ._, .p_w, .maxs, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 16998 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 16999 | .{ ._, .p_w, .mins, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 17000 | } }, |
| 17001 | }, .{ |
| 17002 | .required_features = .{ .avx2, null, null, null }, |
| 17003 | .src_constraints = .{ |
| 17004 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 17005 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 17006 | .any, |
| 17007 | }, |
| 17008 | .patterns = &.{ |
| 17009 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17010 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17011 | }, |
| 17012 | .extra_temps = .{ |
| 17013 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17014 | .{ .type = .vector_16_i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 17015 | .{ .type = .vector_16_i16, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 17016 | .unused, |
| 17017 | .unused, |
| 17018 | .unused, |
| 17019 | .unused, |
| 17020 | .unused, |
| 17021 | .unused, |
| 17022 | .unused, |
| 17023 | .unused, |
| 17024 | }, |
| 17025 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17026 | .each = .{ .once = &.{ |
| 17027 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17028 | .{ ._, .vp_w, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17029 | .{ ._, .vp_w, .maxs, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 17030 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 17031 | .{ ._, .vp_w, .mins, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 17032 | } }, |
| 17033 | }, .{ |
| 17034 | .required_features = .{ .mmx, null, null, null }, |
| 17035 | .src_constraints = .{ |
| 17036 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, |
| 17037 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, |
| 17038 | .any, |
| 17039 | }, |
| 17040 | .patterns = &.{ |
| 17041 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 17042 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 17043 | }, |
| 17044 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17045 | .each = .{ .once = &.{ |
| 17046 | .{ ._, .p_w, .subus, .dst0q, .src1q, ._, ._ }, |
| 17047 | } }, |
| 17048 | }, .{ |
| 17049 | .required_features = .{ .avx, null, null, null }, |
| 17050 | .src_constraints = .{ |
| 17051 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17052 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17053 | .any, |
| 17054 | }, |
| 17055 | .patterns = &.{ |
| 17056 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17057 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17058 | }, |
| 17059 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17060 | .each = .{ .once = &.{ |
| 17061 | .{ ._, .vp_w, .subus, .dst0x, .src0x, .src1x, ._ }, |
| 17062 | } }, |
| 17063 | }, .{ |
| 17064 | .required_features = .{ .sse2, null, null, null }, |
| 17065 | .src_constraints = .{ |
| 17066 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17067 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17068 | .any, |
| 17069 | }, |
| 17070 | .patterns = &.{ |
| 17071 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 17072 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17073 | }, |
| 17074 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17075 | .each = .{ .once = &.{ |
| 17076 | .{ ._, .p_w, .subus, .dst0x, .src1x, ._, ._ }, |
| 17077 | } }, |
| 17078 | }, .{ |
| 17079 | .required_features = .{ .avx2, null, null, null }, |
| 17080 | .src_constraints = .{ |
| 17081 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 17082 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 17083 | .any, |
| 17084 | }, |
| 17085 | .patterns = &.{ |
| 17086 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17087 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17088 | }, |
| 17089 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17090 | .each = .{ .once = &.{ |
| 17091 | .{ ._, .vp_w, .subus, .dst0y, .src0y, .src1y, ._ }, |
| 17092 | } }, |
| 17093 | }, .{ |
| 17094 | .required_features = .{ .avx, null, null, null }, |
| 17095 | .src_constraints = .{ |
| 17096 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 17097 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 17098 | .any, |
| 17099 | }, |
| 17100 | .patterns = &.{ |
| 17101 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17102 | }, |
| 17103 | .extra_temps = .{ |
| 17104 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17105 | .{ .type = .vector_4_i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17106 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17107 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17108 | .unused, |
| 17109 | .unused, |
| 17110 | .unused, |
| 17111 | .unused, |
| 17112 | .unused, |
| 17113 | .unused, |
| 17114 | .unused, |
| 17115 | }, |
| 17116 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17117 | .each = .{ .once = &.{ |
| 17118 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17119 | .{ ._, .vp_d, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17120 | .{ ._, .vp_d, .sra, .tmp2x, .src0x, .ui(31), ._ }, |
| 17121 | .{ ._, .vp_d, .cmpgt, .tmp3x, .dst0x, .src0x, ._ }, |
| 17122 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .lea(.tmp0x), ._ }, |
| 17123 | .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .src1x, ._ }, |
| 17124 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp3x }, |
| 17125 | } }, |
| 17126 | }, .{ |
| 17127 | .required_features = .{ .sse4_1, null, null, null }, |
| 17128 | .src_constraints = .{ |
| 17129 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 17130 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 17131 | .any, |
| 17132 | }, |
| 17133 | .patterns = &.{ |
| 17134 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17135 | }, |
| 17136 | .extra_temps = .{ |
| 17137 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17138 | .{ .type = .vector_4_i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17139 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17140 | .{ .type = .vector_4_i32, .kind = .{ .reg = .xmm0 } }, |
| 17141 | .unused, |
| 17142 | .unused, |
| 17143 | .unused, |
| 17144 | .unused, |
| 17145 | .unused, |
| 17146 | .unused, |
| 17147 | .unused, |
| 17148 | }, |
| 17149 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17150 | .each = .{ .once = &.{ |
| 17151 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17152 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, |
| 17153 | .{ ._, .p_d, .sub, .dst0x, .src1x, ._, ._ }, |
| 17154 | .{ ._, ._dqa, .mov, .tmp2x, .src0x, ._, ._ }, |
| 17155 | .{ ._, .p_d, .sra, .tmp2x, .ui(31), ._, ._ }, |
| 17156 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| 17157 | .{ ._, .p_d, .cmpgt, .tmp3x, .src0x, ._, ._ }, |
| 17158 | .{ ._, .p_, .xor, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 17159 | .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ }, |
| 17160 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp3x, ._ }, |
| 17161 | } }, |
| 17162 | }, .{ |
| 17163 | .required_features = .{ .avx2, null, null, null }, |
| 17164 | .src_constraints = .{ |
| 17165 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 32 } }, |
| 17166 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 32 } }, |
| 17167 | .any, |
| 17168 | }, |
| 17169 | .patterns = &.{ |
| 17170 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17171 | }, |
| 17172 | .extra_temps = .{ |
| 17173 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17174 | .{ .type = .vector_8_i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 17175 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 17176 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 17177 | .unused, |
| 17178 | .unused, |
| 17179 | .unused, |
| 17180 | .unused, |
| 17181 | .unused, |
| 17182 | .unused, |
| 17183 | .unused, |
| 17184 | }, |
| 17185 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17186 | .each = .{ .once = &.{ |
| 17187 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17188 | .{ ._, .vp_d, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17189 | .{ ._, .vp_d, .sra, .tmp2y, .src0y, .ui(31), ._ }, |
| 17190 | .{ ._, .vp_d, .cmpgt, .tmp3y, .dst0y, .src0y, ._ }, |
| 17191 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .lea(.tmp0y), ._ }, |
| 17192 | .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .src1y, ._ }, |
| 17193 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp3y }, |
| 17194 | } }, |
| 17195 | }, .{ |
| 17196 | .required_features = .{ .avx, null, null, null }, |
| 17197 | .src_constraints = .{ |
| 17198 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17199 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17200 | .any, |
| 17201 | }, |
| 17202 | .patterns = &.{ |
| 17203 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17204 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17205 | }, |
| 17206 | .extra_temps = .{ |
| 17207 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17208 | .{ .type = .vector_4_i32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17209 | .{ .type = .vector_4_i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17210 | .unused, |
| 17211 | .unused, |
| 17212 | .unused, |
| 17213 | .unused, |
| 17214 | .unused, |
| 17215 | .unused, |
| 17216 | .unused, |
| 17217 | .unused, |
| 17218 | }, |
| 17219 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17220 | .each = .{ .once = &.{ |
| 17221 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17222 | .{ ._, .vp_d, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17223 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| 17224 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 17225 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| 17226 | } }, |
| 17227 | }, .{ |
| 17228 | .required_features = .{ .sse4_1, null, null, null }, |
| 17229 | .src_constraints = .{ |
| 17230 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17231 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17232 | .any, |
| 17233 | }, |
| 17234 | .patterns = &.{ |
| 17235 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 17236 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17237 | }, |
| 17238 | .extra_temps = .{ |
| 17239 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17240 | .{ .type = .vector_4_i32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17241 | .{ .type = .vector_4_i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17242 | .unused, |
| 17243 | .unused, |
| 17244 | .unused, |
| 17245 | .unused, |
| 17246 | .unused, |
| 17247 | .unused, |
| 17248 | .unused, |
| 17249 | .unused, |
| 17250 | }, |
| 17251 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17252 | .each = .{ .once = &.{ |
| 17253 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17254 | .{ ._, .p_d, .sub, .dst0x, .src1x, ._, ._ }, |
| 17255 | .{ ._, .p_d, .maxs, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 17256 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 17257 | .{ ._, .p_d, .mins, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 17258 | } }, |
| 17259 | }, .{ |
| 17260 | .required_features = .{ .avx2, null, null, null }, |
| 17261 | .src_constraints = .{ |
| 17262 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 17263 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 17264 | .any, |
| 17265 | }, |
| 17266 | .patterns = &.{ |
| 17267 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17268 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17269 | }, |
| 17270 | .extra_temps = .{ |
| 17271 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17272 | .{ .type = .vector_8_i32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 17273 | .{ .type = .vector_8_i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 17274 | .unused, |
| 17275 | .unused, |
| 17276 | .unused, |
| 17277 | .unused, |
| 17278 | .unused, |
| 17279 | .unused, |
| 17280 | .unused, |
| 17281 | .unused, |
| 17282 | }, |
| 17283 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17284 | .each = .{ .once = &.{ |
| 17285 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17286 | .{ ._, .vp_d, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17287 | .{ ._, .vp_d, .maxs, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 17288 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| 17289 | .{ ._, .vp_d, .mins, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 17290 | } }, |
| 17291 | }, .{ |
| 17292 | .required_features = .{ .avx, null, null, null }, |
| 17293 | .src_constraints = .{ |
| 17294 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 17295 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 17296 | .any, |
| 17297 | }, |
| 17298 | .patterns = &.{ |
| 17299 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 17300 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17301 | }, |
| 17302 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17303 | .each = .{ .once = &.{ |
| 17304 | .{ ._, .vp_d, .maxu, .dst0x, .src1x, .src0x, ._ }, |
| 17305 | .{ ._, .vp_d, .sub, .dst0x, .dst0x, .src1x, ._ }, |
| 17306 | } }, |
| 17307 | }, .{ |
| 17308 | .required_features = .{ .sse4_1, null, null, null }, |
| 17309 | .src_constraints = .{ |
| 17310 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 17311 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 17312 | .any, |
| 17313 | }, |
| 17314 | .patterns = &.{ |
| 17315 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17316 | }, |
| 17317 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17318 | .each = .{ .once = &.{ |
| 17319 | .{ ._, .p_d, .maxu, .src0x, .src1x, ._, ._ }, |
| 17320 | .{ ._, .p_d, .sub, .dst0x, .src1x, ._, ._ }, |
| 17321 | } }, |
| 17322 | }, .{ |
| 17323 | .required_features = .{ .avx2, null, null, null }, |
| 17324 | .src_constraints = .{ |
| 17325 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 17326 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 17327 | .any, |
| 17328 | }, |
| 17329 | .patterns = &.{ |
| 17330 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 17331 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17332 | }, |
| 17333 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17334 | .each = .{ .once = &.{ |
| 17335 | .{ ._, .vp_d, .maxu, .dst0y, .src1y, .src0y, ._ }, |
| 17336 | .{ ._, .vp_d, .sub, .dst0y, .dst0y, .src1y, ._ }, |
| 17337 | } }, |
| 17338 | }, .{ |
| 17339 | .required_features = .{ .avx, null, null, null }, |
| 17340 | .src_constraints = .{ |
| 17341 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 17342 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 17343 | .any, |
| 17344 | }, |
| 17345 | .patterns = &.{ |
| 17346 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17347 | }, |
| 17348 | .extra_temps = .{ |
| 17349 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17350 | .{ .type = .vector_2_i64, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17351 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17352 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17353 | .unused, |
| 17354 | .unused, |
| 17355 | .unused, |
| 17356 | .unused, |
| 17357 | .unused, |
| 17358 | .unused, |
| 17359 | .unused, |
| 17360 | }, |
| 17361 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17362 | .each = .{ .once = &.{ |
| 17363 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17364 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 17365 | .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17366 | .{ ._, .vp_q, .cmpgt, .tmp2x, .tmp2x, .src0x, ._ }, |
| 17367 | .{ ._, .vp_q, .cmpgt, .tmp3x, .dst0x, .src0x, ._ }, |
| 17368 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .lea(.tmp0x), ._ }, |
| 17369 | .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .src1x, ._ }, |
| 17370 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp3x }, |
| 17371 | } }, |
| 17372 | }, .{ |
| 17373 | .required_features = .{ .sse4_2, null, null, null }, |
| 17374 | .src_constraints = .{ |
| 17375 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 17376 | .{ .scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 17377 | .any, |
| 17378 | }, |
| 17379 | .patterns = &.{ |
| 17380 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17381 | }, |
| 17382 | .extra_temps = .{ |
| 17383 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17384 | .{ .type = .vector_2_i64, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 17385 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17386 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 17387 | .unused, |
| 17388 | .unused, |
| 17389 | .unused, |
| 17390 | .unused, |
| 17391 | .unused, |
| 17392 | .unused, |
| 17393 | .unused, |
| 17394 | }, |
| 17395 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17396 | .each = .{ .once = &.{ |
| 17397 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17398 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 17399 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, |
| 17400 | .{ ._, .p_q, .sub, .dst0x, .src1x, ._, ._ }, |
| 17401 | .{ ._, .p_q, .cmpgt, .tmp2x, .src0x, ._, ._ }, |
| 17402 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| 17403 | .{ ._, .p_q, .cmpgt, .tmp3x, .src0x, ._, ._ }, |
| 17404 | .{ ._, .p_, .xor, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 17405 | .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ }, |
| 17406 | .{ ._, ._pd, .blendv, .dst0x, .tmp2x, .tmp3x, ._ }, |
| 17407 | } }, |
| 17408 | }, .{ |
| 17409 | .required_features = .{ .avx2, null, null, null }, |
| 17410 | .src_constraints = .{ |
| 17411 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 64 } }, |
| 17412 | .{ .scalar_exact_signed_int = .{ .of = .yword, .is = 64 } }, |
| 17413 | .any, |
| 17414 | }, |
| 17415 | .patterns = &.{ |
| 17416 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17417 | }, |
| 17418 | .extra_temps = .{ |
| 17419 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17420 | .{ .type = .vector_4_i64, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .yword } } }, |
| 17421 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 17422 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 17423 | .unused, |
| 17424 | .unused, |
| 17425 | .unused, |
| 17426 | .unused, |
| 17427 | .unused, |
| 17428 | .unused, |
| 17429 | .unused, |
| 17430 | }, |
| 17431 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17432 | .each = .{ .once = &.{ |
| 17433 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17434 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .tmp2y, ._ }, |
| 17435 | .{ ._, .vp_q, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17436 | .{ ._, .vp_q, .cmpgt, .tmp2y, .tmp2y, .src0y, ._ }, |
| 17437 | .{ ._, .vp_q, .cmpgt, .tmp3y, .dst0y, .src0y, ._ }, |
| 17438 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .lea(.tmp0y), ._ }, |
| 17439 | .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .src1y, ._ }, |
| 17440 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp2y, .tmp3y }, |
| 17441 | } }, |
| 17442 | }, .{ |
| 17443 | .required_features = .{ .avx2, null, null, null }, |
| 17444 | .src_constraints = .{ |
| 17445 | .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 17446 | .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 17447 | .any, |
| 17448 | }, |
| 17449 | .patterns = &.{ |
| 17450 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17451 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17452 | }, |
| 17453 | .extra_temps = .{ |
| 17454 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17455 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17456 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17457 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17458 | .unused, |
| 17459 | .unused, |
| 17460 | .unused, |
| 17461 | .unused, |
| 17462 | .unused, |
| 17463 | .unused, |
| 17464 | .unused, |
| 17465 | }, |
| 17466 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17467 | .each = .{ .once = &.{ |
| 17468 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17469 | .{ ._, .vp_q, .broadcast, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 17470 | .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17471 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp2x, .dst0x, ._ }, |
| 17472 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp2x, .tmp3x }, |
| 17473 | .{ ._, .vp_q, .cmpeq, .tmp3x, .tmp3x, .tmp3x, ._ }, |
| 17474 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .tmp3x, ._ }, |
| 17475 | .{ ._, .vp_q, .cmpgt, .tmp3x, .dst0x, .tmp2x, ._ }, |
| 17476 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp2x, .tmp3x }, |
| 17477 | } }, |
| 17478 | }, .{ |
| 17479 | .required_features = .{ .avx, null, null, null }, |
| 17480 | .src_constraints = .{ |
| 17481 | .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 17482 | .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 17483 | .any, |
| 17484 | }, |
| 17485 | .patterns = &.{ |
| 17486 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17487 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17488 | }, |
| 17489 | .extra_temps = .{ |
| 17490 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17491 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17492 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17493 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17494 | .unused, |
| 17495 | .unused, |
| 17496 | .unused, |
| 17497 | .unused, |
| 17498 | .unused, |
| 17499 | .unused, |
| 17500 | .unused, |
| 17501 | }, |
| 17502 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17503 | .each = .{ .once = &.{ |
| 17504 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17505 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 17506 | .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17507 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp2x, .dst0x, ._ }, |
| 17508 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp2x, .tmp3x }, |
| 17509 | .{ ._, .vp_q, .cmpeq, .tmp3x, .tmp3x, .tmp3x, ._ }, |
| 17510 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .tmp3x, ._ }, |
| 17511 | .{ ._, .vp_q, .cmpgt, .tmp3x, .dst0x, .tmp2x, ._ }, |
| 17512 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp2x, .tmp3x }, |
| 17513 | } }, |
| 17514 | }, .{ |
| 17515 | .required_features = .{ .sse4_2, null, null, null }, |
| 17516 | .src_constraints = .{ |
| 17517 | .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 17518 | .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 17519 | .any, |
| 17520 | }, |
| 17521 | .patterns = &.{ |
| 17522 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 17523 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17524 | }, |
| 17525 | .extra_temps = .{ |
| 17526 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17527 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17528 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17529 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 17530 | .unused, |
| 17531 | .unused, |
| 17532 | .unused, |
| 17533 | .unused, |
| 17534 | .unused, |
| 17535 | .unused, |
| 17536 | .unused, |
| 17537 | }, |
| 17538 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17539 | .each = .{ .once = &.{ |
| 17540 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17541 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 17542 | .{ ._, .p_q, .sub, .dst0x, .src1x, ._, ._ }, |
| 17543 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, |
| 17544 | .{ ._, .p_q, .cmpgt, .tmp3x, .dst0x, ._, ._ }, |
| 17545 | .{ ._, .p_b, .blendv, .dst0x, .tmp2x, .tmp3x, ._ }, |
| 17546 | .{ ._, .p_q, .cmpeq, .tmp3x, .tmp3x, ._, ._ }, |
| 17547 | .{ ._, .p_, .xor, .tmp2x, .tmp3x, ._, ._ }, |
| 17548 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| 17549 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp2x, ._, ._ }, |
| 17550 | .{ ._, .p_b, .blendv, .dst0x, .tmp2x, .tmp3x, ._ }, |
| 17551 | } }, |
| 17552 | }, .{ |
| 17553 | .required_features = .{ .avx2, null, null, null }, |
| 17554 | .src_constraints = .{ |
| 17555 | .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, |
| 17556 | .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, |
| 17557 | .any, |
| 17558 | }, |
| 17559 | .patterns = &.{ |
| 17560 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17561 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17562 | }, |
| 17563 | .extra_temps = .{ |
| 17564 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17565 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17566 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 17567 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 17568 | .unused, |
| 17569 | .unused, |
| 17570 | .unused, |
| 17571 | .unused, |
| 17572 | .unused, |
| 17573 | .unused, |
| 17574 | .unused, |
| 17575 | }, |
| 17576 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17577 | .each = .{ .once = &.{ |
| 17578 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17579 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| 17580 | .{ ._, .vp_q, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17581 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp2y, .dst0y, ._ }, |
| 17582 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp2y, .tmp3y }, |
| 17583 | .{ ._, .vp_q, .cmpeq, .tmp3y, .tmp3y, .tmp3y, ._ }, |
| 17584 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| 17585 | .{ ._, .vp_q, .cmpgt, .tmp3y, .dst0y, .tmp2y, ._ }, |
| 17586 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp2y, .tmp3y }, |
| 17587 | } }, |
| 17588 | }, .{ |
| 17589 | .required_features = .{ .avx2, null, null, null }, |
| 17590 | .src_constraints = .{ |
| 17591 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 17592 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 17593 | .any, |
| 17594 | }, |
| 17595 | .patterns = &.{ |
| 17596 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17597 | }, |
| 17598 | .extra_temps = .{ |
| 17599 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17600 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17601 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17602 | .unused, |
| 17603 | .unused, |
| 17604 | .unused, |
| 17605 | .unused, |
| 17606 | .unused, |
| 17607 | .unused, |
| 17608 | .unused, |
| 17609 | .unused, |
| 17610 | }, |
| 17611 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17612 | .each = .{ .once = &.{ |
| 17613 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17614 | .{ ._, .vp_q, .broadcast, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 17615 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ }, |
| 17616 | .{ ._, .vp_, .xor, .tmp2x, .src1x, .tmp2x, ._ }, |
| 17617 | .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp2x, ._ }, |
| 17618 | .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17619 | .{ ._, .vp_, .@"and", .dst0x, .dst0x, .tmp2x, ._ }, |
| 17620 | } }, |
| 17621 | }, .{ |
| 17622 | .required_features = .{ .avx, null, null, null }, |
| 17623 | .src_constraints = .{ |
| 17624 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 17625 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 17626 | .any, |
| 17627 | }, |
| 17628 | .patterns = &.{ |
| 17629 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17630 | }, |
| 17631 | .extra_temps = .{ |
| 17632 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17633 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17634 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17635 | .unused, |
| 17636 | .unused, |
| 17637 | .unused, |
| 17638 | .unused, |
| 17639 | .unused, |
| 17640 | .unused, |
| 17641 | .unused, |
| 17642 | .unused, |
| 17643 | }, |
| 17644 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17645 | .each = .{ .once = &.{ |
| 17646 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17647 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 17648 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ }, |
| 17649 | .{ ._, .vp_, .xor, .tmp2x, .src1x, .tmp2x, ._ }, |
| 17650 | .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp2x, ._ }, |
| 17651 | .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17652 | .{ ._, .vp_, .@"and", .dst0x, .dst0x, .tmp2x, ._ }, |
| 17653 | } }, |
| 17654 | }, .{ |
| 17655 | .required_features = .{ .sse4_2, null, null, null }, |
| 17656 | .src_constraints = .{ |
| 17657 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 17658 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 17659 | .any, |
| 17660 | }, |
| 17661 | .patterns = &.{ |
| 17662 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17663 | }, |
| 17664 | .extra_temps = .{ |
| 17665 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17666 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17667 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17668 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 17669 | .unused, |
| 17670 | .unused, |
| 17671 | .unused, |
| 17672 | .unused, |
| 17673 | .unused, |
| 17674 | .unused, |
| 17675 | .unused, |
| 17676 | }, |
| 17677 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17678 | .each = .{ .once = &.{ |
| 17679 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17680 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 17681 | .{ ._, ._dqa, .mov, .tmp3x, .src0x, ._, ._ }, |
| 17682 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| 17683 | .{ ._, .p_, .xor, .tmp2x, .src1x, ._, ._ }, |
| 17684 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp2x, ._, ._ }, |
| 17685 | .{ ._, .p_q, .sub, .dst0x, .src1x, ._, ._ }, |
| 17686 | .{ ._, .p_, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| 17687 | } }, |
| 17688 | }, .{ |
| 17689 | .required_features = .{ .avx2, null, null, null }, |
| 17690 | .src_constraints = .{ |
| 17691 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 17692 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 17693 | .any, |
| 17694 | }, |
| 17695 | .patterns = &.{ |
| 17696 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17697 | }, |
| 17698 | .extra_temps = .{ |
| 17699 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 17700 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 17701 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 17702 | .unused, |
| 17703 | .unused, |
| 17704 | .unused, |
| 17705 | .unused, |
| 17706 | .unused, |
| 17707 | .unused, |
| 17708 | .unused, |
| 17709 | .unused, |
| 17710 | }, |
| 17711 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17712 | .each = .{ .once = &.{ |
| 17713 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 17714 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| 17715 | .{ ._, .vp_, .xor, .dst0y, .src0y, .tmp2y, ._ }, |
| 17716 | .{ ._, .vp_, .xor, .tmp2y, .src1y, .tmp2y, ._ }, |
| 17717 | .{ ._, .vp_q, .cmpgt, .tmp2y, .dst0y, .tmp2y, ._ }, |
| 17718 | .{ ._, .vp_q, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17719 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .tmp2y, ._ }, |
| 17720 | } }, |
| 17721 | }, .{ |
| 17722 | .required_features = .{ .avx, null, null, null }, |
| 17723 | .src_constraints = .{ |
| 17724 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 17725 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 17726 | .any, |
| 17727 | }, |
| 17728 | .patterns = &.{ |
| 17729 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17730 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17731 | }, |
| 17732 | .extra_temps = .{ |
| 17733 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 17734 | .unused, |
| 17735 | .unused, |
| 17736 | .unused, |
| 17737 | .unused, |
| 17738 | .unused, |
| 17739 | .unused, |
| 17740 | .unused, |
| 17741 | .unused, |
| 17742 | .unused, |
| 17743 | .unused, |
| 17744 | }, |
| 17745 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17746 | .each = .{ .once = &.{ |
| 17747 | .{ ._, .vp_, .xor, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| 17748 | .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ }, |
| 17749 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp0x, .dst0x }, |
| 17750 | } }, |
| 17751 | }, .{ |
| 17752 | .required_features = .{ .sse4_1, null, null, null }, |
| 17753 | .src_constraints = .{ |
| 17754 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 17755 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 17756 | .any, |
| 17757 | }, |
| 17758 | .patterns = &.{ |
| 17759 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, |
| 17760 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, |
| 17761 | }, |
| 17762 | .extra_temps = .{ |
| 17763 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 17764 | .unused, |
| 17765 | .unused, |
| 17766 | .unused, |
| 17767 | .unused, |
| 17768 | .unused, |
| 17769 | .unused, |
| 17770 | .unused, |
| 17771 | .unused, |
| 17772 | .unused, |
| 17773 | .unused, |
| 17774 | }, |
| 17775 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17776 | .each = .{ .once = &.{ |
| 17777 | .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| 17778 | .{ ._, .p_q, .sub, .dst0x, .src1x, ._, ._ }, |
| 17779 | .{ ._, ._pd, .blendv, .dst0x, .tmp0x, .dst0x, ._ }, |
| 17780 | } }, |
| 17781 | }, .{ |
| 17782 | .required_features = .{ .avx2, null, null, null }, |
| 17783 | .src_constraints = .{ |
| 17784 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, |
| 17785 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, |
| 17786 | .any, |
| 17787 | }, |
| 17788 | .patterns = &.{ |
| 17789 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17790 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17791 | }, |
| 17792 | .extra_temps = .{ |
| 17793 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 17794 | .unused, |
| 17795 | .unused, |
| 17796 | .unused, |
| 17797 | .unused, |
| 17798 | .unused, |
| 17799 | .unused, |
| 17800 | .unused, |
| 17801 | .unused, |
| 17802 | .unused, |
| 17803 | .unused, |
| 17804 | }, |
| 17805 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 17806 | .each = .{ .once = &.{ |
| 17807 | .{ ._, .vp_, .xor, .tmp0y, .tmp0y, .tmp0y, ._ }, |
| 17808 | .{ ._, .vp_q, .sub, .dst0y, .src0y, .src1y, ._ }, |
| 17809 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp0y, .dst0y }, |
| 17810 | } }, |
| 17811 | }, .{ |
| 17812 | .required_features = .{ .avx2, null, null, null }, |
| 17813 | .src_constraints = .{ |
| 17814 | .{ .multiple_scalar_exact_int = .{ .of = .yword, .is = 1 } }, |
| 17815 | .{ .multiple_scalar_exact_int = .{ .of = .yword, .is = 1 } }, |
| 17816 | .any, |
| 17817 | }, |
| 17818 | .patterns = &.{ |
| 17819 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17820 | }, |
| 17821 | .extra_temps = .{ |
| 17822 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17823 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 17824 | .unused, |
| 17825 | .unused, |
| 17826 | .unused, |
| 17827 | .unused, |
| 17828 | .unused, |
| 17829 | .unused, |
| 17830 | .unused, |
| 17831 | .unused, |
| 17832 | .unused, |
| 17833 | }, |
| 17834 | .dst_temps = .{ .mem, .unused }, |
| 17835 | .clobbers = .{ .eflags = true }, |
| 17836 | .each = .{ .once = &.{ |
| 17837 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 17838 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17839 | .{ ._, .vp_, .andn, .tmp1y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ }, |
| 17840 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 17841 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 17842 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17843 | } }, |
| 17844 | }, .{ |
| 17845 | .required_features = .{ .avx, null, null, null }, |
| 17846 | .src_constraints = .{ |
| 17847 | .{ .multiple_scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 17848 | .{ .multiple_scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 17849 | .any, |
| 17850 | }, |
| 17851 | .patterns = &.{ |
| 17852 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17853 | }, |
| 17854 | .extra_temps = .{ |
| 17855 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17856 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 17857 | .unused, |
| 17858 | .unused, |
| 17859 | .unused, |
| 17860 | .unused, |
| 17861 | .unused, |
| 17862 | .unused, |
| 17863 | .unused, |
| 17864 | .unused, |
| 17865 | .unused, |
| 17866 | }, |
| 17867 | .dst_temps = .{ .mem, .unused }, |
| 17868 | .clobbers = .{ .eflags = true }, |
| 17869 | .each = .{ .once = &.{ |
| 17870 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 17871 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17872 | .{ ._, .vp_, .andn, .tmp1x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ }, |
| 17873 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 17874 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17875 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17876 | } }, |
| 17877 | }, .{ |
| 17878 | .required_features = .{ .sse2, null, null, null }, |
| 17879 | .src_constraints = .{ |
| 17880 | .{ .multiple_scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 17881 | .{ .multiple_scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 17882 | .any, |
| 17883 | }, |
| 17884 | .patterns = &.{ |
| 17885 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17886 | }, |
| 17887 | .extra_temps = .{ |
| 17888 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17889 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 17890 | .unused, |
| 17891 | .unused, |
| 17892 | .unused, |
| 17893 | .unused, |
| 17894 | .unused, |
| 17895 | .unused, |
| 17896 | .unused, |
| 17897 | .unused, |
| 17898 | .unused, |
| 17899 | }, |
| 17900 | .dst_temps = .{ .mem, .unused }, |
| 17901 | .clobbers = .{ .eflags = true }, |
| 17902 | .each = .{ .once = &.{ |
| 17903 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 17904 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17905 | .{ ._, .p_, .andn, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17906 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 17907 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17908 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17909 | } }, |
| 17910 | }, .{ |
| 17911 | .required_features = .{ .sse, null, null, null }, |
| 17912 | .src_constraints = .{ |
| 17913 | .{ .multiple_scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 17914 | .{ .multiple_scalar_exact_int = .{ .of = .xword, .is = 1 } }, |
| 17915 | .any, |
| 17916 | }, |
| 17917 | .patterns = &.{ |
| 17918 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17919 | }, |
| 17920 | .extra_temps = .{ |
| 17921 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17922 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 17923 | .unused, |
| 17924 | .unused, |
| 17925 | .unused, |
| 17926 | .unused, |
| 17927 | .unused, |
| 17928 | .unused, |
| 17929 | .unused, |
| 17930 | .unused, |
| 17931 | .unused, |
| 17932 | }, |
| 17933 | .dst_temps = .{ .mem, .unused }, |
| 17934 | .clobbers = .{ .eflags = true }, |
| 17935 | .each = .{ .once = &.{ |
| 17936 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 17937 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17938 | .{ ._, ._ps, .andn, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17939 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 17940 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17941 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17942 | } }, |
| 17943 | }, .{ |
| 17944 | .required_features = .{ .mmx, null, null, null }, |
| 17945 | .src_constraints = .{ |
| 17946 | .{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 1 } }, |
| 17947 | .{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 1 } }, |
| 17948 | .any, |
| 17949 | }, |
| 17950 | .patterns = &.{ |
| 17951 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17952 | }, |
| 17953 | .extra_temps = .{ |
| 17954 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17955 | .{ .type = .vector_8_u8, .kind = .{ .rc = .mmx } }, |
| 17956 | .unused, |
| 17957 | .unused, |
| 17958 | .unused, |
| 17959 | .unused, |
| 17960 | .unused, |
| 17961 | .unused, |
| 17962 | .unused, |
| 17963 | .unused, |
| 17964 | .unused, |
| 17965 | }, |
| 17966 | .dst_temps = .{ .mem, .unused }, |
| 17967 | .clobbers = .{ .eflags = true }, |
| 17968 | .each = .{ .once = &.{ |
| 17969 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 17970 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17971 | .{ ._, .p_, .andn, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 17972 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 17973 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 17974 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17975 | } }, |
| 17976 | }, .{ |
| 17977 | .required_features = .{ .avx2, null, null, null }, |
| 17978 | .src_constraints = .{ |
| 17979 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 8 } }, |
| 17980 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 8 } }, |
| 17981 | .any, |
| 17982 | }, |
| 17983 | .patterns = &.{ |
| 17984 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17985 | }, |
| 17986 | .extra_temps = .{ |
| 17987 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17988 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| 17989 | .unused, |
| 17990 | .unused, |
| 17991 | .unused, |
| 17992 | .unused, |
| 17993 | .unused, |
| 17994 | .unused, |
| 17995 | .unused, |
| 17996 | .unused, |
| 17997 | .unused, |
| 17998 | }, |
| 17999 | .dst_temps = .{ .mem, .unused }, |
| 18000 | .clobbers = .{ .eflags = true }, |
| 18001 | .each = .{ .once = &.{ |
| 18002 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18003 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18004 | .{ ._, .vp_b, .subs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 18005 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 18006 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18007 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18008 | } }, |
| 18009 | }, .{ |
| 18010 | .required_features = .{ .avx, null, null, null }, |
| 18011 | .src_constraints = .{ |
| 18012 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 18013 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 18014 | .any, |
| 18015 | }, |
| 18016 | .patterns = &.{ |
| 18017 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18018 | }, |
| 18019 | .extra_temps = .{ |
| 18020 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18021 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18022 | .unused, |
| 18023 | .unused, |
| 18024 | .unused, |
| 18025 | .unused, |
| 18026 | .unused, |
| 18027 | .unused, |
| 18028 | .unused, |
| 18029 | .unused, |
| 18030 | .unused, |
| 18031 | }, |
| 18032 | .dst_temps = .{ .mem, .unused }, |
| 18033 | .clobbers = .{ .eflags = true }, |
| 18034 | .each = .{ .once = &.{ |
| 18035 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18036 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18037 | .{ ._, .vp_b, .subs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 18038 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 18039 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18040 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18041 | } }, |
| 18042 | }, .{ |
| 18043 | .required_features = .{ .sse2, null, null, null }, |
| 18044 | .src_constraints = .{ |
| 18045 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 18046 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 8 } }, |
| 18047 | .any, |
| 18048 | }, |
| 18049 | .patterns = &.{ |
| 18050 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18051 | }, |
| 18052 | .extra_temps = .{ |
| 18053 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18054 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18055 | .unused, |
| 18056 | .unused, |
| 18057 | .unused, |
| 18058 | .unused, |
| 18059 | .unused, |
| 18060 | .unused, |
| 18061 | .unused, |
| 18062 | .unused, |
| 18063 | .unused, |
| 18064 | }, |
| 18065 | .dst_temps = .{ .mem, .unused }, |
| 18066 | .clobbers = .{ .eflags = true }, |
| 18067 | .each = .{ .once = &.{ |
| 18068 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18069 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18070 | .{ ._, .p_b, .subs, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18071 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 18072 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18073 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18074 | } }, |
| 18075 | }, .{ |
| 18076 | .required_features = .{ .mmx, null, null, null }, |
| 18077 | .src_constraints = .{ |
| 18078 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 8 } }, |
| 18079 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 8 } }, |
| 18080 | .any, |
| 18081 | }, |
| 18082 | .patterns = &.{ |
| 18083 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18084 | }, |
| 18085 | .extra_temps = .{ |
| 18086 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18087 | .{ .type = .vector_8_i8, .kind = .{ .rc = .mmx } }, |
| 18088 | .unused, |
| 18089 | .unused, |
| 18090 | .unused, |
| 18091 | .unused, |
| 18092 | .unused, |
| 18093 | .unused, |
| 18094 | .unused, |
| 18095 | .unused, |
| 18096 | .unused, |
| 18097 | }, |
| 18098 | .dst_temps = .{ .mem, .unused }, |
| 18099 | .clobbers = .{ .eflags = true }, |
| 18100 | .each = .{ .once = &.{ |
| 18101 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18102 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18103 | .{ ._, .p_b, .subs, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18104 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 18105 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 18106 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18107 | } }, |
| 18108 | }, .{ |
| 18109 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 18110 | .src_constraints = .{ |
| 18111 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18112 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18113 | .any, |
| 18114 | }, |
| 18115 | .patterns = &.{ |
| 18116 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18117 | }, |
| 18118 | .extra_temps = .{ |
| 18119 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18120 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18121 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18122 | .unused, |
| 18123 | .unused, |
| 18124 | .unused, |
| 18125 | .unused, |
| 18126 | .unused, |
| 18127 | .unused, |
| 18128 | .unused, |
| 18129 | .unused, |
| 18130 | }, |
| 18131 | .dst_temps = .{ .mem, .unused }, |
| 18132 | .clobbers = .{ .eflags = true }, |
| 18133 | .each = .{ .once = &.{ |
| 18134 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18135 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18136 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 18137 | .{ ._, ._r, .sa, .tmp2b, .ui(7), ._, ._ }, |
| 18138 | .{ ._, ._, .xor, .tmp2b, .sa(.src0, .add_smax), ._, ._ }, |
| 18139 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18140 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 18141 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18142 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 18143 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18144 | } }, |
| 18145 | }, .{ |
| 18146 | .required_features = .{ .cmov, null, null, null }, |
| 18147 | .src_constraints = .{ |
| 18148 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18149 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18150 | .any, |
| 18151 | }, |
| 18152 | .patterns = &.{ |
| 18153 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18154 | }, |
| 18155 | .extra_temps = .{ |
| 18156 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18157 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18158 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18159 | .unused, |
| 18160 | .unused, |
| 18161 | .unused, |
| 18162 | .unused, |
| 18163 | .unused, |
| 18164 | .unused, |
| 18165 | .unused, |
| 18166 | .unused, |
| 18167 | }, |
| 18168 | .dst_temps = .{ .mem, .unused }, |
| 18169 | .clobbers = .{ .eflags = true }, |
| 18170 | .each = .{ .once = &.{ |
| 18171 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18172 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18173 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 18174 | .{ ._, ._r, .sa, .tmp2b, .ui(7), ._, ._ }, |
| 18175 | .{ ._, ._, .xor, .tmp2b, .sa(.src0, .add_smax), ._, ._ }, |
| 18176 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18177 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 18178 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18179 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 18180 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 18181 | } }, |
| 18182 | }, .{ |
| 18183 | .required_features = .{ .slow_incdec, null, null, null }, |
| 18184 | .src_constraints = .{ |
| 18185 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18186 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18187 | .any, |
| 18188 | }, |
| 18189 | .patterns = &.{ |
| 18190 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18191 | }, |
| 18192 | .extra_temps = .{ |
| 18193 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18194 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18195 | .unused, |
| 18196 | .unused, |
| 18197 | .unused, |
| 18198 | .unused, |
| 18199 | .unused, |
| 18200 | .unused, |
| 18201 | .unused, |
| 18202 | .unused, |
| 18203 | .unused, |
| 18204 | }, |
| 18205 | .dst_temps = .{ .mem, .unused }, |
| 18206 | .clobbers = .{ .eflags = true }, |
| 18207 | .each = .{ .once = &.{ |
| 18208 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18209 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18210 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18211 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 18212 | .{ ._, ._r, .sa, .tmp1b, .ui(7), ._, ._ }, |
| 18213 | .{ ._, ._, .xor, .tmp1b, .sa(.src0, .add_smin), ._, ._ }, |
| 18214 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18215 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 18216 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18217 | } }, |
| 18218 | }, .{ |
| 18219 | .src_constraints = .{ |
| 18220 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18221 | .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 8 } }, |
| 18222 | .any, |
| 18223 | }, |
| 18224 | .patterns = &.{ |
| 18225 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18226 | }, |
| 18227 | .extra_temps = .{ |
| 18228 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18229 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18230 | .unused, |
| 18231 | .unused, |
| 18232 | .unused, |
| 18233 | .unused, |
| 18234 | .unused, |
| 18235 | .unused, |
| 18236 | .unused, |
| 18237 | .unused, |
| 18238 | .unused, |
| 18239 | }, |
| 18240 | .dst_temps = .{ .mem, .unused }, |
| 18241 | .clobbers = .{ .eflags = true }, |
| 18242 | .each = .{ .once = &.{ |
| 18243 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18244 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18245 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18246 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 18247 | .{ ._, ._r, .sa, .tmp1b, .ui(7), ._, ._ }, |
| 18248 | .{ ._, ._, .xor, .tmp1b, .sa(.src0, .add_smin), ._, ._ }, |
| 18249 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18250 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 18251 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 18252 | } }, |
| 18253 | }, .{ |
| 18254 | .required_features = .{ .avx2, null, null, null }, |
| 18255 | .src_constraints = .{ |
| 18256 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 18257 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 18258 | .any, |
| 18259 | }, |
| 18260 | .patterns = &.{ |
| 18261 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18262 | }, |
| 18263 | .extra_temps = .{ |
| 18264 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18265 | .{ .type = .i8, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 18266 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| 18267 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| 18268 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| 18269 | .unused, |
| 18270 | .unused, |
| 18271 | .unused, |
| 18272 | .unused, |
| 18273 | .unused, |
| 18274 | .unused, |
| 18275 | }, |
| 18276 | .dst_temps = .{ .mem, .unused }, |
| 18277 | .clobbers = .{ .eflags = true }, |
| 18278 | .each = .{ .once = &.{ |
| 18279 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 18280 | .{ ._, .vp_b, .cmpeq, .tmp2y, .tmp2y, .tmp2y, ._ }, |
| 18281 | .{ ._, .vp_b, .broadcast, .tmp3y, .lea(.tmp0b), ._, ._ }, |
| 18282 | .{ ._, .vp_, .xor, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 18283 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18284 | .{ .@"0:", .v_dqa, .mov, .tmp4y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18285 | .{ ._, .vp_b, .sub, .tmp4y, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 18286 | .{ ._, .vp_b, .maxs, .tmp4y, .tmp4y, .tmp3y, ._ }, |
| 18287 | .{ ._, .vp_b, .mins, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| 18288 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp4y, ._, ._ }, |
| 18289 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18290 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18291 | } }, |
| 18292 | }, .{ |
| 18293 | .required_features = .{ .avx, null, null, null }, |
| 18294 | .src_constraints = .{ |
| 18295 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 18296 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 18297 | .any, |
| 18298 | }, |
| 18299 | .patterns = &.{ |
| 18300 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18301 | }, |
| 18302 | .extra_temps = .{ |
| 18303 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18304 | .{ .type = .vector_16_i8, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 18305 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18306 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18307 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18308 | .unused, |
| 18309 | .unused, |
| 18310 | .unused, |
| 18311 | .unused, |
| 18312 | .unused, |
| 18313 | .unused, |
| 18314 | }, |
| 18315 | .dst_temps = .{ .mem, .unused }, |
| 18316 | .clobbers = .{ .eflags = true }, |
| 18317 | .each = .{ .once = &.{ |
| 18318 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 18319 | .{ ._, .vp_b, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 18320 | .{ ._, .v_dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ }, |
| 18321 | .{ ._, .vp_, .xor, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 18322 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18323 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18324 | .{ ._, .vp_b, .sub, .tmp4x, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 18325 | .{ ._, .vp_b, .maxs, .tmp4x, .tmp4x, .tmp3x, ._ }, |
| 18326 | .{ ._, .vp_b, .mins, .tmp4x, .tmp4x, .tmp2x, ._ }, |
| 18327 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 18328 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18329 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18330 | } }, |
| 18331 | }, .{ |
| 18332 | .required_features = .{ .sse4_1, null, null, null }, |
| 18333 | .src_constraints = .{ |
| 18334 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 18335 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 18336 | .any, |
| 18337 | }, |
| 18338 | .patterns = &.{ |
| 18339 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18340 | }, |
| 18341 | .extra_temps = .{ |
| 18342 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18343 | .{ .type = .vector_16_i8, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 18344 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18345 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18346 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18347 | .unused, |
| 18348 | .unused, |
| 18349 | .unused, |
| 18350 | .unused, |
| 18351 | .unused, |
| 18352 | .unused, |
| 18353 | }, |
| 18354 | .dst_temps = .{ .mem, .unused }, |
| 18355 | .clobbers = .{ .eflags = true }, |
| 18356 | .each = .{ .once = &.{ |
| 18357 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 18358 | .{ ._, .p_b, .cmpeq, .tmp2x, .tmp2x, ._, ._ }, |
| 18359 | .{ ._, ._dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ }, |
| 18360 | .{ ._, .p_, .xor, .tmp2x, .tmp3x, ._, ._ }, |
| 18361 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18362 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18363 | .{ ._, .p_b, .sub, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18364 | .{ ._, .p_b, .maxs, .tmp4x, .tmp3x, ._, ._ }, |
| 18365 | .{ ._, .p_b, .mins, .tmp4x, .tmp2x, ._, ._ }, |
| 18366 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 18367 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18368 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18369 | } }, |
| 18370 | }, .{ |
| 18371 | .required_features = .{ .sse2, null, null, null }, |
| 18372 | .src_constraints = .{ |
| 18373 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 18374 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 18375 | .any, |
| 18376 | }, |
| 18377 | .patterns = &.{ |
| 18378 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18379 | }, |
| 18380 | .extra_temps = .{ |
| 18381 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18382 | .{ .type = .vector_16_i8, .kind = .{ .slimit_delta_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 18383 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18384 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 18385 | .unused, |
| 18386 | .unused, |
| 18387 | .unused, |
| 18388 | .unused, |
| 18389 | .unused, |
| 18390 | .unused, |
| 18391 | .unused, |
| 18392 | }, |
| 18393 | .dst_temps = .{ .mem, .unused }, |
| 18394 | .clobbers = .{ .eflags = true }, |
| 18395 | .each = .{ .once = &.{ |
| 18396 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 18397 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 18398 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18399 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18400 | .{ ._, .p_b, .sub, .tmp3x, .tmp2x, ._, ._ }, |
| 18401 | .{ ._, .p_b, .subs, .tmp3x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18402 | .{ ._, .p_b, .add, .tmp3x, .tmp2x, ._, ._ }, |
| 18403 | .{ ._, .p_b, .adds, .tmp3x, .tmp2x, ._, ._ }, |
| 18404 | .{ ._, .p_b, .sub, .tmp3x, .tmp2x, ._, ._ }, |
| 18405 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, |
| 18406 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18407 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18408 | } }, |
| 18409 | }, .{ |
| 18410 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 18411 | .src_constraints = .{ |
| 18412 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18413 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18414 | .any, |
| 18415 | }, |
| 18416 | .patterns = &.{ |
| 18417 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18418 | }, |
| 18419 | .extra_temps = .{ |
| 18420 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18421 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18422 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18423 | .unused, |
| 18424 | .unused, |
| 18425 | .unused, |
| 18426 | .unused, |
| 18427 | .unused, |
| 18428 | .unused, |
| 18429 | .unused, |
| 18430 | .unused, |
| 18431 | }, |
| 18432 | .dst_temps = .{ .mem, .unused }, |
| 18433 | .clobbers = .{ .eflags = true }, |
| 18434 | .each = .{ .once = &.{ |
| 18435 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18436 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18437 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 18438 | .{ ._, ._r, .sa, .tmp2b, .ui(7), ._, ._ }, |
| 18439 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18440 | .{ ._, ._, .xor, .tmp2b, .sa(.src0, .add_smax), ._, ._ }, |
| 18441 | .{ ._, ._, .@"test", .tmp1b, .sia(-1 << 7, .src0, .sub_smin), ._, ._ }, |
| 18442 | .{ ._, ._po, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 18443 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18444 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 18445 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18446 | } }, |
| 18447 | }, .{ |
| 18448 | .required_features = .{ .cmov, null, null, null }, |
| 18449 | .src_constraints = .{ |
| 18450 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18451 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18452 | .any, |
| 18453 | }, |
| 18454 | .patterns = &.{ |
| 18455 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18456 | }, |
| 18457 | .extra_temps = .{ |
| 18458 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18459 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18460 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18461 | .unused, |
| 18462 | .unused, |
| 18463 | .unused, |
| 18464 | .unused, |
| 18465 | .unused, |
| 18466 | .unused, |
| 18467 | .unused, |
| 18468 | .unused, |
| 18469 | }, |
| 18470 | .dst_temps = .{ .mem, .unused }, |
| 18471 | .clobbers = .{ .eflags = true }, |
| 18472 | .each = .{ .once = &.{ |
| 18473 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18474 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18475 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 18476 | .{ ._, ._r, .sa, .tmp2b, .ui(7), ._, ._ }, |
| 18477 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18478 | .{ ._, ._, .xor, .tmp2b, .sa(.src0, .add_smax), ._, ._ }, |
| 18479 | .{ ._, ._, .@"test", .tmp1b, .sia(-1 << 7, .src0, .sub_smin), ._, ._ }, |
| 18480 | .{ ._, ._po, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 18481 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18482 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 18483 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 18484 | } }, |
| 18485 | }, .{ |
| 18486 | .required_features = .{ .slow_incdec, null, null, null }, |
| 18487 | .src_constraints = .{ |
| 18488 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18489 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18490 | .any, |
| 18491 | }, |
| 18492 | .patterns = &.{ |
| 18493 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18494 | }, |
| 18495 | .extra_temps = .{ |
| 18496 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18497 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18498 | .unused, |
| 18499 | .unused, |
| 18500 | .unused, |
| 18501 | .unused, |
| 18502 | .unused, |
| 18503 | .unused, |
| 18504 | .unused, |
| 18505 | .unused, |
| 18506 | .unused, |
| 18507 | }, |
| 18508 | .dst_temps = .{ .mem, .unused }, |
| 18509 | .clobbers = .{ .eflags = true }, |
| 18510 | .each = .{ .once = &.{ |
| 18511 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18512 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18513 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18514 | .{ ._, ._, .@"test", .tmp1b, .sia(-1 << 7, .src0, .sub_smin), ._, ._ }, |
| 18515 | .{ ._, ._pe, .j, .@"1f", ._, ._, ._ }, |
| 18516 | .{ ._, ._r, .sa, .tmp1b, .ui(7), ._, ._ }, |
| 18517 | .{ ._, ._, .xor, .tmp1b, .sa(.src0, .add_smax), ._, ._ }, |
| 18518 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18519 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 18520 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18521 | } }, |
| 18522 | }, .{ |
| 18523 | .src_constraints = .{ |
| 18524 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18525 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 18526 | .any, |
| 18527 | }, |
| 18528 | .patterns = &.{ |
| 18529 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18530 | }, |
| 18531 | .extra_temps = .{ |
| 18532 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18533 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 18534 | .unused, |
| 18535 | .unused, |
| 18536 | .unused, |
| 18537 | .unused, |
| 18538 | .unused, |
| 18539 | .unused, |
| 18540 | .unused, |
| 18541 | .unused, |
| 18542 | .unused, |
| 18543 | }, |
| 18544 | .dst_temps = .{ .mem, .unused }, |
| 18545 | .clobbers = .{ .eflags = true }, |
| 18546 | .each = .{ .once = &.{ |
| 18547 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18548 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18549 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18550 | .{ ._, ._, .@"test", .tmp1b, .sia(-1 << 7, .src0, .sub_smin), ._, ._ }, |
| 18551 | .{ ._, ._pe, .j, .@"1f", ._, ._, ._ }, |
| 18552 | .{ ._, ._r, .sa, .tmp1b, .ui(7), ._, ._ }, |
| 18553 | .{ ._, ._, .xor, .tmp1b, .sa(.src0, .add_smax), ._, ._ }, |
| 18554 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18555 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 18556 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 18557 | } }, |
| 18558 | }, .{ |
| 18559 | .required_features = .{ .avx2, null, null, null }, |
| 18560 | .src_constraints = .{ |
| 18561 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, |
| 18562 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, |
| 18563 | .any, |
| 18564 | }, |
| 18565 | .patterns = &.{ |
| 18566 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18567 | }, |
| 18568 | .extra_temps = .{ |
| 18569 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18570 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 18571 | .unused, |
| 18572 | .unused, |
| 18573 | .unused, |
| 18574 | .unused, |
| 18575 | .unused, |
| 18576 | .unused, |
| 18577 | .unused, |
| 18578 | .unused, |
| 18579 | .unused, |
| 18580 | }, |
| 18581 | .dst_temps = .{ .mem, .unused }, |
| 18582 | .clobbers = .{ .eflags = true }, |
| 18583 | .each = .{ .once = &.{ |
| 18584 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18585 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18586 | .{ ._, .vp_b, .subus, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 18587 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 18588 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18589 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18590 | } }, |
| 18591 | }, .{ |
| 18592 | .required_features = .{ .avx, null, null, null }, |
| 18593 | .src_constraints = .{ |
| 18594 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 18595 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 18596 | .any, |
| 18597 | }, |
| 18598 | .patterns = &.{ |
| 18599 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18600 | }, |
| 18601 | .extra_temps = .{ |
| 18602 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18603 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 18604 | .unused, |
| 18605 | .unused, |
| 18606 | .unused, |
| 18607 | .unused, |
| 18608 | .unused, |
| 18609 | .unused, |
| 18610 | .unused, |
| 18611 | .unused, |
| 18612 | .unused, |
| 18613 | }, |
| 18614 | .dst_temps = .{ .mem, .unused }, |
| 18615 | .clobbers = .{ .eflags = true }, |
| 18616 | .each = .{ .once = &.{ |
| 18617 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18618 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18619 | .{ ._, .vp_b, .subus, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 18620 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 18621 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18622 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18623 | } }, |
| 18624 | }, .{ |
| 18625 | .required_features = .{ .sse2, null, null, null }, |
| 18626 | .src_constraints = .{ |
| 18627 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 18628 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 18629 | .any, |
| 18630 | }, |
| 18631 | .patterns = &.{ |
| 18632 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18633 | }, |
| 18634 | .extra_temps = .{ |
| 18635 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18636 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 18637 | .unused, |
| 18638 | .unused, |
| 18639 | .unused, |
| 18640 | .unused, |
| 18641 | .unused, |
| 18642 | .unused, |
| 18643 | .unused, |
| 18644 | .unused, |
| 18645 | .unused, |
| 18646 | }, |
| 18647 | .dst_temps = .{ .mem, .unused }, |
| 18648 | .clobbers = .{ .eflags = true }, |
| 18649 | .each = .{ .once = &.{ |
| 18650 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18651 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18652 | .{ ._, .p_b, .subus, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18653 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 18654 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18655 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18656 | } }, |
| 18657 | }, .{ |
| 18658 | .required_features = .{ .mmx, null, null, null }, |
| 18659 | .src_constraints = .{ |
| 18660 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 18661 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 18662 | .any, |
| 18663 | }, |
| 18664 | .patterns = &.{ |
| 18665 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18666 | }, |
| 18667 | .extra_temps = .{ |
| 18668 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18669 | .{ .type = .vector_8_u8, .kind = .{ .rc = .mmx } }, |
| 18670 | .unused, |
| 18671 | .unused, |
| 18672 | .unused, |
| 18673 | .unused, |
| 18674 | .unused, |
| 18675 | .unused, |
| 18676 | .unused, |
| 18677 | .unused, |
| 18678 | .unused, |
| 18679 | }, |
| 18680 | .dst_temps = .{ .mem, .unused }, |
| 18681 | .clobbers = .{ .eflags = true }, |
| 18682 | .each = .{ .once = &.{ |
| 18683 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18684 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18685 | .{ ._, .p_b, .subus, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18686 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 18687 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 18688 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18689 | } }, |
| 18690 | }, .{ |
| 18691 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 18692 | .src_constraints = .{ |
| 18693 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18694 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18695 | .any, |
| 18696 | }, |
| 18697 | .patterns = &.{ |
| 18698 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18699 | }, |
| 18700 | .extra_temps = .{ |
| 18701 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18702 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18703 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18704 | .unused, |
| 18705 | .unused, |
| 18706 | .unused, |
| 18707 | .unused, |
| 18708 | .unused, |
| 18709 | .unused, |
| 18710 | .unused, |
| 18711 | .unused, |
| 18712 | }, |
| 18713 | .dst_temps = .{ .mem, .unused }, |
| 18714 | .clobbers = .{ .eflags = true }, |
| 18715 | .each = .{ .once = &.{ |
| 18716 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18717 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 18718 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18719 | .{ ._, ._, .sub, .tmp2b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18720 | .{ ._, ._c, .cmov, .tmp2d, .tmp1d, ._, ._ }, |
| 18721 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, |
| 18722 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 18723 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18724 | } }, |
| 18725 | }, .{ |
| 18726 | .required_features = .{ .cmov, null, null, null }, |
| 18727 | .src_constraints = .{ |
| 18728 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18729 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18730 | .any, |
| 18731 | }, |
| 18732 | .patterns = &.{ |
| 18733 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18734 | }, |
| 18735 | .extra_temps = .{ |
| 18736 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18737 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18738 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18739 | .unused, |
| 18740 | .unused, |
| 18741 | .unused, |
| 18742 | .unused, |
| 18743 | .unused, |
| 18744 | .unused, |
| 18745 | .unused, |
| 18746 | .unused, |
| 18747 | }, |
| 18748 | .dst_temps = .{ .mem, .unused }, |
| 18749 | .clobbers = .{ .eflags = true }, |
| 18750 | .each = .{ .once = &.{ |
| 18751 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18752 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 18753 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18754 | .{ ._, ._, .sub, .tmp2b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18755 | .{ ._, ._c, .cmov, .tmp2d, .tmp1d, ._, ._ }, |
| 18756 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, |
| 18757 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 18758 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 18759 | } }, |
| 18760 | }, .{ |
| 18761 | .required_features = .{ .slow_incdec, null, null, null }, |
| 18762 | .src_constraints = .{ |
| 18763 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18764 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18765 | .any, |
| 18766 | }, |
| 18767 | .patterns = &.{ |
| 18768 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18769 | }, |
| 18770 | .extra_temps = .{ |
| 18771 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18772 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18773 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18774 | .unused, |
| 18775 | .unused, |
| 18776 | .unused, |
| 18777 | .unused, |
| 18778 | .unused, |
| 18779 | .unused, |
| 18780 | .unused, |
| 18781 | .unused, |
| 18782 | }, |
| 18783 | .dst_temps = .{ .mem, .unused }, |
| 18784 | .clobbers = .{ .eflags = true }, |
| 18785 | .each = .{ .once = &.{ |
| 18786 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18787 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18788 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18789 | .{ ._, ._, .cmc, ._, ._, ._, ._ }, |
| 18790 | .{ ._, ._, .sbb, .tmp2d, .tmp2d, ._, ._ }, |
| 18791 | .{ ._, ._, .@"and", .tmp1b, .tmp2b, ._, ._ }, |
| 18792 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18793 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 18794 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18795 | } }, |
| 18796 | }, .{ |
| 18797 | .src_constraints = .{ |
| 18798 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18799 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 18800 | .any, |
| 18801 | }, |
| 18802 | .patterns = &.{ |
| 18803 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18804 | }, |
| 18805 | .extra_temps = .{ |
| 18806 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18807 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18808 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 18809 | .unused, |
| 18810 | .unused, |
| 18811 | .unused, |
| 18812 | .unused, |
| 18813 | .unused, |
| 18814 | .unused, |
| 18815 | .unused, |
| 18816 | .unused, |
| 18817 | }, |
| 18818 | .dst_temps = .{ .mem, .unused }, |
| 18819 | .clobbers = .{ .eflags = true }, |
| 18820 | .each = .{ .once = &.{ |
| 18821 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18822 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18823 | .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18824 | .{ ._, ._, .cmc, ._, ._, ._, ._ }, |
| 18825 | .{ ._, ._, .sbb, .tmp2d, .tmp2d, ._, ._ }, |
| 18826 | .{ ._, ._, .@"and", .tmp1b, .tmp2b, ._, ._ }, |
| 18827 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 18828 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 18829 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 18830 | } }, |
| 18831 | }, .{ |
| 18832 | .required_features = .{ .avx2, null, null, null }, |
| 18833 | .src_constraints = .{ |
| 18834 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 16 } }, |
| 18835 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 16 } }, |
| 18836 | .any, |
| 18837 | }, |
| 18838 | .patterns = &.{ |
| 18839 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18840 | }, |
| 18841 | .extra_temps = .{ |
| 18842 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18843 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 18844 | .unused, |
| 18845 | .unused, |
| 18846 | .unused, |
| 18847 | .unused, |
| 18848 | .unused, |
| 18849 | .unused, |
| 18850 | .unused, |
| 18851 | .unused, |
| 18852 | .unused, |
| 18853 | }, |
| 18854 | .dst_temps = .{ .mem, .unused }, |
| 18855 | .clobbers = .{ .eflags = true }, |
| 18856 | .each = .{ .once = &.{ |
| 18857 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18858 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18859 | .{ ._, .vp_w, .subs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 18860 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 18861 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18862 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18863 | } }, |
| 18864 | }, .{ |
| 18865 | .required_features = .{ .avx, null, null, null }, |
| 18866 | .src_constraints = .{ |
| 18867 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 18868 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 18869 | .any, |
| 18870 | }, |
| 18871 | .patterns = &.{ |
| 18872 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18873 | }, |
| 18874 | .extra_temps = .{ |
| 18875 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18876 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 18877 | .unused, |
| 18878 | .unused, |
| 18879 | .unused, |
| 18880 | .unused, |
| 18881 | .unused, |
| 18882 | .unused, |
| 18883 | .unused, |
| 18884 | .unused, |
| 18885 | .unused, |
| 18886 | }, |
| 18887 | .dst_temps = .{ .mem, .unused }, |
| 18888 | .clobbers = .{ .eflags = true }, |
| 18889 | .each = .{ .once = &.{ |
| 18890 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18891 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18892 | .{ ._, .vp_w, .subs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 18893 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 18894 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18895 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18896 | } }, |
| 18897 | }, .{ |
| 18898 | .required_features = .{ .sse2, null, null, null }, |
| 18899 | .src_constraints = .{ |
| 18900 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 18901 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 16 } }, |
| 18902 | .any, |
| 18903 | }, |
| 18904 | .patterns = &.{ |
| 18905 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18906 | }, |
| 18907 | .extra_temps = .{ |
| 18908 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18909 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 18910 | .unused, |
| 18911 | .unused, |
| 18912 | .unused, |
| 18913 | .unused, |
| 18914 | .unused, |
| 18915 | .unused, |
| 18916 | .unused, |
| 18917 | .unused, |
| 18918 | .unused, |
| 18919 | }, |
| 18920 | .dst_temps = .{ .mem, .unused }, |
| 18921 | .clobbers = .{ .eflags = true }, |
| 18922 | .each = .{ .once = &.{ |
| 18923 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18924 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18925 | .{ ._, .p_w, .subs, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18926 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 18927 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18928 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18929 | } }, |
| 18930 | }, .{ |
| 18931 | .required_features = .{ .cmov, .fast_imm16, null, null }, |
| 18932 | .src_constraints = .{ |
| 18933 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 18934 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 18935 | .any, |
| 18936 | }, |
| 18937 | .patterns = &.{ |
| 18938 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18939 | }, |
| 18940 | .extra_temps = .{ |
| 18941 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18942 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 18943 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 18944 | .unused, |
| 18945 | .unused, |
| 18946 | .unused, |
| 18947 | .unused, |
| 18948 | .unused, |
| 18949 | .unused, |
| 18950 | .unused, |
| 18951 | .unused, |
| 18952 | }, |
| 18953 | .dst_temps = .{ .mem, .unused }, |
| 18954 | .clobbers = .{ .eflags = true }, |
| 18955 | .each = .{ .once = &.{ |
| 18956 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18957 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18958 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 18959 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 18960 | .{ ._, ._, .xor, .tmp2w, .sa(.src0, .add_smax), ._, ._ }, |
| 18961 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18962 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 18963 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 18964 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 18965 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18966 | } }, |
| 18967 | }, .{ |
| 18968 | .required_features = .{ .cmov, null, null, null }, |
| 18969 | .src_constraints = .{ |
| 18970 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 18971 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 18972 | .any, |
| 18973 | }, |
| 18974 | .patterns = &.{ |
| 18975 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18976 | }, |
| 18977 | .extra_temps = .{ |
| 18978 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18979 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 18980 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 18981 | .unused, |
| 18982 | .unused, |
| 18983 | .unused, |
| 18984 | .unused, |
| 18985 | .unused, |
| 18986 | .unused, |
| 18987 | .unused, |
| 18988 | .unused, |
| 18989 | }, |
| 18990 | .dst_temps = .{ .mem, .unused }, |
| 18991 | .clobbers = .{ .eflags = true }, |
| 18992 | .each = .{ .once = &.{ |
| 18993 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18994 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18995 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 18996 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 18997 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 18998 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18999 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19000 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19001 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19002 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19003 | } }, |
| 19004 | }, .{ |
| 19005 | .required_features = .{ .fast_imm16, null, null, null }, |
| 19006 | .src_constraints = .{ |
| 19007 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 19008 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 19009 | .any, |
| 19010 | }, |
| 19011 | .patterns = &.{ |
| 19012 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19013 | }, |
| 19014 | .extra_temps = .{ |
| 19015 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19016 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19017 | .unused, |
| 19018 | .unused, |
| 19019 | .unused, |
| 19020 | .unused, |
| 19021 | .unused, |
| 19022 | .unused, |
| 19023 | .unused, |
| 19024 | .unused, |
| 19025 | .unused, |
| 19026 | }, |
| 19027 | .dst_temps = .{ .mem, .unused }, |
| 19028 | .clobbers = .{ .eflags = true }, |
| 19029 | .each = .{ .once = &.{ |
| 19030 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19031 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19032 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19033 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 19034 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 19035 | .{ ._, ._, .xor, .tmp1w, .sa(.src0, .add_smax), ._, ._ }, |
| 19036 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19037 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19038 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19039 | } }, |
| 19040 | }, .{ |
| 19041 | .src_constraints = .{ |
| 19042 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 19043 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 16 } }, |
| 19044 | .any, |
| 19045 | }, |
| 19046 | .patterns = &.{ |
| 19047 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19048 | }, |
| 19049 | .extra_temps = .{ |
| 19050 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19051 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19052 | .unused, |
| 19053 | .unused, |
| 19054 | .unused, |
| 19055 | .unused, |
| 19056 | .unused, |
| 19057 | .unused, |
| 19058 | .unused, |
| 19059 | .unused, |
| 19060 | .unused, |
| 19061 | }, |
| 19062 | .dst_temps = .{ .mem, .unused }, |
| 19063 | .clobbers = .{ .eflags = true }, |
| 19064 | .each = .{ .once = &.{ |
| 19065 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19066 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19067 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19068 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 19069 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 19070 | .{ ._, ._, .xor, .tmp1d, .sa(.src0, .add_smax), ._, ._ }, |
| 19071 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19072 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19073 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19074 | } }, |
| 19075 | }, .{ |
| 19076 | .required_features = .{ .avx2, null, null, null }, |
| 19077 | .src_constraints = .{ |
| 19078 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 19079 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 19080 | .any, |
| 19081 | }, |
| 19082 | .patterns = &.{ |
| 19083 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19084 | }, |
| 19085 | .extra_temps = .{ |
| 19086 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19087 | .{ .type = .i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 19088 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 19089 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 19090 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 19091 | .unused, |
| 19092 | .unused, |
| 19093 | .unused, |
| 19094 | .unused, |
| 19095 | .unused, |
| 19096 | .unused, |
| 19097 | }, |
| 19098 | .dst_temps = .{ .mem, .unused }, |
| 19099 | .clobbers = .{ .eflags = true }, |
| 19100 | .each = .{ .once = &.{ |
| 19101 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 19102 | .{ ._, .vp_w, .cmpeq, .tmp2y, .tmp2y, .tmp2y, ._ }, |
| 19103 | .{ ._, .vp_w, .broadcast, .tmp3y, .lea(.tmp0w), ._, ._ }, |
| 19104 | .{ ._, .vp_, .xor, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 19105 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19106 | .{ .@"0:", .v_dqa, .mov, .tmp4y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19107 | .{ ._, .vp_w, .sub, .tmp4y, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 19108 | .{ ._, .vp_w, .maxs, .tmp4y, .tmp4y, .tmp3y, ._ }, |
| 19109 | .{ ._, .vp_w, .mins, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| 19110 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp4y, ._, ._ }, |
| 19111 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 19112 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19113 | } }, |
| 19114 | }, .{ |
| 19115 | .required_features = .{ .avx, null, null, null }, |
| 19116 | .src_constraints = .{ |
| 19117 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 19118 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 19119 | .any, |
| 19120 | }, |
| 19121 | .patterns = &.{ |
| 19122 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19123 | }, |
| 19124 | .extra_temps = .{ |
| 19125 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19126 | .{ .type = .vector_8_i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 19127 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 19128 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 19129 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 19130 | .unused, |
| 19131 | .unused, |
| 19132 | .unused, |
| 19133 | .unused, |
| 19134 | .unused, |
| 19135 | .unused, |
| 19136 | }, |
| 19137 | .dst_temps = .{ .mem, .unused }, |
| 19138 | .clobbers = .{ .eflags = true }, |
| 19139 | .each = .{ .once = &.{ |
| 19140 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 19141 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 19142 | .{ ._, .v_dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ }, |
| 19143 | .{ ._, .vp_, .xor, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 19144 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19145 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19146 | .{ ._, .vp_w, .sub, .tmp4x, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 19147 | .{ ._, .vp_w, .maxs, .tmp4x, .tmp4x, .tmp3x, ._ }, |
| 19148 | .{ ._, .vp_w, .mins, .tmp4x, .tmp4x, .tmp2x, ._ }, |
| 19149 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 19150 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19151 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19152 | } }, |
| 19153 | }, .{ |
| 19154 | .required_features = .{ .sse2, null, null, null }, |
| 19155 | .src_constraints = .{ |
| 19156 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 19157 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 19158 | .any, |
| 19159 | }, |
| 19160 | .patterns = &.{ |
| 19161 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19162 | }, |
| 19163 | .extra_temps = .{ |
| 19164 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19165 | .{ .type = .vector_8_i16, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 19166 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 19167 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 19168 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 19169 | .unused, |
| 19170 | .unused, |
| 19171 | .unused, |
| 19172 | .unused, |
| 19173 | .unused, |
| 19174 | .unused, |
| 19175 | }, |
| 19176 | .dst_temps = .{ .mem, .unused }, |
| 19177 | .clobbers = .{ .eflags = true }, |
| 19178 | .each = .{ .once = &.{ |
| 19179 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 19180 | .{ ._, .p_w, .cmpeq, .tmp2x, .tmp2x, ._, ._ }, |
| 19181 | .{ ._, ._dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ }, |
| 19182 | .{ ._, .p_, .xor, .tmp2x, .tmp3x, ._, ._ }, |
| 19183 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19184 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19185 | .{ ._, .p_w, .sub, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19186 | .{ ._, .p_w, .maxs, .tmp4x, .tmp3x, ._, ._ }, |
| 19187 | .{ ._, .p_w, .mins, .tmp4x, .tmp2x, ._, ._ }, |
| 19188 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 19189 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19190 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19191 | } }, |
| 19192 | }, .{ |
| 19193 | .required_features = .{ .cmov, .fast_imm16, null, null }, |
| 19194 | .src_constraints = .{ |
| 19195 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19196 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19197 | .any, |
| 19198 | }, |
| 19199 | .patterns = &.{ |
| 19200 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19201 | }, |
| 19202 | .extra_temps = .{ |
| 19203 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19204 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19205 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19206 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19207 | .unused, |
| 19208 | .unused, |
| 19209 | .unused, |
| 19210 | .unused, |
| 19211 | .unused, |
| 19212 | .unused, |
| 19213 | .unused, |
| 19214 | }, |
| 19215 | .dst_temps = .{ .mem, .unused }, |
| 19216 | .clobbers = .{ .eflags = true }, |
| 19217 | .each = .{ .once = &.{ |
| 19218 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19219 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19220 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19221 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19222 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19223 | .{ ._, ._, .xor, .tmp2w, .sa(.src0, .add_smax), ._, ._ }, |
| 19224 | .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ }, |
| 19225 | .{ ._, ._, .add, .tmp3w, .tmp3w, ._, ._ }, |
| 19226 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19227 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19228 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19229 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19230 | } }, |
| 19231 | }, .{ |
| 19232 | .required_features = .{ .cmov, null, null, null }, |
| 19233 | .src_constraints = .{ |
| 19234 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19235 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19236 | .any, |
| 19237 | }, |
| 19238 | .patterns = &.{ |
| 19239 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19240 | }, |
| 19241 | .extra_temps = .{ |
| 19242 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19243 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19244 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19245 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19246 | .unused, |
| 19247 | .unused, |
| 19248 | .unused, |
| 19249 | .unused, |
| 19250 | .unused, |
| 19251 | .unused, |
| 19252 | .unused, |
| 19253 | }, |
| 19254 | .dst_temps = .{ .mem, .unused }, |
| 19255 | .clobbers = .{ .eflags = true }, |
| 19256 | .each = .{ .once = &.{ |
| 19257 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19258 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19259 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19260 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19261 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19262 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 19263 | .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ }, |
| 19264 | .{ ._, ._, .add, .tmp3w, .tmp3w, ._, ._ }, |
| 19265 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19266 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19267 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19268 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19269 | } }, |
| 19270 | }, .{ |
| 19271 | .required_features = .{ .fast_imm16, null, null, null }, |
| 19272 | .src_constraints = .{ |
| 19273 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19274 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19275 | .any, |
| 19276 | }, |
| 19277 | .patterns = &.{ |
| 19278 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19279 | }, |
| 19280 | .extra_temps = .{ |
| 19281 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19282 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19283 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19284 | .unused, |
| 19285 | .unused, |
| 19286 | .unused, |
| 19287 | .unused, |
| 19288 | .unused, |
| 19289 | .unused, |
| 19290 | .unused, |
| 19291 | .unused, |
| 19292 | }, |
| 19293 | .dst_temps = .{ .mem, .unused }, |
| 19294 | .clobbers = .{ .eflags = true }, |
| 19295 | .each = .{ .once = &.{ |
| 19296 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19297 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19298 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19299 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19300 | .{ ._, ._, .add, .tmp2w, .tmp2w, ._, ._ }, |
| 19301 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 19302 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 19303 | .{ ._, ._, .xor, .tmp1w, .sa(.src0, .add_smax), ._, ._ }, |
| 19304 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19305 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19306 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19307 | } }, |
| 19308 | }, .{ |
| 19309 | .src_constraints = .{ |
| 19310 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19311 | .{ .multiple_scalar_exact_signed_int = .{ .of = .word, .is = 15 } }, |
| 19312 | .any, |
| 19313 | }, |
| 19314 | .patterns = &.{ |
| 19315 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19316 | }, |
| 19317 | .extra_temps = .{ |
| 19318 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19319 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19320 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19321 | .unused, |
| 19322 | .unused, |
| 19323 | .unused, |
| 19324 | .unused, |
| 19325 | .unused, |
| 19326 | .unused, |
| 19327 | .unused, |
| 19328 | .unused, |
| 19329 | }, |
| 19330 | .dst_temps = .{ .mem, .unused }, |
| 19331 | .clobbers = .{ .eflags = true }, |
| 19332 | .each = .{ .once = &.{ |
| 19333 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19334 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19335 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19336 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19337 | .{ ._, ._, .add, .tmp2w, .tmp2w, ._, ._ }, |
| 19338 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 19339 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 19340 | .{ ._, ._, .xor, .tmp1d, .sa(.src0, .add_smax), ._, ._ }, |
| 19341 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19342 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19343 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19344 | } }, |
| 19345 | }, .{ |
| 19346 | .required_features = .{ .bmi2, .cmov, .fast_imm16, null }, |
| 19347 | .src_constraints = .{ |
| 19348 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19349 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19350 | .any, |
| 19351 | }, |
| 19352 | .patterns = &.{ |
| 19353 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19354 | }, |
| 19355 | .extra_temps = .{ |
| 19356 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19357 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19358 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19359 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19360 | .unused, |
| 19361 | .unused, |
| 19362 | .unused, |
| 19363 | .unused, |
| 19364 | .unused, |
| 19365 | .unused, |
| 19366 | .unused, |
| 19367 | }, |
| 19368 | .dst_temps = .{ .mem, .unused }, |
| 19369 | .clobbers = .{ .eflags = true }, |
| 19370 | .each = .{ .once = &.{ |
| 19371 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19372 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19373 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19374 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19375 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19376 | .{ ._, ._, .xor, .tmp2w, .sa(.src0, .add_smax), ._, ._ }, |
| 19377 | .{ ._, ._rx, .ro, .tmp3d, .tmp1d, .uia(1, .src0, .add_bit_size_rem_64), ._ }, |
| 19378 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 19379 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19380 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19381 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19382 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19383 | } }, |
| 19384 | }, .{ |
| 19385 | .required_features = .{ .bmi2, .cmov, null, null }, |
| 19386 | .src_constraints = .{ |
| 19387 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19388 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19389 | .any, |
| 19390 | }, |
| 19391 | .patterns = &.{ |
| 19392 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19393 | }, |
| 19394 | .extra_temps = .{ |
| 19395 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19396 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19397 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19398 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19399 | .unused, |
| 19400 | .unused, |
| 19401 | .unused, |
| 19402 | .unused, |
| 19403 | .unused, |
| 19404 | .unused, |
| 19405 | .unused, |
| 19406 | }, |
| 19407 | .dst_temps = .{ .mem, .unused }, |
| 19408 | .clobbers = .{ .eflags = true }, |
| 19409 | .each = .{ .once = &.{ |
| 19410 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19411 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19412 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19413 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19414 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19415 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 19416 | .{ ._, ._rx, .ro, .tmp3d, .tmp1d, .uia(1, .src0, .add_bit_size_rem_64), ._ }, |
| 19417 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 19418 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19419 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19420 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19421 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19422 | } }, |
| 19423 | }, .{ |
| 19424 | .required_features = .{ .cmov, .fast_imm16, null, null }, |
| 19425 | .src_constraints = .{ |
| 19426 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19427 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19428 | .any, |
| 19429 | }, |
| 19430 | .patterns = &.{ |
| 19431 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19432 | }, |
| 19433 | .extra_temps = .{ |
| 19434 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19435 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19436 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19437 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19438 | .unused, |
| 19439 | .unused, |
| 19440 | .unused, |
| 19441 | .unused, |
| 19442 | .unused, |
| 19443 | .unused, |
| 19444 | .unused, |
| 19445 | }, |
| 19446 | .dst_temps = .{ .mem, .unused }, |
| 19447 | .clobbers = .{ .eflags = true }, |
| 19448 | .each = .{ .once = &.{ |
| 19449 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19450 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19451 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19452 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19453 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19454 | .{ ._, ._, .xor, .tmp2w, .sa(.src0, .add_smax), ._, ._ }, |
| 19455 | .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ }, |
| 19456 | .{ ._, ._l, .sa, .tmp3d, .uia(31, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 19457 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 19458 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19459 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19460 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19461 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19462 | } }, |
| 19463 | }, .{ |
| 19464 | .required_features = .{ .cmov, null, null, null }, |
| 19465 | .src_constraints = .{ |
| 19466 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19467 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19468 | .any, |
| 19469 | }, |
| 19470 | .patterns = &.{ |
| 19471 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19472 | }, |
| 19473 | .extra_temps = .{ |
| 19474 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19475 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19476 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19477 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19478 | .unused, |
| 19479 | .unused, |
| 19480 | .unused, |
| 19481 | .unused, |
| 19482 | .unused, |
| 19483 | .unused, |
| 19484 | .unused, |
| 19485 | }, |
| 19486 | .dst_temps = .{ .mem, .unused }, |
| 19487 | .clobbers = .{ .eflags = true }, |
| 19488 | .each = .{ .once = &.{ |
| 19489 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19490 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19491 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19492 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19493 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19494 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 19495 | .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ }, |
| 19496 | .{ ._, ._l, .sa, .tmp3d, .uia(31, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 19497 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 19498 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19499 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19500 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19501 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19502 | } }, |
| 19503 | }, .{ |
| 19504 | .required_features = .{ .fast_imm16, null, null, null }, |
| 19505 | .src_constraints = .{ |
| 19506 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19507 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19508 | .any, |
| 19509 | }, |
| 19510 | .patterns = &.{ |
| 19511 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19512 | }, |
| 19513 | .extra_temps = .{ |
| 19514 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19515 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19516 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19517 | .unused, |
| 19518 | .unused, |
| 19519 | .unused, |
| 19520 | .unused, |
| 19521 | .unused, |
| 19522 | .unused, |
| 19523 | .unused, |
| 19524 | .unused, |
| 19525 | }, |
| 19526 | .dst_temps = .{ .mem, .unused }, |
| 19527 | .clobbers = .{ .eflags = true }, |
| 19528 | .each = .{ .once = &.{ |
| 19529 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19530 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19531 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19532 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19533 | .{ ._, ._l, .sa, .tmp2d, .uia(31, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 19534 | .{ ._, ._, .add, .tmp2d, .tmp2d, ._, ._ }, |
| 19535 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 19536 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 19537 | .{ ._, ._, .xor, .tmp1w, .sa(.src0, .add_smax), ._, ._ }, |
| 19538 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19539 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19540 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19541 | } }, |
| 19542 | }, .{ |
| 19543 | .src_constraints = .{ |
| 19544 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19545 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 19546 | .any, |
| 19547 | }, |
| 19548 | .patterns = &.{ |
| 19549 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19550 | }, |
| 19551 | .extra_temps = .{ |
| 19552 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19553 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19554 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 19555 | .unused, |
| 19556 | .unused, |
| 19557 | .unused, |
| 19558 | .unused, |
| 19559 | .unused, |
| 19560 | .unused, |
| 19561 | .unused, |
| 19562 | .unused, |
| 19563 | }, |
| 19564 | .dst_temps = .{ .mem, .unused }, |
| 19565 | .clobbers = .{ .eflags = true }, |
| 19566 | .each = .{ .once = &.{ |
| 19567 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19568 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19569 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19570 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19571 | .{ ._, ._l, .sa, .tmp2d, .uia(31, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 19572 | .{ ._, ._, .add, .tmp2d, .tmp2d, ._, ._ }, |
| 19573 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 19574 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 19575 | .{ ._, ._, .xor, .tmp1d, .sa(.src0, .add_smax), ._, ._ }, |
| 19576 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19577 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19578 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19579 | } }, |
| 19580 | }, .{ |
| 19581 | .required_features = .{ .mmx, null, null, null }, |
| 19582 | .src_constraints = .{ |
| 19583 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, |
| 19584 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, |
| 19585 | .any, |
| 19586 | }, |
| 19587 | .patterns = &.{ |
| 19588 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19589 | }, |
| 19590 | .extra_temps = .{ |
| 19591 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19592 | .{ .type = .vector_4_i16, .kind = .{ .rc = .mmx } }, |
| 19593 | .unused, |
| 19594 | .unused, |
| 19595 | .unused, |
| 19596 | .unused, |
| 19597 | .unused, |
| 19598 | .unused, |
| 19599 | .unused, |
| 19600 | .unused, |
| 19601 | .unused, |
| 19602 | }, |
| 19603 | .dst_temps = .{ .mem, .unused }, |
| 19604 | .clobbers = .{ .eflags = true }, |
| 19605 | .each = .{ .once = &.{ |
| 19606 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19607 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19608 | .{ ._, .p_w, .subus, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19609 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 19610 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 19611 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19612 | } }, |
| 19613 | }, .{ |
| 19614 | .required_features = .{ .avx2, null, null, null }, |
| 19615 | .src_constraints = .{ |
| 19616 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 19617 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 19618 | .any, |
| 19619 | }, |
| 19620 | .patterns = &.{ |
| 19621 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19622 | }, |
| 19623 | .extra_temps = .{ |
| 19624 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19625 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 19626 | .unused, |
| 19627 | .unused, |
| 19628 | .unused, |
| 19629 | .unused, |
| 19630 | .unused, |
| 19631 | .unused, |
| 19632 | .unused, |
| 19633 | .unused, |
| 19634 | .unused, |
| 19635 | }, |
| 19636 | .dst_temps = .{ .mem, .unused }, |
| 19637 | .clobbers = .{ .eflags = true }, |
| 19638 | .each = .{ .once = &.{ |
| 19639 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19640 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19641 | .{ ._, .vp_w, .subus, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 19642 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 19643 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 19644 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19645 | } }, |
| 19646 | }, .{ |
| 19647 | .required_features = .{ .avx, null, null, null }, |
| 19648 | .src_constraints = .{ |
| 19649 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 19650 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 19651 | .any, |
| 19652 | }, |
| 19653 | .patterns = &.{ |
| 19654 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19655 | }, |
| 19656 | .extra_temps = .{ |
| 19657 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19658 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 19659 | .unused, |
| 19660 | .unused, |
| 19661 | .unused, |
| 19662 | .unused, |
| 19663 | .unused, |
| 19664 | .unused, |
| 19665 | .unused, |
| 19666 | .unused, |
| 19667 | .unused, |
| 19668 | }, |
| 19669 | .dst_temps = .{ .mem, .unused }, |
| 19670 | .clobbers = .{ .eflags = true }, |
| 19671 | .each = .{ .once = &.{ |
| 19672 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19673 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19674 | .{ ._, .vp_w, .subus, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 19675 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 19676 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19677 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19678 | } }, |
| 19679 | }, .{ |
| 19680 | .required_features = .{ .sse2, null, null, null }, |
| 19681 | .src_constraints = .{ |
| 19682 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 19683 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 19684 | .any, |
| 19685 | }, |
| 19686 | .patterns = &.{ |
| 19687 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19688 | }, |
| 19689 | .extra_temps = .{ |
| 19690 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19691 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 19692 | .unused, |
| 19693 | .unused, |
| 19694 | .unused, |
| 19695 | .unused, |
| 19696 | .unused, |
| 19697 | .unused, |
| 19698 | .unused, |
| 19699 | .unused, |
| 19700 | .unused, |
| 19701 | }, |
| 19702 | .dst_temps = .{ .mem, .unused }, |
| 19703 | .clobbers = .{ .eflags = true }, |
| 19704 | .each = .{ .once = &.{ |
| 19705 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19706 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19707 | .{ ._, .p_w, .subus, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19708 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 19709 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19710 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19711 | } }, |
| 19712 | }, .{ |
| 19713 | .required_features = .{ .mmx, null, null, null }, |
| 19714 | .src_constraints = .{ |
| 19715 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, |
| 19716 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, |
| 19717 | .any, |
| 19718 | }, |
| 19719 | .patterns = &.{ |
| 19720 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19721 | }, |
| 19722 | .extra_temps = .{ |
| 19723 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19724 | .{ .type = .vector_4_u16, .kind = .{ .rc = .mmx } }, |
| 19725 | .unused, |
| 19726 | .unused, |
| 19727 | .unused, |
| 19728 | .unused, |
| 19729 | .unused, |
| 19730 | .unused, |
| 19731 | .unused, |
| 19732 | .unused, |
| 19733 | .unused, |
| 19734 | }, |
| 19735 | .dst_temps = .{ .mem, .unused }, |
| 19736 | .clobbers = .{ .eflags = true }, |
| 19737 | .each = .{ .once = &.{ |
| 19738 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19739 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19740 | .{ ._, .p_w, .subus, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19741 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 19742 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 19743 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19744 | } }, |
| 19745 | }, .{ |
| 19746 | .required_features = .{ .cmov, null, null, null }, |
| 19747 | .src_constraints = .{ |
| 19748 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 19749 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 19750 | .any, |
| 19751 | }, |
| 19752 | .patterns = &.{ |
| 19753 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19754 | }, |
| 19755 | .extra_temps = .{ |
| 19756 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19757 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 19758 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 19759 | .unused, |
| 19760 | .unused, |
| 19761 | .unused, |
| 19762 | .unused, |
| 19763 | .unused, |
| 19764 | .unused, |
| 19765 | .unused, |
| 19766 | .unused, |
| 19767 | }, |
| 19768 | .dst_temps = .{ .mem, .unused }, |
| 19769 | .clobbers = .{ .eflags = true }, |
| 19770 | .each = .{ .once = &.{ |
| 19771 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19772 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 19773 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19774 | .{ ._, ._, .sub, .tmp2w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19775 | .{ ._, ._c, .cmov, .tmp2d, .tmp1d, ._, ._ }, |
| 19776 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, |
| 19777 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19778 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19779 | } }, |
| 19780 | }, .{ |
| 19781 | .src_constraints = .{ |
| 19782 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 19783 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 19784 | .any, |
| 19785 | }, |
| 19786 | .patterns = &.{ |
| 19787 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19788 | }, |
| 19789 | .extra_temps = .{ |
| 19790 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19791 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 19792 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 19793 | .unused, |
| 19794 | .unused, |
| 19795 | .unused, |
| 19796 | .unused, |
| 19797 | .unused, |
| 19798 | .unused, |
| 19799 | .unused, |
| 19800 | .unused, |
| 19801 | }, |
| 19802 | .dst_temps = .{ .mem, .unused }, |
| 19803 | .clobbers = .{ .eflags = true }, |
| 19804 | .each = .{ .once = &.{ |
| 19805 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19806 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19807 | .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19808 | .{ ._, ._, .cmc, ._, ._, ._, ._ }, |
| 19809 | .{ ._, ._, .sbb, .tmp2d, .tmp2d, ._, ._ }, |
| 19810 | .{ ._, ._, .@"and", .tmp1d, .tmp2d, ._, ._ }, |
| 19811 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 19812 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19813 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19814 | } }, |
| 19815 | }, .{ |
| 19816 | .required_features = .{ .avx2, null, null, null }, |
| 19817 | .src_constraints = .{ |
| 19818 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 32 } }, |
| 19819 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 32 } }, |
| 19820 | .any, |
| 19821 | }, |
| 19822 | .patterns = &.{ |
| 19823 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19824 | }, |
| 19825 | .extra_temps = .{ |
| 19826 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19827 | .{ .type = .i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 19828 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 19829 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 19830 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 19831 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 19832 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 19833 | .unused, |
| 19834 | .unused, |
| 19835 | .unused, |
| 19836 | .unused, |
| 19837 | }, |
| 19838 | .dst_temps = .{ .mem, .unused }, |
| 19839 | .clobbers = .{ .eflags = true }, |
| 19840 | .each = .{ .once = &.{ |
| 19841 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 19842 | .{ ._, .vp_d, .broadcast, .tmp2y, .lea(.tmp0d), ._, ._ }, |
| 19843 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19844 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19845 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19846 | .{ ._, .vp_d, .sub, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| 19847 | .{ ._, .vp_d, .sra, .tmp6y, .tmp3y, .ui(31), ._ }, |
| 19848 | .{ ._, .vp_d, .cmpgt, .tmp3y, .tmp5y, .tmp3y, ._ }, |
| 19849 | .{ ._, .vp_, .xor, .tmp6y, .tmp6y, .tmp2y, ._ }, |
| 19850 | .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| 19851 | .{ ._, .v_ps, .blendv, .tmp3y, .tmp5y, .tmp6y, .tmp3y }, |
| 19852 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp3y, ._, ._ }, |
| 19853 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 19854 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19855 | } }, |
| 19856 | }, .{ |
| 19857 | .required_features = .{ .avx, null, null, null }, |
| 19858 | .src_constraints = .{ |
| 19859 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 19860 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 19861 | .any, |
| 19862 | }, |
| 19863 | .patterns = &.{ |
| 19864 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19865 | }, |
| 19866 | .extra_temps = .{ |
| 19867 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19868 | .{ .type = .i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 19869 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19870 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19871 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19872 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19873 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19874 | .unused, |
| 19875 | .unused, |
| 19876 | .unused, |
| 19877 | .unused, |
| 19878 | }, |
| 19879 | .dst_temps = .{ .mem, .unused }, |
| 19880 | .clobbers = .{ .eflags = true }, |
| 19881 | .each = .{ .once = &.{ |
| 19882 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 19883 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| 19884 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19885 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19886 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19887 | .{ ._, .vp_d, .sub, .tmp5x, .tmp3x, .tmp4x, ._ }, |
| 19888 | .{ ._, .vp_d, .sra, .tmp6x, .tmp3x, .ui(31), ._ }, |
| 19889 | .{ ._, .vp_d, .cmpgt, .tmp3x, .tmp5x, .tmp3x, ._ }, |
| 19890 | .{ ._, .vp_, .xor, .tmp6x, .tmp6x, .tmp2x, ._ }, |
| 19891 | .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .tmp4x, ._ }, |
| 19892 | .{ ._, .v_ps, .blendv, .tmp3x, .tmp5x, .tmp6x, .tmp3x }, |
| 19893 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, |
| 19894 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19895 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19896 | } }, |
| 19897 | }, .{ |
| 19898 | .required_features = .{ .sse4_1, null, null, null }, |
| 19899 | .src_constraints = .{ |
| 19900 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 19901 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 32 } }, |
| 19902 | .any, |
| 19903 | }, |
| 19904 | .patterns = &.{ |
| 19905 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19906 | }, |
| 19907 | .extra_temps = .{ |
| 19908 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19909 | .{ .type = .i32, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 19910 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19911 | .{ .type = .vector_4_i32, .kind = .{ .reg = .xmm0 } }, |
| 19912 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19913 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19914 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 19915 | .unused, |
| 19916 | .unused, |
| 19917 | .unused, |
| 19918 | .unused, |
| 19919 | }, |
| 19920 | .dst_temps = .{ .mem, .unused }, |
| 19921 | .clobbers = .{ .eflags = true }, |
| 19922 | .each = .{ .once = &.{ |
| 19923 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 19924 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 19925 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19926 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19927 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19928 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, |
| 19929 | .{ ._, .p_d, .sub, .tmp5x, .tmp4x, ._, ._ }, |
| 19930 | .{ ._, ._dqa, .mov, .tmp6x, .tmp3x, ._, ._ }, |
| 19931 | .{ ._, .p_d, .sra, .tmp6x, .ui(31), ._, ._ }, |
| 19932 | .{ ._, .p_d, .cmpgt, .tmp3x, .tmp5x, ._, ._ }, |
| 19933 | .{ ._, .p_, .xor, .tmp6x, .tmp2x, ._, ._ }, |
| 19934 | .{ ._, .p_, .xor, .tmp3x, .tmp4x, ._, ._ }, |
| 19935 | .{ ._, ._ps, .blendv, .tmp6x, .tmp5x, .tmp3x, ._ }, |
| 19936 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp6x, ._, ._ }, |
| 19937 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19938 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19939 | } }, |
| 19940 | }, .{ |
| 19941 | .required_features = .{ .cmov, null, null, null }, |
| 19942 | .src_constraints = .{ |
| 19943 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 32 } }, |
| 19944 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 32 } }, |
| 19945 | .any, |
| 19946 | }, |
| 19947 | .patterns = &.{ |
| 19948 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19949 | }, |
| 19950 | .extra_temps = .{ |
| 19951 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19952 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 19953 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 19954 | .unused, |
| 19955 | .unused, |
| 19956 | .unused, |
| 19957 | .unused, |
| 19958 | .unused, |
| 19959 | .unused, |
| 19960 | .unused, |
| 19961 | .unused, |
| 19962 | }, |
| 19963 | .dst_temps = .{ .mem, .unused }, |
| 19964 | .clobbers = .{ .eflags = true }, |
| 19965 | .each = .{ .once = &.{ |
| 19966 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 19967 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19968 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 19969 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 19970 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 19971 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 19972 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 19973 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 19974 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 19975 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19976 | } }, |
| 19977 | }, .{ |
| 19978 | .src_constraints = .{ |
| 19979 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 32 } }, |
| 19980 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 32 } }, |
| 19981 | .any, |
| 19982 | }, |
| 19983 | .patterns = &.{ |
| 19984 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19985 | }, |
| 19986 | .extra_temps = .{ |
| 19987 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19988 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 19989 | .unused, |
| 19990 | .unused, |
| 19991 | .unused, |
| 19992 | .unused, |
| 19993 | .unused, |
| 19994 | .unused, |
| 19995 | .unused, |
| 19996 | .unused, |
| 19997 | .unused, |
| 19998 | }, |
| 19999 | .dst_temps = .{ .mem, .unused }, |
| 20000 | .clobbers = .{ .eflags = true }, |
| 20001 | .each = .{ .once = &.{ |
| 20002 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20003 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20004 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20005 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 20006 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 20007 | .{ ._, ._, .xor, .tmp1d, .sa(.src0, .add_smin), ._, ._ }, |
| 20008 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20009 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20010 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20011 | } }, |
| 20012 | }, .{ |
| 20013 | .required_features = .{ .avx2, null, null, null }, |
| 20014 | .src_constraints = .{ |
| 20015 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 20016 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 20017 | .any, |
| 20018 | }, |
| 20019 | .patterns = &.{ |
| 20020 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20021 | }, |
| 20022 | .extra_temps = .{ |
| 20023 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20024 | .{ .type = .i32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20025 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 20026 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 20027 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 20028 | .unused, |
| 20029 | .unused, |
| 20030 | .unused, |
| 20031 | .unused, |
| 20032 | .unused, |
| 20033 | .unused, |
| 20034 | }, |
| 20035 | .dst_temps = .{ .mem, .unused }, |
| 20036 | .clobbers = .{ .eflags = true }, |
| 20037 | .each = .{ .once = &.{ |
| 20038 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20039 | .{ ._, .vp_d, .cmpeq, .tmp2y, .tmp2y, .tmp2y, ._ }, |
| 20040 | .{ ._, .vp_d, .broadcast, .tmp3y, .lea(.tmp0d), ._, ._ }, |
| 20041 | .{ ._, .vp_, .xor, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 20042 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20043 | .{ .@"0:", .v_dqa, .mov, .tmp4y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20044 | .{ ._, .vp_d, .sub, .tmp4y, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 20045 | .{ ._, .vp_d, .maxs, .tmp4y, .tmp4y, .tmp3y, ._ }, |
| 20046 | .{ ._, .vp_d, .mins, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| 20047 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp4y, ._, ._ }, |
| 20048 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 20049 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20050 | } }, |
| 20051 | }, .{ |
| 20052 | .required_features = .{ .avx, null, null, null }, |
| 20053 | .src_constraints = .{ |
| 20054 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 20055 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 20056 | .any, |
| 20057 | }, |
| 20058 | .patterns = &.{ |
| 20059 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20060 | }, |
| 20061 | .extra_temps = .{ |
| 20062 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20063 | .{ .type = .i32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20064 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 20065 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 20066 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 20067 | .unused, |
| 20068 | .unused, |
| 20069 | .unused, |
| 20070 | .unused, |
| 20071 | .unused, |
| 20072 | .unused, |
| 20073 | }, |
| 20074 | .dst_temps = .{ .mem, .unused }, |
| 20075 | .clobbers = .{ .eflags = true }, |
| 20076 | .each = .{ .once = &.{ |
| 20077 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20078 | .{ ._, .vp_d, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 20079 | .{ ._, .v_ss, .broadcast, .tmp3x, .lea(.tmp0d), ._, ._ }, |
| 20080 | .{ ._, .vp_, .xor, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 20081 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20082 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20083 | .{ ._, .vp_d, .sub, .tmp4x, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 20084 | .{ ._, .vp_d, .maxs, .tmp4x, .tmp4x, .tmp3x, ._ }, |
| 20085 | .{ ._, .vp_d, .mins, .tmp4x, .tmp4x, .tmp2x, ._ }, |
| 20086 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 20087 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20088 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20089 | } }, |
| 20090 | }, .{ |
| 20091 | .required_features = .{ .sse4_1, null, null, null }, |
| 20092 | .src_constraints = .{ |
| 20093 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 20094 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 20095 | .any, |
| 20096 | }, |
| 20097 | .patterns = &.{ |
| 20098 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20099 | }, |
| 20100 | .extra_temps = .{ |
| 20101 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20102 | .{ .type = .vector_4_i32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 20103 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 20104 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 20105 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 20106 | .unused, |
| 20107 | .unused, |
| 20108 | .unused, |
| 20109 | .unused, |
| 20110 | .unused, |
| 20111 | .unused, |
| 20112 | }, |
| 20113 | .dst_temps = .{ .mem, .unused }, |
| 20114 | .clobbers = .{ .eflags = true }, |
| 20115 | .each = .{ .once = &.{ |
| 20116 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20117 | .{ ._, .p_d, .cmpeq, .tmp2x, .tmp2x, ._, ._ }, |
| 20118 | .{ ._, ._dqa, .mov, .tmp3x, .lea(.tmp0x), ._, ._ }, |
| 20119 | .{ ._, .p_, .xor, .tmp2x, .tmp3x, ._, ._ }, |
| 20120 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20121 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20122 | .{ ._, .p_d, .sub, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20123 | .{ ._, .p_d, .maxs, .tmp4x, .tmp3x, ._, ._ }, |
| 20124 | .{ ._, .p_d, .mins, .tmp4x, .tmp2x, ._, ._ }, |
| 20125 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 20126 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20127 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20128 | } }, |
| 20129 | }, .{ |
| 20130 | .required_features = .{ .cmov, null, null, null }, |
| 20131 | .src_constraints = .{ |
| 20132 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 31 } }, |
| 20133 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 31 } }, |
| 20134 | .any, |
| 20135 | }, |
| 20136 | .patterns = &.{ |
| 20137 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20138 | }, |
| 20139 | .extra_temps = .{ |
| 20140 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20141 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20142 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20143 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20144 | .unused, |
| 20145 | .unused, |
| 20146 | .unused, |
| 20147 | .unused, |
| 20148 | .unused, |
| 20149 | .unused, |
| 20150 | .unused, |
| 20151 | }, |
| 20152 | .dst_temps = .{ .mem, .unused }, |
| 20153 | .clobbers = .{ .eflags = true }, |
| 20154 | .each = .{ .once = &.{ |
| 20155 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20156 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20157 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 20158 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 20159 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20160 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 20161 | .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ }, |
| 20162 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 20163 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 20164 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20165 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20166 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20167 | } }, |
| 20168 | }, .{ |
| 20169 | .src_constraints = .{ |
| 20170 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 31 } }, |
| 20171 | .{ .multiple_scalar_exact_signed_int = .{ .of = .dword, .is = 31 } }, |
| 20172 | .any, |
| 20173 | }, |
| 20174 | .patterns = &.{ |
| 20175 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20176 | }, |
| 20177 | .extra_temps = .{ |
| 20178 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20179 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20180 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20181 | .unused, |
| 20182 | .unused, |
| 20183 | .unused, |
| 20184 | .unused, |
| 20185 | .unused, |
| 20186 | .unused, |
| 20187 | .unused, |
| 20188 | .unused, |
| 20189 | }, |
| 20190 | .dst_temps = .{ .mem, .unused }, |
| 20191 | .clobbers = .{ .eflags = true }, |
| 20192 | .each = .{ .once = &.{ |
| 20193 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20194 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20195 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20196 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 20197 | .{ ._, ._, .add, .tmp2d, .tmp2d, ._, ._ }, |
| 20198 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 20199 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 20200 | .{ ._, ._, .xor, .tmp1d, .sa(.src0, .add_smax), ._, ._ }, |
| 20201 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20202 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20203 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20204 | } }, |
| 20205 | }, .{ |
| 20206 | .required_features = .{ .bmi2, .cmov, null, null }, |
| 20207 | .src_constraints = .{ |
| 20208 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 20209 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 20210 | .any, |
| 20211 | }, |
| 20212 | .patterns = &.{ |
| 20213 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20214 | }, |
| 20215 | .extra_temps = .{ |
| 20216 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20217 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20218 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20219 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20220 | .unused, |
| 20221 | .unused, |
| 20222 | .unused, |
| 20223 | .unused, |
| 20224 | .unused, |
| 20225 | .unused, |
| 20226 | .unused, |
| 20227 | }, |
| 20228 | .dst_temps = .{ .mem, .unused }, |
| 20229 | .clobbers = .{ .eflags = true }, |
| 20230 | .each = .{ .once = &.{ |
| 20231 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20232 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20233 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 20234 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 20235 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20236 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 20237 | .{ ._, ._rx, .ro, .tmp3d, .tmp1d, .uia(1, .src0, .add_bit_size_rem_64), ._ }, |
| 20238 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 20239 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 20240 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20241 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20242 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20243 | } }, |
| 20244 | }, .{ |
| 20245 | .required_features = .{ .cmov, null, null, null }, |
| 20246 | .src_constraints = .{ |
| 20247 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 20248 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 20249 | .any, |
| 20250 | }, |
| 20251 | .patterns = &.{ |
| 20252 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20253 | }, |
| 20254 | .extra_temps = .{ |
| 20255 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20256 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20257 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20258 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20259 | .unused, |
| 20260 | .unused, |
| 20261 | .unused, |
| 20262 | .unused, |
| 20263 | .unused, |
| 20264 | .unused, |
| 20265 | .unused, |
| 20266 | }, |
| 20267 | .dst_temps = .{ .mem, .unused }, |
| 20268 | .clobbers = .{ .eflags = true }, |
| 20269 | .each = .{ .once = &.{ |
| 20270 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20271 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20272 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 20273 | .{ ._, ._r, .sa, .tmp2d, .ui(31), ._, ._ }, |
| 20274 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20275 | .{ ._, ._, .xor, .tmp2d, .sa(.src0, .add_smax), ._, ._ }, |
| 20276 | .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ }, |
| 20277 | .{ ._, ._l, .sa, .tmp3d, .uia(31, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 20278 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 20279 | .{ ._, ._o, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 20280 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20281 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20282 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20283 | } }, |
| 20284 | }, .{ |
| 20285 | .src_constraints = .{ |
| 20286 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 20287 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 20288 | .any, |
| 20289 | }, |
| 20290 | .patterns = &.{ |
| 20291 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20292 | }, |
| 20293 | .extra_temps = .{ |
| 20294 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20295 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20296 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 20297 | .unused, |
| 20298 | .unused, |
| 20299 | .unused, |
| 20300 | .unused, |
| 20301 | .unused, |
| 20302 | .unused, |
| 20303 | .unused, |
| 20304 | .unused, |
| 20305 | }, |
| 20306 | .dst_temps = .{ .mem, .unused }, |
| 20307 | .clobbers = .{ .eflags = true }, |
| 20308 | .each = .{ .once = &.{ |
| 20309 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20310 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20311 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20312 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 20313 | .{ ._, ._l, .sa, .tmp2d, .uia(31, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 20314 | .{ ._, ._, .add, .tmp2d, .tmp2d, ._, ._ }, |
| 20315 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 20316 | .{ ._, ._r, .sa, .tmp1d, .ui(31), ._, ._ }, |
| 20317 | .{ ._, ._, .xor, .tmp1d, .sa(.src0, .add_smax), ._, ._ }, |
| 20318 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20319 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20320 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20321 | } }, |
| 20322 | }, .{ |
| 20323 | .required_features = .{ .avx2, null, null, null }, |
| 20324 | .src_constraints = .{ |
| 20325 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 20326 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 20327 | .any, |
| 20328 | }, |
| 20329 | .patterns = &.{ |
| 20330 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20331 | }, |
| 20332 | .extra_temps = .{ |
| 20333 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20334 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 20335 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 20336 | .unused, |
| 20337 | .unused, |
| 20338 | .unused, |
| 20339 | .unused, |
| 20340 | .unused, |
| 20341 | .unused, |
| 20342 | .unused, |
| 20343 | .unused, |
| 20344 | }, |
| 20345 | .dst_temps = .{ .mem, .unused }, |
| 20346 | .clobbers = .{ .eflags = true }, |
| 20347 | .each = .{ .once = &.{ |
| 20348 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20349 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20350 | .{ ._, .vp_d, .maxu, .tmp2y, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._ }, |
| 20351 | .{ ._, .vp_d, .sub, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 20352 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 20353 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 20354 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20355 | } }, |
| 20356 | }, .{ |
| 20357 | .required_features = .{ .avx, null, null, null }, |
| 20358 | .src_constraints = .{ |
| 20359 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 20360 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 20361 | .any, |
| 20362 | }, |
| 20363 | .patterns = &.{ |
| 20364 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20365 | }, |
| 20366 | .extra_temps = .{ |
| 20367 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20368 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 20369 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 20370 | .unused, |
| 20371 | .unused, |
| 20372 | .unused, |
| 20373 | .unused, |
| 20374 | .unused, |
| 20375 | .unused, |
| 20376 | .unused, |
| 20377 | .unused, |
| 20378 | }, |
| 20379 | .dst_temps = .{ .mem, .unused }, |
| 20380 | .clobbers = .{ .eflags = true }, |
| 20381 | .each = .{ .once = &.{ |
| 20382 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20383 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20384 | .{ ._, .vp_d, .maxu, .tmp2x, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._ }, |
| 20385 | .{ ._, .vp_d, .sub, .tmp1x, .tmp2x, .tmp1x, ._ }, |
| 20386 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 20387 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20388 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20389 | } }, |
| 20390 | }, .{ |
| 20391 | .required_features = .{ .sse4_1, null, null, null }, |
| 20392 | .src_constraints = .{ |
| 20393 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 20394 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 20395 | .any, |
| 20396 | }, |
| 20397 | .patterns = &.{ |
| 20398 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20399 | }, |
| 20400 | .extra_temps = .{ |
| 20401 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20402 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 20403 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 20404 | .unused, |
| 20405 | .unused, |
| 20406 | .unused, |
| 20407 | .unused, |
| 20408 | .unused, |
| 20409 | .unused, |
| 20410 | .unused, |
| 20411 | .unused, |
| 20412 | }, |
| 20413 | .dst_temps = .{ .mem, .unused }, |
| 20414 | .clobbers = .{ .eflags = true }, |
| 20415 | .each = .{ .once = &.{ |
| 20416 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20417 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20418 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 20419 | .{ ._, .p_d, .maxu, .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20420 | .{ ._, .p_d, .sub, .tmp2x, .tmp1x, ._, ._ }, |
| 20421 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ }, |
| 20422 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20423 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20424 | } }, |
| 20425 | }, .{ |
| 20426 | .required_features = .{ .cmov, null, null, null }, |
| 20427 | .src_constraints = .{ |
| 20428 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 20429 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 20430 | .any, |
| 20431 | }, |
| 20432 | .patterns = &.{ |
| 20433 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20434 | }, |
| 20435 | .extra_temps = .{ |
| 20436 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20437 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 20438 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 20439 | .unused, |
| 20440 | .unused, |
| 20441 | .unused, |
| 20442 | .unused, |
| 20443 | .unused, |
| 20444 | .unused, |
| 20445 | .unused, |
| 20446 | .unused, |
| 20447 | }, |
| 20448 | .dst_temps = .{ .mem, .unused }, |
| 20449 | .clobbers = .{ .eflags = true }, |
| 20450 | .each = .{ .once = &.{ |
| 20451 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20452 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 20453 | .{ .@"0:", ._, .mov, .tmp2d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20454 | .{ ._, ._, .sub, .tmp2d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20455 | .{ ._, ._c, .cmov, .tmp2d, .tmp1d, ._, ._ }, |
| 20456 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, |
| 20457 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20458 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20459 | } }, |
| 20460 | }, .{ |
| 20461 | .src_constraints = .{ |
| 20462 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 20463 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 20464 | .any, |
| 20465 | }, |
| 20466 | .patterns = &.{ |
| 20467 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20468 | }, |
| 20469 | .extra_temps = .{ |
| 20470 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20471 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 20472 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 20473 | .unused, |
| 20474 | .unused, |
| 20475 | .unused, |
| 20476 | .unused, |
| 20477 | .unused, |
| 20478 | .unused, |
| 20479 | .unused, |
| 20480 | .unused, |
| 20481 | }, |
| 20482 | .dst_temps = .{ .mem, .unused }, |
| 20483 | .clobbers = .{ .eflags = true }, |
| 20484 | .each = .{ .once = &.{ |
| 20485 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20486 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20487 | .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20488 | .{ ._, ._, .cmc, ._, ._, ._, ._ }, |
| 20489 | .{ ._, ._, .sbb, .tmp2d, .tmp2d, ._, ._ }, |
| 20490 | .{ ._, ._, .@"and", .tmp1d, .tmp2d, ._, ._ }, |
| 20491 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, |
| 20492 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 20493 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20494 | } }, |
| 20495 | }, .{ |
| 20496 | .required_features = .{ .avx2, null, null, null }, |
| 20497 | .src_constraints = .{ |
| 20498 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 64 } }, |
| 20499 | .{ .multiple_scalar_exact_signed_int = .{ .of = .yword, .is = 64 } }, |
| 20500 | .any, |
| 20501 | }, |
| 20502 | .patterns = &.{ |
| 20503 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20504 | }, |
| 20505 | .extra_temps = .{ |
| 20506 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20507 | .{ .type = .i64, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20508 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20509 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20510 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20511 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20512 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20513 | .unused, |
| 20514 | .unused, |
| 20515 | .unused, |
| 20516 | .unused, |
| 20517 | }, |
| 20518 | .dst_temps = .{ .mem, .unused }, |
| 20519 | .clobbers = .{ .eflags = true }, |
| 20520 | .each = .{ .once = &.{ |
| 20521 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20522 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| 20523 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20524 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20525 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20526 | .{ ._, .vp_, .xor, .tmp5y, .tmp5y, .tmp5y, ._ }, |
| 20527 | .{ ._, .vp_q, .sub, .tmp6y, .tmp3y, .tmp4y, ._ }, |
| 20528 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp5y, .tmp3y, ._ }, |
| 20529 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp6y, .tmp3y, ._ }, |
| 20530 | .{ ._, .vp_, .xor, .tmp5y, .tmp5y, .tmp2y, ._ }, |
| 20531 | .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| 20532 | .{ ._, .v_pd, .blendv, .tmp5y, .tmp6y, .tmp5y, .tmp3y }, |
| 20533 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp5y, ._, ._ }, |
| 20534 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 20535 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20536 | } }, |
| 20537 | }, .{ |
| 20538 | .required_features = .{ .avx, null, null, null }, |
| 20539 | .src_constraints = .{ |
| 20540 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 20541 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 20542 | .any, |
| 20543 | }, |
| 20544 | .patterns = &.{ |
| 20545 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20546 | }, |
| 20547 | .extra_temps = .{ |
| 20548 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20549 | .{ .type = .i64, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20550 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20551 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20552 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20553 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20554 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20555 | .unused, |
| 20556 | .unused, |
| 20557 | .unused, |
| 20558 | .unused, |
| 20559 | }, |
| 20560 | .dst_temps = .{ .mem, .unused }, |
| 20561 | .clobbers = .{ .eflags = true }, |
| 20562 | .each = .{ .once = &.{ |
| 20563 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20564 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 20565 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20566 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20567 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20568 | .{ ._, .vp_, .xor, .tmp5x, .tmp5x, .tmp5x, ._ }, |
| 20569 | .{ ._, .vp_q, .sub, .tmp6x, .tmp3x, .tmp4x, ._ }, |
| 20570 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp5x, .tmp3x, ._ }, |
| 20571 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp6x, .tmp3x, ._ }, |
| 20572 | .{ ._, .vp_, .xor, .tmp5x, .tmp5x, .tmp2x, ._ }, |
| 20573 | .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .tmp4x, ._ }, |
| 20574 | .{ ._, .v_pd, .blendv, .tmp5x, .tmp6x, .tmp5x, .tmp3x }, |
| 20575 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp5x, ._, ._ }, |
| 20576 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20577 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20578 | } }, |
| 20579 | }, .{ |
| 20580 | .required_features = .{ .sse4_2, null, null, null }, |
| 20581 | .src_constraints = .{ |
| 20582 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 20583 | .{ .multiple_scalar_exact_signed_int = .{ .of = .xword, .is = 64 } }, |
| 20584 | .any, |
| 20585 | }, |
| 20586 | .patterns = &.{ |
| 20587 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20588 | }, |
| 20589 | .extra_temps = .{ |
| 20590 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20591 | .{ .type = .i64, .kind = .{ .smax_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20592 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20593 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20594 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20595 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20596 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20597 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 20598 | .unused, |
| 20599 | .unused, |
| 20600 | .unused, |
| 20601 | }, |
| 20602 | .dst_temps = .{ .mem, .unused }, |
| 20603 | .clobbers = .{ .eflags = true }, |
| 20604 | .each = .{ .once = &.{ |
| 20605 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20606 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 20607 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20608 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20609 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20610 | .{ ._, .p_, .xor, .tmp5x, .tmp5x, ._, ._ }, |
| 20611 | .{ ._, ._dqa, .mov, .tmp6x, .tmp3x, ._, ._ }, |
| 20612 | .{ ._, .p_q, .sub, .tmp6x, .tmp4x, ._, ._ }, |
| 20613 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp3x, ._, ._ }, |
| 20614 | .{ ._, ._dqa, .mov, .tmp7x, .tmp6x, ._, ._ }, |
| 20615 | .{ ._, .p_q, .cmpgt, .tmp7x, .tmp3x, ._, ._ }, |
| 20616 | .{ ._, .p_, .xor, .tmp5x, .tmp2x, ._, ._ }, |
| 20617 | .{ ._, .p_, .xor, .tmp7x, .tmp4x, ._, ._ }, |
| 20618 | .{ ._, ._pd, .blendv, .tmp6x, .tmp5x, .tmp7x, ._ }, |
| 20619 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp6x, ._, ._ }, |
| 20620 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20621 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20622 | } }, |
| 20623 | }, .{ |
| 20624 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 20625 | .src_constraints = .{ |
| 20626 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 64 } }, |
| 20627 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 64 } }, |
| 20628 | .any, |
| 20629 | }, |
| 20630 | .patterns = &.{ |
| 20631 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20632 | }, |
| 20633 | .extra_temps = .{ |
| 20634 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20635 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20636 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20637 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20638 | .unused, |
| 20639 | .unused, |
| 20640 | .unused, |
| 20641 | .unused, |
| 20642 | .unused, |
| 20643 | .unused, |
| 20644 | .unused, |
| 20645 | }, |
| 20646 | .dst_temps = .{ .mem, .unused }, |
| 20647 | .clobbers = .{ .eflags = true }, |
| 20648 | .each = .{ .once = &.{ |
| 20649 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20650 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smax), ._, ._ }, |
| 20651 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20652 | .{ ._, ._, .mov, .tmp3q, .tmp2q, ._, ._ }, |
| 20653 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 20654 | .{ ._, ._, .xor, .tmp3q, .tmp1q, ._, ._ }, |
| 20655 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20656 | .{ ._, ._o, .cmov, .tmp2q, .tmp3q, ._, ._ }, |
| 20657 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 20658 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 20659 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20660 | } }, |
| 20661 | }, .{ |
| 20662 | .required_features = .{ .@"64bit", null, null, null }, |
| 20663 | .src_constraints = .{ |
| 20664 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 64 } }, |
| 20665 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 64 } }, |
| 20666 | .any, |
| 20667 | }, |
| 20668 | .patterns = &.{ |
| 20669 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20670 | }, |
| 20671 | .extra_temps = .{ |
| 20672 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20673 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20674 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20675 | .unused, |
| 20676 | .unused, |
| 20677 | .unused, |
| 20678 | .unused, |
| 20679 | .unused, |
| 20680 | .unused, |
| 20681 | .unused, |
| 20682 | .unused, |
| 20683 | }, |
| 20684 | .dst_temps = .{ .mem, .unused }, |
| 20685 | .clobbers = .{ .eflags = true }, |
| 20686 | .each = .{ .once = &.{ |
| 20687 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20688 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smin), ._, ._ }, |
| 20689 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20690 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20691 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 20692 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 20693 | .{ ._, ._, .xor, .tmp2q, .tmp1q, ._, ._ }, |
| 20694 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 20695 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 20696 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20697 | } }, |
| 20698 | }, .{ |
| 20699 | .required_features = .{ .avx2, null, null, null }, |
| 20700 | .src_constraints = .{ |
| 20701 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, |
| 20702 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, |
| 20703 | .any, |
| 20704 | }, |
| 20705 | .patterns = &.{ |
| 20706 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20707 | }, |
| 20708 | .extra_temps = .{ |
| 20709 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20710 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20711 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20712 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20713 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20714 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 20715 | .unused, |
| 20716 | .unused, |
| 20717 | .unused, |
| 20718 | .unused, |
| 20719 | .unused, |
| 20720 | }, |
| 20721 | .dst_temps = .{ .mem, .unused }, |
| 20722 | .clobbers = .{ .eflags = true }, |
| 20723 | .each = .{ .once = &.{ |
| 20724 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20725 | .{ ._, .vp_q, .cmpeq, .tmp2y, .tmp2y, .tmp2y, ._ }, |
| 20726 | .{ ._, .vp_q, .broadcast, .tmp3y, .lea(.tmp0q), ._, ._ }, |
| 20727 | .{ ._, .vp_, .xor, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 20728 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20729 | .{ .@"0:", .v_dqa, .mov, .tmp4y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20730 | .{ ._, .vp_q, .sub, .tmp4y, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 20731 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| 20732 | .{ ._, .vp_b, .blendv, .tmp4y, .tmp4y, .tmp3y, .tmp5y }, |
| 20733 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp4y, .tmp2y, ._ }, |
| 20734 | .{ ._, .vp_b, .blendv, .tmp4y, .tmp4y, .tmp2y, .tmp5y }, |
| 20735 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp4y, ._, ._ }, |
| 20736 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 20737 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20738 | } }, |
| 20739 | }, .{ |
| 20740 | .required_features = .{ .avx, null, null, null }, |
| 20741 | .src_constraints = .{ |
| 20742 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 20743 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 20744 | .any, |
| 20745 | }, |
| 20746 | .patterns = &.{ |
| 20747 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20748 | }, |
| 20749 | .extra_temps = .{ |
| 20750 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20751 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20752 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20753 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20754 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20755 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20756 | .unused, |
| 20757 | .unused, |
| 20758 | .unused, |
| 20759 | .unused, |
| 20760 | .unused, |
| 20761 | }, |
| 20762 | .dst_temps = .{ .mem, .unused }, |
| 20763 | .clobbers = .{ .eflags = true }, |
| 20764 | .each = .{ .once = &.{ |
| 20765 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20766 | .{ ._, .vp_q, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 20767 | .{ ._, .v_, .movddup, .tmp3x, .lea(.tmp0q), ._, ._ }, |
| 20768 | .{ ._, .vp_, .xor, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 20769 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20770 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20771 | .{ ._, .vp_q, .sub, .tmp4x, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 20772 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp3x, .tmp4x, ._ }, |
| 20773 | .{ ._, .vp_b, .blendv, .tmp4x, .tmp4x, .tmp3x, .tmp5x }, |
| 20774 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .tmp2x, ._ }, |
| 20775 | .{ ._, .vp_b, .blendv, .tmp4x, .tmp4x, .tmp2x, .tmp5x }, |
| 20776 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 20777 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20778 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20779 | } }, |
| 20780 | }, .{ |
| 20781 | .required_features = .{ .sse4_2, null, null, null }, |
| 20782 | .src_constraints = .{ |
| 20783 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 20784 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, |
| 20785 | .any, |
| 20786 | }, |
| 20787 | .patterns = &.{ |
| 20788 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20789 | }, |
| 20790 | .extra_temps = .{ |
| 20791 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20792 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 20793 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20794 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20795 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 20796 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 20797 | .unused, |
| 20798 | .unused, |
| 20799 | .unused, |
| 20800 | .unused, |
| 20801 | .unused, |
| 20802 | }, |
| 20803 | .dst_temps = .{ .mem, .unused }, |
| 20804 | .clobbers = .{ .eflags = true }, |
| 20805 | .each = .{ .once = &.{ |
| 20806 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 20807 | .{ ._, .p_q, .cmpeq, .tmp2x, .tmp2x, ._, ._ }, |
| 20808 | .{ ._, ._, .movddup, .tmp3x, .lea(.tmp0q), ._, ._ }, |
| 20809 | .{ ._, .p_, .xor, .tmp2x, .tmp3x, ._, ._ }, |
| 20810 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20811 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20812 | .{ ._, .p_q, .sub, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20813 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, |
| 20814 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| 20815 | .{ ._, .p_b, .blendv, .tmp4x, .tmp3x, .tmp5x, ._ }, |
| 20816 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| 20817 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp2x, ._, ._ }, |
| 20818 | .{ ._, .p_b, .blendv, .tmp4x, .tmp2x, .tmp5x, ._ }, |
| 20819 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| 20820 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20821 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20822 | } }, |
| 20823 | }, .{ |
| 20824 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 20825 | .src_constraints = .{ |
| 20826 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 63 } }, |
| 20827 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 63 } }, |
| 20828 | .any, |
| 20829 | }, |
| 20830 | .patterns = &.{ |
| 20831 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20832 | }, |
| 20833 | .extra_temps = .{ |
| 20834 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20835 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20836 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20837 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20838 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20839 | .unused, |
| 20840 | .unused, |
| 20841 | .unused, |
| 20842 | .unused, |
| 20843 | .unused, |
| 20844 | .unused, |
| 20845 | }, |
| 20846 | .dst_temps = .{ .mem, .unused }, |
| 20847 | .clobbers = .{ .eflags = true }, |
| 20848 | .each = .{ .once = &.{ |
| 20849 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20850 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smax), ._, ._ }, |
| 20851 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20852 | .{ ._, ._, .mov, .tmp3q, .tmp2q, ._, ._ }, |
| 20853 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 20854 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20855 | .{ ._, ._, .xor, .tmp3q, .tmp1q, ._, ._ }, |
| 20856 | .{ ._, ._, .mov, .tmp4q, .tmp2q, ._, ._ }, |
| 20857 | .{ ._, ._, .add, .tmp4q, .tmp4q, ._, ._ }, |
| 20858 | .{ ._, ._o, .cmov, .tmp2q, .tmp3q, ._, ._ }, |
| 20859 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 20860 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 20861 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20862 | } }, |
| 20863 | }, .{ |
| 20864 | .required_features = .{ .@"64bit", null, null, null }, |
| 20865 | .src_constraints = .{ |
| 20866 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 63 } }, |
| 20867 | .{ .multiple_scalar_exact_signed_int = .{ .of = .qword, .is = 63 } }, |
| 20868 | .any, |
| 20869 | }, |
| 20870 | .patterns = &.{ |
| 20871 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20872 | }, |
| 20873 | .extra_temps = .{ |
| 20874 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20875 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20876 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20877 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20878 | .unused, |
| 20879 | .unused, |
| 20880 | .unused, |
| 20881 | .unused, |
| 20882 | .unused, |
| 20883 | .unused, |
| 20884 | .unused, |
| 20885 | }, |
| 20886 | .dst_temps = .{ .mem, .unused }, |
| 20887 | .clobbers = .{ .eflags = true }, |
| 20888 | .each = .{ .once = &.{ |
| 20889 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20890 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smax), ._, ._ }, |
| 20891 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20892 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20893 | .{ ._, ._, .mov, .tmp3q, .tmp2q, ._, ._ }, |
| 20894 | .{ ._, ._, .add, .tmp3q, .tmp3q, ._, ._ }, |
| 20895 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 20896 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 20897 | .{ ._, ._, .xor, .tmp2q, .tmp1q, ._, ._ }, |
| 20898 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 20899 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 20900 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20901 | } }, |
| 20902 | }, .{ |
| 20903 | .required_features = .{ .@"64bit", .bmi2, .cmov, null }, |
| 20904 | .src_constraints = .{ |
| 20905 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 20906 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 20907 | .any, |
| 20908 | }, |
| 20909 | .patterns = &.{ |
| 20910 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20911 | }, |
| 20912 | .extra_temps = .{ |
| 20913 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20914 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20915 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20916 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20917 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20918 | .unused, |
| 20919 | .unused, |
| 20920 | .unused, |
| 20921 | .unused, |
| 20922 | .unused, |
| 20923 | .unused, |
| 20924 | }, |
| 20925 | .dst_temps = .{ .mem, .unused }, |
| 20926 | .clobbers = .{ .eflags = true }, |
| 20927 | .each = .{ .once = &.{ |
| 20928 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20929 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smax), ._, ._ }, |
| 20930 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20931 | .{ ._, ._, .mov, .tmp3q, .tmp2q, ._, ._ }, |
| 20932 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 20933 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20934 | .{ ._, ._, .xor, .tmp3q, .tmp1q, ._, ._ }, |
| 20935 | .{ ._, ._rx, .ro, .tmp4q, .tmp2q, .sia(-31, .src0, .add_bit_size_rem_64), ._ }, |
| 20936 | .{ ._, ._, .add, .tmp4d, .tmp4d, ._, ._ }, |
| 20937 | .{ ._, ._o, .cmov, .tmp2q, .tmp3q, ._, ._ }, |
| 20938 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 20939 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 20940 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20941 | } }, |
| 20942 | }, .{ |
| 20943 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 20944 | .src_constraints = .{ |
| 20945 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 20946 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 20947 | .any, |
| 20948 | }, |
| 20949 | .patterns = &.{ |
| 20950 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20951 | }, |
| 20952 | .extra_temps = .{ |
| 20953 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20954 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20955 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20956 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20957 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20958 | .unused, |
| 20959 | .unused, |
| 20960 | .unused, |
| 20961 | .unused, |
| 20962 | .unused, |
| 20963 | .unused, |
| 20964 | }, |
| 20965 | .dst_temps = .{ .mem, .unused }, |
| 20966 | .clobbers = .{ .eflags = true }, |
| 20967 | .each = .{ .once = &.{ |
| 20968 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 20969 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smax), ._, ._ }, |
| 20970 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20971 | .{ ._, ._, .mov, .tmp3q, .tmp2q, ._, ._ }, |
| 20972 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 20973 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 20974 | .{ ._, ._, .xor, .tmp3q, .tmp1q, ._, ._ }, |
| 20975 | .{ ._, ._, .mov, .tmp4q, .tmp2q, ._, ._ }, |
| 20976 | .{ ._, ._r, .sa, .tmp4q, .sia(-31, .src0, .add_bit_size_rem_64), ._, ._ }, |
| 20977 | .{ ._, ._, .add, .tmp4d, .tmp4d, ._, ._ }, |
| 20978 | .{ ._, ._o, .cmov, .tmp2q, .tmp3q, ._, ._ }, |
| 20979 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 20980 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 20981 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20982 | } }, |
| 20983 | }, .{ |
| 20984 | .required_features = .{ .@"64bit", null, null, null }, |
| 20985 | .src_constraints = .{ |
| 20986 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 20987 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 20988 | .any, |
| 20989 | }, |
| 20990 | .patterns = &.{ |
| 20991 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20992 | }, |
| 20993 | .extra_temps = .{ |
| 20994 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20995 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20996 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20997 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 20998 | .unused, |
| 20999 | .unused, |
| 21000 | .unused, |
| 21001 | .unused, |
| 21002 | .unused, |
| 21003 | .unused, |
| 21004 | .unused, |
| 21005 | }, |
| 21006 | .dst_temps = .{ .mem, .unused }, |
| 21007 | .clobbers = .{ .eflags = true }, |
| 21008 | .each = .{ .once = &.{ |
| 21009 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21010 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_smax), ._, ._ }, |
| 21011 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21012 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21013 | .{ ._, ._, .mov, .tmp3q, .tmp2q, ._, ._ }, |
| 21014 | .{ ._, ._r, .sa, .tmp3q, .sia(-31, .src0, .add_bit_size_rem_64), ._, ._ }, |
| 21015 | .{ ._, ._, .add, .tmp3d, .tmp3d, ._, ._ }, |
| 21016 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 21017 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 21018 | .{ ._, ._, .xor, .tmp2q, .tmp1q, ._, ._ }, |
| 21019 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 21020 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 21021 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21022 | } }, |
| 21023 | }, .{ |
| 21024 | .required_features = .{ .avx2, null, null, null }, |
| 21025 | .src_constraints = .{ |
| 21026 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 21027 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 21028 | .any, |
| 21029 | }, |
| 21030 | .patterns = &.{ |
| 21031 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21032 | }, |
| 21033 | .extra_temps = .{ |
| 21034 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21035 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 21036 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 21037 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 21038 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 21039 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 21040 | .unused, |
| 21041 | .unused, |
| 21042 | .unused, |
| 21043 | .unused, |
| 21044 | .unused, |
| 21045 | }, |
| 21046 | .dst_temps = .{ .mem, .unused }, |
| 21047 | .clobbers = .{ .eflags = true }, |
| 21048 | .each = .{ .once = &.{ |
| 21049 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 21050 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| 21051 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21052 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21053 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21054 | .{ ._, .vp_q, .sub, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| 21055 | .{ ._, .vp_, .xor, .tmp3y, .tmp3y, .tmp2y, ._ }, |
| 21056 | .{ ._, .vp_, .xor, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| 21057 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| 21058 | .{ ._, .vp_, .@"and", .tmp3y, .tmp5y, .tmp3y, ._ }, |
| 21059 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp3y, ._, ._ }, |
| 21060 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 21061 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21062 | } }, |
| 21063 | }, .{ |
| 21064 | .required_features = .{ .avx, null, null, null }, |
| 21065 | .src_constraints = .{ |
| 21066 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 21067 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 21068 | .any, |
| 21069 | }, |
| 21070 | .patterns = &.{ |
| 21071 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21072 | }, |
| 21073 | .extra_temps = .{ |
| 21074 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21075 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 21076 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21077 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21078 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21079 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21080 | .unused, |
| 21081 | .unused, |
| 21082 | .unused, |
| 21083 | .unused, |
| 21084 | .unused, |
| 21085 | }, |
| 21086 | .dst_temps = .{ .mem, .unused }, |
| 21087 | .clobbers = .{ .eflags = true }, |
| 21088 | .each = .{ .once = &.{ |
| 21089 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 21090 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 21091 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21092 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21093 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21094 | .{ ._, .vp_q, .sub, .tmp5x, .tmp3x, .tmp4x, ._ }, |
| 21095 | .{ ._, .vp_, .xor, .tmp3x, .tmp3x, .tmp2x, ._ }, |
| 21096 | .{ ._, .vp_, .xor, .tmp4x, .tmp4x, .tmp2x, ._ }, |
| 21097 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp3x, .tmp4x, ._ }, |
| 21098 | .{ ._, .vp_, .@"and", .tmp3x, .tmp5x, .tmp3x, ._ }, |
| 21099 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, |
| 21100 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21101 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21102 | } }, |
| 21103 | }, .{ |
| 21104 | .required_features = .{ .sse4_2, null, null, null }, |
| 21105 | .src_constraints = .{ |
| 21106 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 21107 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 21108 | .any, |
| 21109 | }, |
| 21110 | .patterns = &.{ |
| 21111 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21112 | }, |
| 21113 | .extra_temps = .{ |
| 21114 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21115 | .{ .type = .i64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 21116 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21117 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21118 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21119 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21120 | .unused, |
| 21121 | .unused, |
| 21122 | .unused, |
| 21123 | .unused, |
| 21124 | .unused, |
| 21125 | }, |
| 21126 | .dst_temps = .{ .mem, .unused }, |
| 21127 | .clobbers = .{ .eflags = true }, |
| 21128 | .each = .{ .once = &.{ |
| 21129 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 21130 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 21131 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21132 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21133 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21134 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, |
| 21135 | .{ ._, .p_q, .sub, .tmp5x, .tmp4x, ._, ._ }, |
| 21136 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| 21137 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| 21138 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp4x, ._, ._ }, |
| 21139 | .{ ._, .p_, .@"and", .tmp3x, .tmp5x, ._, ._ }, |
| 21140 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, |
| 21141 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21142 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21143 | } }, |
| 21144 | }, .{ |
| 21145 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 21146 | .src_constraints = .{ |
| 21147 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .qword, .is = 64 } }, |
| 21148 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .qword, .is = 64 } }, |
| 21149 | .any, |
| 21150 | }, |
| 21151 | .patterns = &.{ |
| 21152 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21153 | }, |
| 21154 | .extra_temps = .{ |
| 21155 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21156 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21157 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21158 | .unused, |
| 21159 | .unused, |
| 21160 | .unused, |
| 21161 | .unused, |
| 21162 | .unused, |
| 21163 | .unused, |
| 21164 | .unused, |
| 21165 | .unused, |
| 21166 | }, |
| 21167 | .dst_temps = .{ .mem, .unused }, |
| 21168 | .clobbers = .{ .eflags = true }, |
| 21169 | .each = .{ .once = &.{ |
| 21170 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21171 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 21172 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21173 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21174 | .{ ._, ._c, .cmov, .tmp2q, .tmp1q, ._, ._ }, |
| 21175 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 21176 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 21177 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21178 | } }, |
| 21179 | }, .{ |
| 21180 | .required_features = .{ .@"64bit", null, null, null }, |
| 21181 | .src_constraints = .{ |
| 21182 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .qword, .is = 64 } }, |
| 21183 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .qword, .is = 64 } }, |
| 21184 | .any, |
| 21185 | }, |
| 21186 | .patterns = &.{ |
| 21187 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21188 | }, |
| 21189 | .extra_temps = .{ |
| 21190 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21191 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21192 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21193 | .unused, |
| 21194 | .unused, |
| 21195 | .unused, |
| 21196 | .unused, |
| 21197 | .unused, |
| 21198 | .unused, |
| 21199 | .unused, |
| 21200 | .unused, |
| 21201 | }, |
| 21202 | .dst_temps = .{ .mem, .unused }, |
| 21203 | .clobbers = .{ .eflags = true }, |
| 21204 | .each = .{ .once = &.{ |
| 21205 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21206 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21207 | .{ ._, ._, .sub, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21208 | .{ ._, ._, .cmc, ._, ._, ._, ._ }, |
| 21209 | .{ ._, ._, .sbb, .tmp2q, .tmp2q, ._, ._ }, |
| 21210 | .{ ._, ._, .@"and", .tmp1q, .tmp2q, ._, ._ }, |
| 21211 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 21212 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 21213 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21214 | } }, |
| 21215 | }, .{ |
| 21216 | .required_features = .{ .avx2, null, null, null }, |
| 21217 | .src_constraints = .{ |
| 21218 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, |
| 21219 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, |
| 21220 | .any, |
| 21221 | }, |
| 21222 | .patterns = &.{ |
| 21223 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21224 | }, |
| 21225 | .extra_temps = .{ |
| 21226 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21227 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 21228 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 21229 | .unused, |
| 21230 | .unused, |
| 21231 | .unused, |
| 21232 | .unused, |
| 21233 | .unused, |
| 21234 | .unused, |
| 21235 | .unused, |
| 21236 | .unused, |
| 21237 | }, |
| 21238 | .dst_temps = .{ .mem, .unused }, |
| 21239 | .clobbers = .{ .eflags = true }, |
| 21240 | .each = .{ .once = &.{ |
| 21241 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21242 | .{ ._, .vp_, .xor, .tmp1y, .tmp1y, .tmp1y, ._ }, |
| 21243 | .{ .@"0:", .v_dqa, .mov, .tmp2y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21244 | .{ ._, .vp_q, .sub, .tmp2y, .tmp2y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 21245 | .{ ._, .v_pd, .blendv, .tmp2y, .tmp2y, .tmp1y, .tmp2y }, |
| 21246 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp2y, ._, ._ }, |
| 21247 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 21248 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21249 | } }, |
| 21250 | }, .{ |
| 21251 | .required_features = .{ .avx, null, null, null }, |
| 21252 | .src_constraints = .{ |
| 21253 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 21254 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 21255 | .any, |
| 21256 | }, |
| 21257 | .patterns = &.{ |
| 21258 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21259 | }, |
| 21260 | .extra_temps = .{ |
| 21261 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21262 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21263 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21264 | .unused, |
| 21265 | .unused, |
| 21266 | .unused, |
| 21267 | .unused, |
| 21268 | .unused, |
| 21269 | .unused, |
| 21270 | .unused, |
| 21271 | .unused, |
| 21272 | }, |
| 21273 | .dst_temps = .{ .mem, .unused }, |
| 21274 | .clobbers = .{ .eflags = true }, |
| 21275 | .each = .{ .once = &.{ |
| 21276 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21277 | .{ ._, .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 21278 | .{ .@"0:", .v_dqa, .mov, .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21279 | .{ ._, .vp_q, .sub, .tmp2x, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 21280 | .{ ._, .v_pd, .blendv, .tmp2x, .tmp2x, .tmp1x, .tmp2x }, |
| 21281 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ }, |
| 21282 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21283 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21284 | } }, |
| 21285 | }, .{ |
| 21286 | .required_features = .{ .sse4_1, null, null, null }, |
| 21287 | .src_constraints = .{ |
| 21288 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 21289 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 21290 | .any, |
| 21291 | }, |
| 21292 | .patterns = &.{ |
| 21293 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21294 | }, |
| 21295 | .extra_temps = .{ |
| 21296 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21297 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 21298 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, |
| 21299 | .unused, |
| 21300 | .unused, |
| 21301 | .unused, |
| 21302 | .unused, |
| 21303 | .unused, |
| 21304 | .unused, |
| 21305 | .unused, |
| 21306 | .unused, |
| 21307 | }, |
| 21308 | .dst_temps = .{ .mem, .unused }, |
| 21309 | .clobbers = .{ .eflags = true }, |
| 21310 | .each = .{ .once = &.{ |
| 21311 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21312 | .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 21313 | .{ .@"0:", ._dqa, .mov, .tmp2x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21314 | .{ ._, .p_q, .sub, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21315 | .{ ._, ._pd, .blendv, .tmp2x, .tmp1x, .tmp2x, ._ }, |
| 21316 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp2x, ._, ._ }, |
| 21317 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21318 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21319 | } }, |
| 21320 | }, .{ |
| 21321 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 21322 | .src_constraints = .{ |
| 21323 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 21324 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 21325 | .any, |
| 21326 | }, |
| 21327 | .patterns = &.{ |
| 21328 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21329 | }, |
| 21330 | .extra_temps = .{ |
| 21331 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21332 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21333 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21334 | .unused, |
| 21335 | .unused, |
| 21336 | .unused, |
| 21337 | .unused, |
| 21338 | .unused, |
| 21339 | .unused, |
| 21340 | .unused, |
| 21341 | .unused, |
| 21342 | }, |
| 21343 | .dst_temps = .{ .mem, .unused }, |
| 21344 | .clobbers = .{ .eflags = true }, |
| 21345 | .each = .{ .once = &.{ |
| 21346 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21347 | .{ ._, ._, .xor, .tmp1q, .tmp1q, ._, ._ }, |
| 21348 | .{ .@"0:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21349 | .{ ._, ._, .sub, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21350 | .{ ._, ._c, .cmov, .tmp2q, .tmp1q, ._, ._ }, |
| 21351 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, |
| 21352 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 21353 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21354 | } }, |
| 21355 | }, .{ |
| 21356 | .required_features = .{ .@"64bit", null, null, null }, |
| 21357 | .src_constraints = .{ |
| 21358 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 21359 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 21360 | .any, |
| 21361 | }, |
| 21362 | .patterns = &.{ |
| 21363 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21364 | }, |
| 21365 | .extra_temps = .{ |
| 21366 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21367 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21368 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 21369 | .unused, |
| 21370 | .unused, |
| 21371 | .unused, |
| 21372 | .unused, |
| 21373 | .unused, |
| 21374 | .unused, |
| 21375 | .unused, |
| 21376 | .unused, |
| 21377 | }, |
| 21378 | .dst_temps = .{ .mem, .unused }, |
| 21379 | .clobbers = .{ .eflags = true }, |
| 21380 | .each = .{ .once = &.{ |
| 21381 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21382 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21383 | .{ ._, ._, .sub, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 21384 | .{ ._, ._, .cmc, ._, ._, ._, ._ }, |
| 21385 | .{ ._, ._, .sbb, .tmp2q, .tmp2q, ._, ._ }, |
| 21386 | .{ ._, ._, .@"and", .tmp1q, .tmp2q, ._, ._ }, |
| 21387 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, |
| 21388 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 21389 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21390 | } }, |
| 21391 | }, .{ |
| 21392 | .required_features = .{ .@"64bit", null, null, null }, |
| 21393 | .src_constraints = .{ |
| 21394 | .{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 21395 | .{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 21396 | .any, |
| 21397 | }, |
| 21398 | .patterns = &.{ |
| 21399 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21400 | }, |
| 21401 | .extra_temps = .{ |
| 21402 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21403 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 21404 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21405 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21406 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 21407 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 21408 | .unused, |
| 21409 | .unused, |
| 21410 | .unused, |
| 21411 | .unused, |
| 21412 | .unused, |
| 21413 | }, |
| 21414 | .dst_temps = .{ .mem, .unused }, |
| 21415 | .clobbers = .{ .eflags = true }, |
| 21416 | .each = .{ .once = &.{ |
| 21417 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21418 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 21419 | .{ .@"0:", ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_add_elem_size, -8), ._, ._ }, |
| 21420 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_add_elem_size, -8), ._, ._ }, |
| 21421 | .{ ._, ._, .lea, .tmp3p, .memiad(.dst0, .tmp0, .add_unaligned_size_add_elem_size, -8), ._, ._ }, |
| 21422 | .{ ._, ._, .mov, .tmp4p, .sia(1, .src0, .sub_elem_size_div_8), ._, ._ }, |
| 21423 | .{ .@"1:", ._, .mov, .tmp5q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, |
| 21424 | .{ ._, ._, .sbb, .tmp5q, .leasi(.tmp2q, .@"8", .tmp4), ._, ._ }, |
| 21425 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp5q, ._, ._ }, |
| 21426 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 21427 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 21428 | .{ ._, ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, |
| 21429 | .{ ._, ._, .sbb, .tmp5q, .lea(.tmp2q), ._, ._ }, |
| 21430 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 21431 | .{ ._, ._, .lea, .tmp1p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 21432 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 21433 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 21434 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 21435 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 21436 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 21437 | .{ .@"1:", ._, .mov, .lea(.tmp3q), .tmp5q, ._, ._ }, |
| 21438 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 21439 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21440 | } }, |
| 21441 | }, .{ |
| 21442 | .required_features = .{ .@"64bit", null, null, null }, |
| 21443 | .src_constraints = .{ |
| 21444 | .{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 21445 | .{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 21446 | .any, |
| 21447 | }, |
| 21448 | .patterns = &.{ |
| 21449 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21450 | }, |
| 21451 | .extra_temps = .{ |
| 21452 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21453 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 21454 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21455 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21456 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 21457 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 21458 | .unused, |
| 21459 | .unused, |
| 21460 | .unused, |
| 21461 | .unused, |
| 21462 | .unused, |
| 21463 | }, |
| 21464 | .dst_temps = .{ .mem, .unused }, |
| 21465 | .clobbers = .{ .eflags = true }, |
| 21466 | .each = .{ .once = &.{ |
| 21467 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21468 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 21469 | .{ .@"0:", ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_add_elem_size, -16), ._, ._ }, |
| 21470 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_add_elem_size, -16), ._, ._ }, |
| 21471 | .{ ._, ._, .lea, .tmp3p, .memiad(.dst0, .tmp0, .add_unaligned_size_add_elem_size, -16), ._, ._ }, |
| 21472 | .{ ._, ._, .mov, .tmp4p, .sia(2, .src0, .sub_elem_size_div_8), ._, ._ }, |
| 21473 | .{ .@"1:", ._, .mov, .tmp5q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, |
| 21474 | .{ ._, ._, .sbb, .tmp5q, .leasi(.tmp2q, .@"8", .tmp4), ._, ._ }, |
| 21475 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp5q, ._, ._ }, |
| 21476 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 21477 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 21478 | .{ ._, ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, |
| 21479 | .{ ._, ._, .sbb, .tmp5q, .lea(.tmp2q), ._, ._ }, |
| 21480 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 21481 | .{ ._, ._, .lea, .tmp1p, .leaad(.tmp3, .sub_src0_elem_size, 16), ._, ._ }, |
| 21482 | .{ ._, ._, .mov, .tmp4d, .sia(-2, .src0, .add_elem_size_div_8), ._, ._ }, |
| 21483 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 21484 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 21485 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 21486 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 21487 | .{ .@"1:", ._, .mov, .lea(.tmp3q), .tmp5q, ._, ._ }, |
| 21488 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 21489 | .{ ._, ._, .mov, .lead(.tmp3q, 8), .tmp5q, ._, ._ }, |
| 21490 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 21491 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21492 | } }, |
| 21493 | }, .{ |
| 21494 | .required_features = .{ .@"64bit", null, null, null }, |
| 21495 | .src_constraints = .{ |
| 21496 | .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 21497 | .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 21498 | .any, |
| 21499 | }, |
| 21500 | .patterns = &.{ |
| 21501 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21502 | }, |
| 21503 | .extra_temps = .{ |
| 21504 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21505 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 21506 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21507 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21508 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 21509 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 21510 | .unused, |
| 21511 | .unused, |
| 21512 | .unused, |
| 21513 | .unused, |
| 21514 | .unused, |
| 21515 | }, |
| 21516 | .dst_temps = .{ .mem, .unused }, |
| 21517 | .clobbers = .{ .eflags = true }, |
| 21518 | .each = .{ .once = &.{ |
| 21519 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21520 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 21521 | .{ .@"0:", ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_add_elem_size, -8), ._, ._ }, |
| 21522 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_add_elem_size, -8), ._, ._ }, |
| 21523 | .{ ._, ._, .lea, .tmp3p, .memiad(.dst0, .tmp0, .add_unaligned_size_add_elem_size, -8), ._, ._ }, |
| 21524 | .{ ._, ._, .mov, .tmp4p, .sia(1, .src0, .sub_elem_size_div_8), ._, ._ }, |
| 21525 | .{ .@"1:", ._, .mov, .tmp5q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, |
| 21526 | .{ ._, ._, .sbb, .tmp5q, .leasi(.tmp2q, .@"8", .tmp4), ._, ._ }, |
| 21527 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp5q, ._, ._ }, |
| 21528 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 21529 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 21530 | .{ ._, ._l, .sa, .tmp5q, .uia(63, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 21531 | .{ ._, ._, .add, .tmp5q, .tmp5q, ._, ._ }, |
| 21532 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 21533 | .{ ._, ._, .lea, .tmp1p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 21534 | .{ ._, ._, .mov, .tmp4d, .sia(-2, .src0, .add_elem_size_div_8), ._, ._ }, |
| 21535 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 21536 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 21537 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 21538 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 21539 | .{ ._, ._, .mov, .lead(.tmp3q, -8), .tmp5q, ._, ._ }, |
| 21540 | .{ .@"1:", ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 21541 | .{ ._, ._, .mov, .lea(.tmp3q), .tmp5q, ._, ._ }, |
| 21542 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 21543 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21544 | } }, |
| 21545 | }, .{ |
| 21546 | .required_features = .{ .@"64bit", null, null, null }, |
| 21547 | .src_constraints = .{ |
| 21548 | .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 21549 | .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 21550 | .any, |
| 21551 | }, |
| 21552 | .patterns = &.{ |
| 21553 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21554 | }, |
| 21555 | .extra_temps = .{ |
| 21556 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21557 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 21558 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21559 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21560 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 21561 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 21562 | .unused, |
| 21563 | .unused, |
| 21564 | .unused, |
| 21565 | .unused, |
| 21566 | .unused, |
| 21567 | }, |
| 21568 | .dst_temps = .{ .mem, .unused }, |
| 21569 | .clobbers = .{ .eflags = true }, |
| 21570 | .each = .{ .once = &.{ |
| 21571 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21572 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 21573 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_add_elem_size), ._, ._ }, |
| 21574 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size_add_elem_size), ._, ._ }, |
| 21575 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_unaligned_size_add_elem_size), ._, ._ }, |
| 21576 | .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_8), ._, ._ }, |
| 21577 | .{ .@"1:", ._, .mov, .tmp5q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, |
| 21578 | .{ ._, ._, .sbb, .tmp5q, .leasi(.tmp2q, .@"8", .tmp4), ._, ._ }, |
| 21579 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp5q, ._, ._ }, |
| 21580 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 21581 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 21582 | .{ ._, ._l, .sa, .tmp5q, .uia(63, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 21583 | .{ ._, ._, .add, .tmp5q, .tmp5q, ._, ._ }, |
| 21584 | .{ ._, ._no, .j, .@"1f", ._, ._, ._ }, |
| 21585 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp3, .sub_src0_elem_size), ._, ._ }, |
| 21586 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 21587 | .{ ._, ._r, .sa, .tmp5q, .ui(63), ._, ._ }, |
| 21588 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 21589 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| 21590 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 21591 | .{ ._, ._, .mov, .lead(.tmp3q, -8), .tmp5q, ._, ._ }, |
| 21592 | .{ .@"1:", ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 21593 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21594 | } }, |
| 21595 | }, .{ |
| 21596 | .required_features = .{ .@"64bit", null, null, null }, |
| 21597 | .src_constraints = .{ |
| 21598 | .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 21599 | .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 21600 | .any, |
| 21601 | }, |
| 21602 | .patterns = &.{ |
| 21603 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21604 | }, |
| 21605 | .extra_temps = .{ |
| 21606 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21607 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 21608 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21609 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21610 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 21611 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 21612 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 21613 | .unused, |
| 21614 | .unused, |
| 21615 | .unused, |
| 21616 | .unused, |
| 21617 | }, |
| 21618 | .dst_temps = .{ .mem, .unused }, |
| 21619 | .clobbers = .{ .eflags = true }, |
| 21620 | .each = .{ .once = &.{ |
| 21621 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 21622 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 21623 | .{ .@"0:", ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size_add_elem_size), ._, ._ }, |
| 21624 | .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size_add_elem_size), ._, ._ }, |
| 21625 | .{ ._, ._, .lea, .tmp4p, .memia(.dst0, .tmp0, .add_unaligned_size_add_elem_size), ._, ._ }, |
| 21626 | .{ ._, ._, .mov, .tmp5p, .sa(.src0, .sub_elem_size_div_8), ._, ._ }, |
| 21627 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 21628 | .{ ._, ._, .sbb, .tmp6q, .leasi(.tmp3q, .@"8", .tmp5), ._, ._ }, |
| 21629 | .{ ._, ._, .mov, .leasi(.tmp4q, .@"8", .tmp5), .tmp6q, ._, ._ }, |
| 21630 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 21631 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 21632 | .{ ._, ._nc, .j, .@"1f", ._, ._, ._ }, |
| 21633 | .{ ._, ._, .lea, .tmp5p, .leaa(.tmp4, .sub_src0_elem_size), ._, ._ }, |
| 21634 | .{ ._, ._, .mov, .tmp6d, .sa(.src0, .add_elem_size_div_8), ._, ._ }, |
| 21635 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 21636 | .{ .@"1:", ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, |
| 21637 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21638 | } }, |
| 16520 | 21639 | } }) catch |err| switch (err) { |
| 16521 | 21640 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| 16522 | 21641 | @tagName(air_tag), |