| ... | ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2389 | 2389 | } |
| 2390 | 2390 | |
| 2391 | 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2392 | | @setEvalBranchQuota(22_500); |
| 2392 | @setEvalBranchQuota(23_100); |
| 2393 | 2393 | const pt = cg.pt; |
| 2394 | 2394 | const zcu = pt.zcu; |
| 2395 | 2395 | const ip = &zcu.intern_pool; |
| ... | ... | @@ -98880,6 +98880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98880 | 98880 | .unused, |
| 98881 | 98881 | }, |
| 98882 | 98882 | .dst_temps = .{ .mem, .unused }, |
| 98883 | .clobbers = .{ .eflags = true }, |
| 98883 | 98884 | .each = .{ .once = &.{ |
| 98884 | 98885 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 98885 | 98886 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | ... | @@ -99134,6 +99135,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99134 | 99135 | .unused, |
| 99135 | 99136 | }, |
| 99136 | 99137 | .dst_temps = .{ .mem, .unused }, |
| 99138 | .clobbers = .{ .eflags = true }, |
| 99137 | 99139 | .each = .{ .once = &.{ |
| 99138 | 99140 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99139 | 99141 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -99164,6 +99166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99164 | 99166 | .unused, |
| 99165 | 99167 | }, |
| 99166 | 99168 | .dst_temps = .{ .mem, .unused }, |
| 99169 | .clobbers = .{ .eflags = true }, |
| 99167 | 99170 | .each = .{ .once = &.{ |
| 99168 | 99171 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99169 | 99172 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -99291,6 +99294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99291 | 99294 | .unused, |
| 99292 | 99295 | }, |
| 99293 | 99296 | .dst_temps = .{ .mem, .unused }, |
| 99297 | .clobbers = .{ .eflags = true }, |
| 99294 | 99298 | .each = .{ .once = &.{ |
| 99295 | 99299 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99296 | 99300 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -99320,6 +99324,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99320 | 99324 | .unused, |
| 99321 | 99325 | }, |
| 99322 | 99326 | .dst_temps = .{ .mem, .unused }, |
| 99327 | .clobbers = .{ .eflags = true }, |
| 99323 | 99328 | .each = .{ .once = &.{ |
| 99324 | 99329 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99325 | 99330 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| ... | ... | @@ -99545,6 +99550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99545 | 99550 | .unused, |
| 99546 | 99551 | }, |
| 99547 | 99552 | .dst_temps = .{ .mem, .unused }, |
| 99553 | .clobbers = .{ .eflags = true }, |
| 99548 | 99554 | .each = .{ .once = &.{ |
| 99549 | 99555 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99550 | 99556 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| ... | ... | @@ -100555,6 +100561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100555 | 100561 | .unused, |
| 100556 | 100562 | }, |
| 100557 | 100563 | .dst_temps = .{ .mem, .unused }, |
| 100564 | .clobbers = .{ .eflags = true }, |
| 100558 | 100565 | .each = .{ .once = &.{ |
| 100559 | 100566 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 100560 | 100567 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | ... | @@ -100586,6 +100593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100586 | 100593 | .unused, |
| 100587 | 100594 | }, |
| 100588 | 100595 | .dst_temps = .{ .mem, .unused }, |
| 100596 | .clobbers = .{ .eflags = true }, |
| 100589 | 100597 | .each = .{ .once = &.{ |
| 100590 | 100598 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 100591 | 100599 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | ... | @@ -100617,6 +100625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100617 | 100625 | .unused, |
| 100618 | 100626 | }, |
| 100619 | 100627 | .dst_temps = .{ .mem, .unused }, |
| 100628 | .clobbers = .{ .eflags = true }, |
| 100620 | 100629 | .each = .{ .once = &.{ |
| 100621 | 100630 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100622 | 100631 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -100645,6 +100654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100645 | 100654 | .unused, |
| 100646 | 100655 | }, |
| 100647 | 100656 | .dst_temps = .{ .mem, .unused }, |
| 100657 | .clobbers = .{ .eflags = true }, |
| 100648 | 100658 | .each = .{ .once = &.{ |
| 100649 | 100659 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100650 | 100660 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -100849,6 +100859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100849 | 100859 | .unused, |
| 100850 | 100860 | }, |
| 100851 | 100861 | .dst_temps = .{ .mem, .unused }, |
| 100862 | .clobbers = .{ .eflags = true }, |
| 100852 | 100863 | .each = .{ .once = &.{ |
| 100853 | 100864 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100854 | 100865 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -100878,6 +100889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100878 | 100889 | .unused, |
| 100879 | 100890 | }, |
| 100880 | 100891 | .dst_temps = .{ .mem, .unused }, |
| 100892 | .clobbers = .{ .eflags = true }, |
| 100881 | 100893 | .each = .{ .once = &.{ |
| 100882 | 100894 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100883 | 100895 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -100907,6 +100919,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100907 | 100919 | .unused, |
| 100908 | 100920 | }, |
| 100909 | 100921 | .dst_temps = .{ .mem, .unused }, |
| 100922 | .clobbers = .{ .eflags = true }, |
| 100910 | 100923 | .each = .{ .once = &.{ |
| 100911 | 100924 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100912 | 100925 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -100936,6 +100949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100936 | 100949 | .unused, |
| 100937 | 100950 | }, |
| 100938 | 100951 | .dst_temps = .{ .mem, .unused }, |
| 100952 | .clobbers = .{ .eflags = true }, |
| 100939 | 100953 | .each = .{ .once = &.{ |
| 100940 | 100954 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100941 | 100955 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -101051,6 +101065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101051 | 101065 | .unused, |
| 101052 | 101066 | }, |
| 101053 | 101067 | .dst_temps = .{ .mem, .unused }, |
| 101068 | .clobbers = .{ .eflags = true }, |
| 101054 | 101069 | .each = .{ .once = &.{ |
| 101055 | 101070 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101056 | 101071 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -101079,6 +101094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101079 | 101094 | .unused, |
| 101080 | 101095 | }, |
| 101081 | 101096 | .dst_temps = .{ .mem, .unused }, |
| 101097 | .clobbers = .{ .eflags = true }, |
| 101082 | 101098 | .each = .{ .once = &.{ |
| 101083 | 101099 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101084 | 101100 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -101231,6 +101247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101231 | 101247 | .unused, |
| 101232 | 101248 | }, |
| 101233 | 101249 | .dst_temps = .{ .mem, .unused }, |
| 101250 | .clobbers = .{ .eflags = true }, |
| 101234 | 101251 | .each = .{ .once = &.{ |
| 101235 | 101252 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101236 | 101253 | .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -101259,6 +101276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101259 | 101276 | .unused, |
| 101260 | 101277 | }, |
| 101261 | 101278 | .dst_temps = .{ .mem, .unused }, |
| 101279 | .clobbers = .{ .eflags = true }, |
| 101262 | 101280 | .each = .{ .once = &.{ |
| 101263 | 101281 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101264 | 101282 | .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | ... | @@ -101687,6 +101705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101687 | 101705 | }, |
| 101688 | 101706 | .extra_temps = .{ |
| 101689 | 101707 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101708 | .{ .type = .u16, .kind = .mem }, |
| 101690 | 101709 | .{ .type = .i16, .kind = .mem }, |
| 101691 | 101710 | .unused, |
| 101692 | 101711 | .unused, |
| ... | ... | @@ -101696,13 +101715,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101696 | 101715 | .unused, |
| 101697 | 101716 | .unused, |
| 101698 | 101717 | .unused, |
| 101699 | | .unused, |
| 101700 | 101718 | }, |
| 101701 | 101719 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 101702 | 101720 | .each = .{ .once = &.{ |
| 101703 | 101721 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101704 | | .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ }, |
| 101705 | | .{ ._, ._, .movsx, .dst0d, .tmp1b, ._, ._ }, |
| 101722 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101723 | .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ }, |
| 101724 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101725 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101726 | .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ }, |
| 101727 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| 101728 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101729 | .{ ._, ._, .movsx, .dst0d, .tmp2b, ._, ._ }, |
| 101706 | 101730 | } }, |
| 101707 | 101731 | }, .{ |
| 101708 | 101732 | .required_features = .{ .x87, null, null, null }, |
| ... | ... | @@ -101713,6 +101737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101713 | 101737 | }, |
| 101714 | 101738 | .extra_temps = .{ |
| 101715 | 101739 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101740 | .{ .type = .u16, .kind = .mem }, |
| 101716 | 101741 | .{ .type = .i16, .kind = .mem }, |
| 101717 | 101742 | .unused, |
| 101718 | 101743 | .unused, |
| ... | ... | @@ -101722,13 +101747,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101722 | 101747 | .unused, |
| 101723 | 101748 | .unused, |
| 101724 | 101749 | .unused, |
| 101725 | | .unused, |
| 101726 | 101750 | }, |
| 101727 | 101751 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 101728 | 101752 | .each = .{ .once = &.{ |
| 101729 | 101753 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101730 | | .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ }, |
| 101731 | | .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ }, |
| 101754 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101755 | .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ }, |
| 101756 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101757 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101758 | .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ }, |
| 101759 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| 101760 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101761 | .{ ._, ._, .movzx, .dst0d, .tmp2b, ._, ._ }, |
| 101732 | 101762 | } }, |
| 101733 | 101763 | }, .{ |
| 101734 | 101764 | .required_features = .{ .x87, null, null, null }, |
| ... | ... | @@ -101739,8 +101769,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101739 | 101769 | }, |
| 101740 | 101770 | .extra_temps = .{ |
| 101741 | 101771 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101742 | | .unused, |
| 101743 | | .unused, |
| 101772 | .{ .type = .u16, .kind = .mem }, |
| 101773 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 101744 | 101774 | .unused, |
| 101745 | 101775 | .unused, |
| 101746 | 101776 | .unused, |
| ... | ... | @@ -101753,7 +101783,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101753 | 101783 | .dst_temps = .{ .mem, .unused }, |
| 101754 | 101784 | .each = .{ .once = &.{ |
| 101755 | 101785 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101756 | | .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ }, |
| 101786 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101787 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 101788 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101789 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101790 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 101791 | .{ ._, .fi_p, .st, .dst0w, ._, ._, ._ }, |
| 101792 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101757 | 101793 | } }, |
| 101758 | 101794 | }, .{ |
| 101759 | 101795 | .required_features = .{ .x87, null, null, null }, |
| ... | ... | @@ -101764,8 +101800,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101764 | 101800 | }, |
| 101765 | 101801 | .extra_temps = .{ |
| 101766 | 101802 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101767 | | .unused, |
| 101768 | | .unused, |
| 101803 | .{ .type = .u16, .kind = .mem }, |
| 101804 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 101769 | 101805 | .unused, |
| 101770 | 101806 | .unused, |
| 101771 | 101807 | .unused, |
| ... | ... | @@ -101778,7 +101814,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101778 | 101814 | .dst_temps = .{ .mem, .unused }, |
| 101779 | 101815 | .each = .{ .once = &.{ |
| 101780 | 101816 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101781 | | .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ }, |
| 101817 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101818 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 101819 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101820 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101821 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 101822 | .{ ._, .fi_p, .st, .dst0d, ._, ._, ._ }, |
| 101823 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101782 | 101824 | } }, |
| 101783 | 101825 | }, .{ |
| 101784 | 101826 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | ... | @@ -101813,8 +101855,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101813 | 101855 | }, |
| 101814 | 101856 | .extra_temps = .{ |
| 101815 | 101857 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101816 | | .unused, |
| 101817 | | .unused, |
| 101858 | .{ .type = .u16, .kind = .mem }, |
| 101859 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 101818 | 101860 | .unused, |
| 101819 | 101861 | .unused, |
| 101820 | 101862 | .unused, |
| ... | ... | @@ -101827,7 +101869,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101827 | 101869 | .dst_temps = .{ .mem, .unused }, |
| 101828 | 101870 | .each = .{ .once = &.{ |
| 101829 | 101871 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101830 | | .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ }, |
| 101872 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101873 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 101874 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101875 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101876 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 101877 | .{ ._, .fi_p, .st, .dst0q, ._, ._, ._ }, |
| 101878 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101831 | 101879 | } }, |
| 101832 | 101880 | }, .{ |
| 101833 | 101881 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | ... | @@ -101901,12 +101949,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101901 | 101949 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101902 | 101950 | }, |
| 101903 | 101951 | .extra_temps = .{ |
| 101904 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 101905 | | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, |
| 101906 | | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 101907 | 101952 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101953 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 101954 | .{ .type = .u16, .kind = .mem }, |
| 101955 | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, |
| 101908 | 101956 | .{ .type = .i64, .kind = .mem }, |
| 101909 | | .unused, |
| 101957 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 101910 | 101958 | .unused, |
| 101911 | 101959 | .unused, |
| 101912 | 101960 | .unused, |
| ... | ... | @@ -101917,16 +101965,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101917 | 101965 | .clobbers = .{ .eflags = true }, |
| 101918 | 101966 | .each = .{ .once = &.{ |
| 101919 | 101967 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101920 | | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 101921 | | .{ ._, .f_, .ld, .tmp3t, ._, ._, ._ }, |
| 101922 | | .{ ._, .fi_p, .stt, .tmp4q, ._, ._, ._ }, |
| 101923 | | .{ ._, ._, .mov, .dst0q, .tmp4q, ._, ._ }, |
| 101924 | | .{ ._, .f_, .sub, .lea(.tmp0d), ._, ._, ._ }, |
| 101925 | | .{ ._, ._, .mov, .tmp0q, .dst0q, ._, ._ }, |
| 101926 | | .{ ._, .fi_p, .stt, .tmp4q, ._, ._, ._ }, |
| 101968 | .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ }, |
| 101969 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 101970 | .{ ._, ._, .movzx, .dst0d, .tmp2w, ._, ._ }, |
| 101971 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101972 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 101973 | .{ ._, ._, .mov, .tmp2w, .dst0w, ._, ._ }, |
| 101974 | .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ }, |
| 101975 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 101976 | .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ }, |
| 101977 | .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ }, |
| 101978 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 101979 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 101980 | .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ }, |
| 101927 | 101981 | .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ }, |
| 101928 | 101982 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, |
| 101929 | | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, |
| 101983 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| 101930 | 101984 | } }, |
| 101931 | 101985 | }, .{ |
| 101932 | 101986 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | ... | @@ -102248,10 +102302,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102248 | 102302 | }, |
| 102249 | 102303 | .extra_temps = .{ |
| 102250 | 102304 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 102305 | .{ .type = .u16, .kind = .mem }, |
| 102306 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102251 | 102307 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102252 | 102308 | .{ .type = .i16, .kind = .mem }, |
| 102253 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102254 | | .unused, |
| 102255 | 102309 | .unused, |
| 102256 | 102310 | .unused, |
| 102257 | 102311 | .unused, |
| ... | ... | @@ -102260,14 +102314,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102260 | 102314 | .unused, |
| 102261 | 102315 | }, |
| 102262 | 102316 | .dst_temps = .{ .mem, .unused }, |
| 102317 | .clobbers = .{ .eflags = true }, |
| 102263 | 102318 | .each = .{ .once = &.{ |
| 102264 | 102319 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102320 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 102321 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 102322 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 102323 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102324 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 102265 | 102325 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102266 | | .{ ._, .fi_p, .stt, .tmp2w, ._, ._, ._ }, |
| 102267 | | .{ ._, ._, .movzx, .tmp3d, .tmp2b, ._, ._ }, |
| 102268 | | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, |
| 102326 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, |
| 102327 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, |
| 102328 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, |
| 102269 | 102329 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 102270 | 102330 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 102331 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102271 | 102332 | } }, |
| 102272 | 102333 | }, .{ |
| 102273 | 102334 | .required_features = .{ .x87, null, null, null }, |
| ... | ... | @@ -102278,10 +102339,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102278 | 102339 | }, |
| 102279 | 102340 | .extra_temps = .{ |
| 102280 | 102341 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 102342 | .{ .type = .u16, .kind = .mem }, |
| 102343 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102281 | 102344 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102282 | 102345 | .{ .type = .i16, .kind = .mem }, |
| 102283 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102284 | | .unused, |
| 102285 | 102346 | .unused, |
| 102286 | 102347 | .unused, |
| 102287 | 102348 | .unused, |
| ... | ... | @@ -102290,14 +102351,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102290 | 102351 | .unused, |
| 102291 | 102352 | }, |
| 102292 | 102353 | .dst_temps = .{ .mem, .unused }, |
| 102354 | .clobbers = .{ .eflags = true }, |
| 102293 | 102355 | .each = .{ .once = &.{ |
| 102294 | 102356 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102357 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 102358 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 102359 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 102360 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102361 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 102295 | 102362 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102296 | | .{ ._, .fi_p, .stt, .tmp2w, ._, ._, ._ }, |
| 102297 | | .{ ._, ._, .movzx, .tmp3d, .tmp2b, ._, ._ }, |
| 102298 | | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, |
| 102363 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, |
| 102364 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, |
| 102365 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, |
| 102299 | 102366 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 102300 | 102367 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 102368 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102301 | 102369 | } }, |
| 102302 | 102370 | }, .{ |
| 102303 | 102371 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | ... | @@ -102723,6 +102791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102723 | 102791 | }, |
| 102724 | 102792 | .extra_temps = .{ |
| 102725 | 102793 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 102794 | .{ .type = .u16, .kind = .mem }, |
| 102726 | 102795 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102727 | 102796 | .unused, |
| 102728 | 102797 | .unused, |
| ... | ... | @@ -102732,15 +102801,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102732 | 102801 | .unused, |
| 102733 | 102802 | .unused, |
| 102734 | 102803 | .unused, |
| 102735 | | .unused, |
| 102736 | 102804 | }, |
| 102737 | 102805 | .dst_temps = .{ .mem, .unused }, |
| 102806 | .clobbers = .{ .eflags = true }, |
| 102738 | 102807 | .each = .{ .once = &.{ |
| 102808 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 102809 | .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ }, |
| 102810 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 102811 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102812 | .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ }, |
| 102739 | 102813 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102740 | 102814 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102741 | | .{ ._, .fi_p, .stt, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102815 | .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102742 | 102816 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 102743 | 102817 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 102818 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102744 | 102819 | } }, |
| 102745 | 102820 | }, .{ |
| 102746 | 102821 | .required_features = .{ .x87, null, null, null }, |
| ... | ... | @@ -102751,10 +102826,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102751 | 102826 | }, |
| 102752 | 102827 | .extra_temps = .{ |
| 102753 | 102828 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 102829 | .{ .type = .u16, .kind = .mem }, |
| 102830 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 102754 | 102831 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102755 | 102832 | .{ .type = .i32, .kind = .mem }, |
| 102756 | | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 102757 | | .unused, |
| 102758 | 102833 | .unused, |
| 102759 | 102834 | .unused, |
| 102760 | 102835 | .unused, |
| ... | ... | @@ -102763,14 +102838,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102763 | 102838 | .unused, |
| 102764 | 102839 | }, |
| 102765 | 102840 | .dst_temps = .{ .mem, .unused }, |
| 102841 | .clobbers = .{ .eflags = true }, |
| 102766 | 102842 | .each = .{ .once = &.{ |
| 102767 | 102843 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102844 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 102845 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 102846 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 102847 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102848 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 102768 | 102849 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102769 | | .{ ._, .fi_p, .stt, .tmp2d, ._, ._, ._ }, |
| 102770 | | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, |
| 102771 | | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, |
| 102850 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, |
| 102851 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 102852 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, |
| 102772 | 102853 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 102773 | 102854 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 102855 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102774 | 102856 | } }, |
| 102775 | 102857 | }, .{ |
| 102776 | 102858 | .required_features = .{ .avx, null, null, null }, |
| ... | ... | @@ -102969,6 +103051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102969 | 103051 | }, |
| 102970 | 103052 | .extra_temps = .{ |
| 102971 | 103053 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103054 | .{ .type = .u16, .kind = .mem }, |
| 102972 | 103055 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102973 | 103056 | .unused, |
| 102974 | 103057 | .unused, |
| ... | ... | @@ -102978,15 +103061,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102978 | 103061 | .unused, |
| 102979 | 103062 | .unused, |
| 102980 | 103063 | .unused, |
| 102981 | | .unused, |
| 102982 | 103064 | }, |
| 102983 | 103065 | .dst_temps = .{ .mem, .unused }, |
| 103066 | .clobbers = .{ .eflags = true }, |
| 102984 | 103067 | .each = .{ .once = &.{ |
| 103068 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 103069 | .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ }, |
| 103070 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103071 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103072 | .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ }, |
| 102985 | 103073 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102986 | 103074 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102987 | | .{ ._, .fi_p, .stt, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103075 | .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102988 | 103076 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 102989 | 103077 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103078 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102990 | 103079 | } }, |
| 102991 | 103080 | }, .{ |
| 102992 | 103081 | .required_features = .{ .x87, null, null, null }, |
| ... | ... | @@ -102997,10 +103086,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102997 | 103086 | }, |
| 102998 | 103087 | .extra_temps = .{ |
| 102999 | 103088 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103089 | .{ .type = .u16, .kind = .mem }, |
| 103090 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103000 | 103091 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103001 | 103092 | .{ .type = .i64, .kind = .mem }, |
| 103002 | | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103003 | | .unused, |
| 103004 | 103093 | .unused, |
| 103005 | 103094 | .unused, |
| 103006 | 103095 | .unused, |
| ... | ... | @@ -103009,14 +103098,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103009 | 103098 | .unused, |
| 103010 | 103099 | }, |
| 103011 | 103100 | .dst_temps = .{ .mem, .unused }, |
| 103101 | .clobbers = .{ .eflags = true }, |
| 103012 | 103102 | .each = .{ .once = &.{ |
| 103013 | 103103 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 103104 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 103105 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 103106 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103107 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103108 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 103014 | 103109 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103015 | | .{ ._, .fi_p, .stt, .tmp2q, ._, ._, ._ }, |
| 103016 | | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, |
| 103017 | | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, |
| 103110 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 103111 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 103112 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, |
| 103018 | 103113 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 103019 | 103114 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103115 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103020 | 103116 | } }, |
| 103021 | 103117 | }, .{ |
| 103022 | 103118 | .required_features = .{ .avx, null, null, null }, |
| ... | ... | @@ -103273,6 +103369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103273 | 103369 | }, |
| 103274 | 103370 | .extra_temps = .{ |
| 103275 | 103371 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103372 | .{ .type = .u16, .kind = .mem }, |
| 103276 | 103373 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103277 | 103374 | .unused, |
| 103278 | 103375 | .unused, |
| ... | ... | @@ -103282,15 +103379,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103282 | 103379 | .unused, |
| 103283 | 103380 | .unused, |
| 103284 | 103381 | .unused, |
| 103285 | | .unused, |
| 103286 | 103382 | }, |
| 103287 | 103383 | .dst_temps = .{ .mem, .unused }, |
| 103384 | .clobbers = .{ .eflags = true }, |
| 103288 | 103385 | .each = .{ .once = &.{ |
| 103289 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 103386 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 103387 | .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ }, |
| 103388 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103389 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103390 | .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ }, |
| 103391 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 103290 | 103392 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103291 | | .{ ._, .fi_p, .stt, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103393 | .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103292 | 103394 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 103293 | 103395 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103396 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103294 | 103397 | } }, |
| 103295 | 103398 | }, .{ |
| 103296 | 103399 | .required_features = .{ .avx, null, null, null }, |
| ... | ... | @@ -103881,7 +103984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103881 | 103984 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103882 | 103985 | } }, |
| 103883 | 103986 | }, .{ |
| 103884 | | .required_features = .{ .x87, null, null, null }, |
| 103987 | .required_features = .{ .sse3, .x87, null, null }, |
| 103885 | 103988 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 103886 | 103989 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 103887 | 103990 | .patterns = &.{ |
| ... | ... | @@ -103889,7 +103992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103889 | 103992 | .{ .src = .{ .to_x87, .none, .none } }, |
| 103890 | 103993 | }, |
| 103891 | 103994 | .extra_temps = .{ |
| 103892 | | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103995 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103893 | 103996 | .{ .type = .i16, .kind = .mem }, |
| 103894 | 103997 | .unused, |
| 103895 | 103998 | .unused, |
| ... | ... | @@ -103910,13 +104013,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103910 | 104013 | }, .{ |
| 103911 | 104014 | .required_features = .{ .x87, null, null, null }, |
| 103912 | 104015 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104016 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 104017 | .patterns = &.{ |
| 104018 | .{ .src = .{ .mem, .none, .none } }, |
| 104019 | .{ .src = .{ .to_x87, .none, .none } }, |
| 104020 | }, |
| 104021 | .extra_temps = .{ |
| 104022 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104023 | .{ .type = .u16, .kind = .mem }, |
| 104024 | .{ .type = .i16, .kind = .mem }, |
| 104025 | .unused, |
| 104026 | .unused, |
| 104027 | .unused, |
| 104028 | .unused, |
| 104029 | .unused, |
| 104030 | .unused, |
| 104031 | .unused, |
| 104032 | .unused, |
| 104033 | }, |
| 104034 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 104035 | .each = .{ .once = &.{ |
| 104036 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 104037 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104038 | .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ }, |
| 104039 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104040 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104041 | .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ }, |
| 104042 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| 104043 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104044 | .{ ._, ._, .movsx, .dst0d, .tmp2b, ._, ._ }, |
| 104045 | } }, |
| 104046 | }, .{ |
| 104047 | .required_features = .{ .sse3, .x87, null, null }, |
| 104048 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 103913 | 104049 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 103914 | 104050 | .patterns = &.{ |
| 103915 | 104051 | .{ .src = .{ .mem, .none, .none } }, |
| 103916 | 104052 | .{ .src = .{ .to_x87, .none, .none } }, |
| 103917 | 104053 | }, |
| 103918 | 104054 | .extra_temps = .{ |
| 103919 | | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 104055 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103920 | 104056 | .{ .type = .i16, .kind = .mem }, |
| 103921 | 104057 | .unused, |
| 103922 | 104058 | .unused, |
| ... | ... | @@ -103935,7 +104071,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103935 | 104071 | .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ }, |
| 103936 | 104072 | } }, |
| 103937 | 104073 | }, .{ |
| 103938 | | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 104074 | .required_features = .{ .x87, null, null, null }, |
| 104075 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104076 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 104077 | .patterns = &.{ |
| 104078 | .{ .src = .{ .mem, .none, .none } }, |
| 104079 | .{ .src = .{ .to_x87, .none, .none } }, |
| 104080 | }, |
| 104081 | .extra_temps = .{ |
| 104082 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104083 | .{ .type = .u16, .kind = .mem }, |
| 104084 | .{ .type = .i16, .kind = .mem }, |
| 104085 | .unused, |
| 104086 | .unused, |
| 104087 | .unused, |
| 104088 | .unused, |
| 104089 | .unused, |
| 104090 | .unused, |
| 104091 | .unused, |
| 104092 | .unused, |
| 104093 | }, |
| 104094 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 104095 | .each = .{ .once = &.{ |
| 104096 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 104097 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104098 | .{ ._, ._, .movzx, .dst0d, .tmp1w, ._, ._ }, |
| 104099 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104100 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104101 | .{ ._, ._, .mov, .tmp1w, .dst0w, ._, ._ }, |
| 104102 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| 104103 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104104 | .{ ._, ._, .movzx, .dst0d, .tmp2b, ._, ._ }, |
| 104105 | } }, |
| 104106 | }, .{ |
| 104107 | .required_features = .{ .sse3, .x87, .slow_incdec, null }, |
| 103939 | 104108 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 103940 | 104109 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 103941 | 104110 | .patterns = &.{ |
| ... | ... | @@ -103946,7 +104115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103946 | 104115 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103947 | 104116 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103948 | 104117 | .{ .type = .i16, .kind = .mem }, |
| 103949 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 104118 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 103950 | 104119 | .unused, |
| 103951 | 104120 | .unused, |
| 103952 | 104121 | .unused, |
| ... | ... | @@ -103968,7 +104137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103968 | 104137 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103969 | 104138 | } }, |
| 103970 | 104139 | }, .{ |
| 103971 | | .required_features = .{ .x87, null, null, null }, |
| 104140 | .required_features = .{ .sse3, .x87, null, null }, |
| 103972 | 104141 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 103973 | 104142 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 103974 | 104143 | .patterns = &.{ |
| ... | ... | @@ -103979,7 +104148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103979 | 104148 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103980 | 104149 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103981 | 104150 | .{ .type = .i16, .kind = .mem }, |
| 103982 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 104151 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 103983 | 104152 | .unused, |
| 103984 | 104153 | .unused, |
| 103985 | 104154 | .unused, |
| ... | ... | @@ -104003,6 +104172,84 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104003 | 104172 | }, .{ |
| 104004 | 104173 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 104005 | 104174 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104175 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104176 | .patterns = &.{ |
| 104177 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104178 | }, |
| 104179 | .extra_temps = .{ |
| 104180 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104181 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104182 | .{ .type = .u16, .kind = .mem }, |
| 104183 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 104184 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104185 | .{ .type = .i16, .kind = .mem }, |
| 104186 | .unused, |
| 104187 | .unused, |
| 104188 | .unused, |
| 104189 | .unused, |
| 104190 | .unused, |
| 104191 | }, |
| 104192 | .dst_temps = .{ .mem, .unused }, |
| 104193 | .clobbers = .{ .eflags = true }, |
| 104194 | .each = .{ .once = &.{ |
| 104195 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| 104196 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104197 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104198 | .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ }, |
| 104199 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104200 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104201 | .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ }, |
| 104202 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104203 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 104204 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, |
| 104205 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| 104206 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| 104207 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, |
| 104208 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104209 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104210 | } }, |
| 104211 | }, .{ |
| 104212 | .required_features = .{ .x87, null, null, null }, |
| 104213 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104214 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104215 | .patterns = &.{ |
| 104216 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104217 | }, |
| 104218 | .extra_temps = .{ |
| 104219 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104220 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104221 | .{ .type = .u16, .kind = .mem }, |
| 104222 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 104223 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104224 | .{ .type = .i16, .kind = .mem }, |
| 104225 | .unused, |
| 104226 | .unused, |
| 104227 | .unused, |
| 104228 | .unused, |
| 104229 | .unused, |
| 104230 | }, |
| 104231 | .dst_temps = .{ .mem, .unused }, |
| 104232 | .clobbers = .{ .eflags = true }, |
| 104233 | .each = .{ .once = &.{ |
| 104234 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| 104235 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104236 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104237 | .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ }, |
| 104238 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104239 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104240 | .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ }, |
| 104241 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104242 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 104243 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, |
| 104244 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| 104245 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| 104246 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| 104247 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 104248 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104249 | } }, |
| 104250 | }, .{ |
| 104251 | .required_features = .{ .sse3, .x87, .slow_incdec, null }, |
| 104252 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104006 | 104253 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104007 | 104254 | .patterns = &.{ |
| 104008 | 104255 | .{ .src = .{ .to_mem, .none, .none } }, |
| ... | ... | @@ -104034,7 +104281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104034 | 104281 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104035 | 104282 | } }, |
| 104036 | 104283 | }, .{ |
| 104037 | | .required_features = .{ .x87, null, null, null }, |
| 104284 | .required_features = .{ .sse3, .x87, null, null }, |
| 104038 | 104285 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104039 | 104286 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104040 | 104287 | .patterns = &.{ |
| ... | ... | @@ -104066,8 +104313,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104066 | 104313 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| 104067 | 104314 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 104068 | 104315 | } }, |
| 104316 | }, .{ |
| 104317 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 104318 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104319 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104320 | .patterns = &.{ |
| 104321 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104322 | }, |
| 104323 | .extra_temps = .{ |
| 104324 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104325 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104326 | .{ .type = .u16, .kind = .mem }, |
| 104327 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 104328 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104329 | .{ .type = .i16, .kind = .mem }, |
| 104330 | .unused, |
| 104331 | .unused, |
| 104332 | .unused, |
| 104333 | .unused, |
| 104334 | .unused, |
| 104335 | }, |
| 104336 | .dst_temps = .{ .mem, .unused }, |
| 104337 | .clobbers = .{ .eflags = true }, |
| 104338 | .each = .{ .once = &.{ |
| 104339 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| 104340 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104341 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104342 | .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ }, |
| 104343 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104344 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104345 | .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ }, |
| 104346 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104347 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 104348 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, |
| 104349 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| 104350 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| 104351 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, |
| 104352 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104353 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104354 | } }, |
| 104069 | 104355 | }, .{ |
| 104070 | 104356 | .required_features = .{ .x87, null, null, null }, |
| 104357 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104358 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104359 | .patterns = &.{ |
| 104360 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104361 | }, |
| 104362 | .extra_temps = .{ |
| 104363 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104364 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104365 | .{ .type = .u16, .kind = .mem }, |
| 104366 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 104367 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104368 | .{ .type = .i16, .kind = .mem }, |
| 104369 | .unused, |
| 104370 | .unused, |
| 104371 | .unused, |
| 104372 | .unused, |
| 104373 | .unused, |
| 104374 | }, |
| 104375 | .dst_temps = .{ .mem, .unused }, |
| 104376 | .clobbers = .{ .eflags = true }, |
| 104377 | .each = .{ .once = &.{ |
| 104378 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| 104379 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104380 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104381 | .{ ._, ._, .movsx, .tmp3d, .tmp2w, ._, ._ }, |
| 104382 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104383 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104384 | .{ ._, ._, .mov, .tmp2w, .tmp3w, ._, ._ }, |
| 104385 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104386 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 104387 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, |
| 104388 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| 104389 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| 104390 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| 104391 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 104392 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104393 | } }, |
| 104394 | }, .{ |
| 104395 | .required_features = .{ .sse3, .x87, null, null }, |
| 104071 | 104396 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104072 | 104397 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any }, |
| 104073 | 104398 | .patterns = &.{ |
| ... | ... | @@ -104094,6 +104419,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104094 | 104419 | } }, |
| 104095 | 104420 | }, .{ |
| 104096 | 104421 | .required_features = .{ .x87, null, null, null }, |
| 104422 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104423 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any }, |
| 104424 | .patterns = &.{ |
| 104425 | .{ .src = .{ .mem, .none, .none } }, |
| 104426 | .{ .src = .{ .to_x87, .none, .none } }, |
| 104427 | }, |
| 104428 | .extra_temps = .{ |
| 104429 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104430 | .{ .type = .u16, .kind = .mem }, |
| 104431 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 104432 | .unused, |
| 104433 | .unused, |
| 104434 | .unused, |
| 104435 | .unused, |
| 104436 | .unused, |
| 104437 | .unused, |
| 104438 | .unused, |
| 104439 | .unused, |
| 104440 | }, |
| 104441 | .dst_temps = .{ .mem, .unused }, |
| 104442 | .each = .{ .once = &.{ |
| 104443 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 104444 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104445 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 104446 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104447 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104448 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 104449 | .{ ._, .fi_p, .st, .dst0w, ._, ._, ._ }, |
| 104450 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104451 | } }, |
| 104452 | }, .{ |
| 104453 | .required_features = .{ .sse3, .x87, null, null }, |
| 104097 | 104454 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104098 | 104455 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any }, |
| 104099 | 104456 | .patterns = &.{ |
| ... | ... | @@ -104124,6 +104481,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104124 | 104481 | }, .{ |
| 104125 | 104482 | .required_features = .{ .x87, null, null, null }, |
| 104126 | 104483 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104484 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any }, |
| 104485 | .patterns = &.{ |
| 104486 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104487 | }, |
| 104488 | .extra_temps = .{ |
| 104489 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104490 | .{ .type = .u16, .kind = .mem }, |
| 104491 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104492 | .unused, |
| 104493 | .unused, |
| 104494 | .unused, |
| 104495 | .unused, |
| 104496 | .unused, |
| 104497 | .unused, |
| 104498 | .unused, |
| 104499 | .unused, |
| 104500 | }, |
| 104501 | .dst_temps = .{ .mem, .unused }, |
| 104502 | .clobbers = .{ .eflags = true }, |
| 104503 | .each = .{ .once = &.{ |
| 104504 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104505 | .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ }, |
| 104506 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104507 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104508 | .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ }, |
| 104509 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104510 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104511 | .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104512 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 104513 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104514 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104515 | } }, |
| 104516 | }, .{ |
| 104517 | .required_features = .{ .sse3, .x87, null, null }, |
| 104518 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104127 | 104519 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any }, |
| 104128 | 104520 | .patterns = &.{ |
| 104129 | 104521 | .{ .src = .{ .to_mem, .none, .none } }, |
| ... | ... | @@ -104154,6 +104546,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104154 | 104546 | } }, |
| 104155 | 104547 | }, .{ |
| 104156 | 104548 | .required_features = .{ .x87, null, null, null }, |
| 104549 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104550 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any }, |
| 104551 | .patterns = &.{ |
| 104552 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104553 | }, |
| 104554 | .extra_temps = .{ |
| 104555 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104556 | .{ .type = .u16, .kind = .mem }, |
| 104557 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 104558 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104559 | .{ .type = .i32, .kind = .mem }, |
| 104560 | .unused, |
| 104561 | .unused, |
| 104562 | .unused, |
| 104563 | .unused, |
| 104564 | .unused, |
| 104565 | .unused, |
| 104566 | }, |
| 104567 | .dst_temps = .{ .mem, .unused }, |
| 104568 | .clobbers = .{ .eflags = true }, |
| 104569 | .each = .{ .once = &.{ |
| 104570 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104571 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104572 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 104573 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104574 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104575 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 104576 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104577 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, |
| 104578 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 104579 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, |
| 104580 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 104581 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104582 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104583 | } }, |
| 104584 | }, .{ |
| 104585 | .required_features = .{ .sse3, .x87, null, null }, |
| 104157 | 104586 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104158 | 104587 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any }, |
| 104159 | 104588 | .patterns = &.{ |
| ... | ... | @@ -104180,6 +104609,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104180 | 104609 | } }, |
| 104181 | 104610 | }, .{ |
| 104182 | 104611 | .required_features = .{ .x87, null, null, null }, |
| 104612 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104613 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any }, |
| 104614 | .patterns = &.{ |
| 104615 | .{ .src = .{ .mem, .none, .none } }, |
| 104616 | .{ .src = .{ .to_x87, .none, .none } }, |
| 104617 | }, |
| 104618 | .extra_temps = .{ |
| 104619 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104620 | .{ .type = .u16, .kind = .mem }, |
| 104621 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 104622 | .unused, |
| 104623 | .unused, |
| 104624 | .unused, |
| 104625 | .unused, |
| 104626 | .unused, |
| 104627 | .unused, |
| 104628 | .unused, |
| 104629 | .unused, |
| 104630 | }, |
| 104631 | .dst_temps = .{ .mem, .unused }, |
| 104632 | .each = .{ .once = &.{ |
| 104633 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 104634 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104635 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 104636 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104637 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104638 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 104639 | .{ ._, .fi_p, .st, .dst0d, ._, ._, ._ }, |
| 104640 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104641 | } }, |
| 104642 | }, .{ |
| 104643 | .required_features = .{ .sse3, .x87, null, null }, |
| 104183 | 104644 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104184 | 104645 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 104185 | 104646 | .patterns = &.{ |
| ... | ... | @@ -104210,6 +104671,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104210 | 104671 | }, .{ |
| 104211 | 104672 | .required_features = .{ .x87, null, null, null }, |
| 104212 | 104673 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104674 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 104675 | .patterns = &.{ |
| 104676 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104677 | }, |
| 104678 | .extra_temps = .{ |
| 104679 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104680 | .{ .type = .u16, .kind = .mem }, |
| 104681 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104682 | .unused, |
| 104683 | .unused, |
| 104684 | .unused, |
| 104685 | .unused, |
| 104686 | .unused, |
| 104687 | .unused, |
| 104688 | .unused, |
| 104689 | .unused, |
| 104690 | }, |
| 104691 | .dst_temps = .{ .mem, .unused }, |
| 104692 | .clobbers = .{ .eflags = true }, |
| 104693 | .each = .{ .once = &.{ |
| 104694 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104695 | .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ }, |
| 104696 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104697 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104698 | .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ }, |
| 104699 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104700 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104701 | .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104702 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 104703 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104704 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104705 | } }, |
| 104706 | }, .{ |
| 104707 | .required_features = .{ .sse3, .x87, null, null }, |
| 104708 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104213 | 104709 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 104214 | 104710 | .patterns = &.{ |
| 104215 | 104711 | .{ .src = .{ .to_mem, .none, .none } }, |
| ... | ... | @@ -104240,6 +104736,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104240 | 104736 | } }, |
| 104241 | 104737 | }, .{ |
| 104242 | 104738 | .required_features = .{ .x87, null, null, null }, |
| 104739 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104740 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 104741 | .patterns = &.{ |
| 104742 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104743 | }, |
| 104744 | .extra_temps = .{ |
| 104745 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104746 | .{ .type = .u16, .kind = .mem }, |
| 104747 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104748 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104749 | .{ .type = .i64, .kind = .mem }, |
| 104750 | .unused, |
| 104751 | .unused, |
| 104752 | .unused, |
| 104753 | .unused, |
| 104754 | .unused, |
| 104755 | .unused, |
| 104756 | }, |
| 104757 | .dst_temps = .{ .mem, .unused }, |
| 104758 | .clobbers = .{ .eflags = true }, |
| 104759 | .each = .{ .once = &.{ |
| 104760 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104761 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104762 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 104763 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104764 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104765 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 104766 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104767 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 104768 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 104769 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, |
| 104770 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 104771 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104772 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104773 | } }, |
| 104774 | }, .{ |
| 104775 | .required_features = .{ .sse3, .x87, null, null }, |
| 104243 | 104776 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104244 | 104777 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any }, |
| 104245 | 104778 | .patterns = &.{ |
| ... | ... | @@ -104265,7 +104798,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104265 | 104798 | .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ }, |
| 104266 | 104799 | } }, |
| 104267 | 104800 | }, .{ |
| 104268 | | .required_features = .{ .@"64bit", .x87, null, null }, |
| 104801 | .required_features = .{ .x87, null, null, null }, |
| 104802 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104803 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any }, |
| 104804 | .patterns = &.{ |
| 104805 | .{ .src = .{ .mem, .none, .none } }, |
| 104806 | .{ .src = .{ .to_x87, .none, .none } }, |
| 104807 | }, |
| 104808 | .extra_temps = .{ |
| 104809 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104810 | .{ .type = .u16, .kind = .mem }, |
| 104811 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 104812 | .unused, |
| 104813 | .unused, |
| 104814 | .unused, |
| 104815 | .unused, |
| 104816 | .unused, |
| 104817 | .unused, |
| 104818 | .unused, |
| 104819 | .unused, |
| 104820 | }, |
| 104821 | .dst_temps = .{ .mem, .unused }, |
| 104822 | .each = .{ .once = &.{ |
| 104823 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 104824 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104825 | .{ ._, ._, .movzx, .tmp2d, .tmp1w, ._, ._ }, |
| 104826 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104827 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104828 | .{ ._, ._, .mov, .tmp1w, .tmp2w, ._, ._ }, |
| 104829 | .{ ._, .fi_p, .st, .dst0q, ._, ._, ._ }, |
| 104830 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104831 | } }, |
| 104832 | }, .{ |
| 104833 | .required_features = .{ .@"64bit", .sse3, .x87, null }, |
| 104269 | 104834 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104270 | 104835 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| 104271 | 104836 | .patterns = &.{ |
| ... | ... | @@ -104301,7 +104866,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104301 | 104866 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, |
| 104302 | 104867 | } }, |
| 104303 | 104868 | }, .{ |
| 104304 | | .required_features = .{ .x87, null, null, null }, |
| 104869 | .required_features = .{ .@"64bit", .x87, null, null }, |
| 104870 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104871 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| 104872 | .patterns = &.{ |
| 104873 | .{ .src = .{ .mem, .none, .none } }, |
| 104874 | .{ .src = .{ .to_x87, .none, .none } }, |
| 104875 | }, |
| 104876 | .extra_temps = .{ |
| 104877 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104878 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 104879 | .{ .type = .u16, .kind = .mem }, |
| 104880 | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, |
| 104881 | .{ .type = .i64, .kind = .mem }, |
| 104882 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 104883 | .unused, |
| 104884 | .unused, |
| 104885 | .unused, |
| 104886 | .unused, |
| 104887 | .unused, |
| 104888 | }, |
| 104889 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 104890 | .clobbers = .{ .eflags = true }, |
| 104891 | .each = .{ .once = &.{ |
| 104892 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 104893 | .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ }, |
| 104894 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104895 | .{ ._, ._, .movzx, .dst0d, .tmp2w, ._, ._ }, |
| 104896 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104897 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104898 | .{ ._, ._, .mov, .tmp2w, .dst0w, ._, ._ }, |
| 104899 | .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ }, |
| 104900 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 104901 | .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ }, |
| 104902 | .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ }, |
| 104903 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 104904 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104905 | .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ }, |
| 104906 | .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ }, |
| 104907 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, |
| 104908 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| 104909 | } }, |
| 104910 | }, .{ |
| 104911 | .required_features = .{ .sse3, .x87, null, null }, |
| 104305 | 104912 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104306 | 104913 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 104307 | 104914 | .patterns = &.{ |
| ... | ... | @@ -104329,6 +104936,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104329 | 104936 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 104330 | 104937 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104331 | 104938 | } }, |
| 104939 | }, .{ |
| 104940 | .required_features = .{ .x87, null, null, null }, |
| 104941 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104942 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 104943 | .patterns = &.{ |
| 104944 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104945 | }, |
| 104946 | .extra_temps = .{ |
| 104947 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 104948 | .{ .type = .u16, .kind = .mem }, |
| 104949 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104950 | .unused, |
| 104951 | .unused, |
| 104952 | .unused, |
| 104953 | .unused, |
| 104954 | .unused, |
| 104955 | .unused, |
| 104956 | .unused, |
| 104957 | .unused, |
| 104958 | }, |
| 104959 | .dst_temps = .{ .mem, .unused }, |
| 104960 | .clobbers = .{ .eflags = true }, |
| 104961 | .each = .{ .once = &.{ |
| 104962 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 104963 | .{ ._, ._, .movzx, .tmp0d, .tmp1w, ._, ._ }, |
| 104964 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104965 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104966 | .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ }, |
| 104967 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 104968 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104969 | .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 104970 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 104971 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104972 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104973 | } }, |
| 104332 | 104974 | }, .{ |
| 104333 | 104975 | .required_features = .{ .@"64bit", .avx, null, null }, |
| 104334 | 104976 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | ... | @@ -116834,8 +117476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116834 | 117476 | switch (reduce.operation) { |
| 116835 | 117477 | .And, .Or, .Xor => {}, |
| 116836 | 117478 | .Min, .Max => break :fallback try cg.airReduce(inst), |
| 116837 | | .Add => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst), |
| 116838 | | .Mul => break :fallback try cg.airReduce(inst), |
| 117479 | .Add, .Mul => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst), |
| 116839 | 117480 | } |
| 116840 | 117481 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| 116841 | 117482 | var res: [1]Temp = undefined; |
| ... | ... | @@ -118473,12 +119114,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118473 | 119114 | .unused, |
| 118474 | 119115 | .unused, |
| 118475 | 119116 | }, |
| 118476 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 119117 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 118477 | 119118 | .each = .{ .once = &.{ |
| 118478 | 119119 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 118479 | | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| 118480 | | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 118481 | | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| 119120 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| 119121 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| 119122 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| 118482 | 119123 | } }, |
| 118483 | 119124 | }, .{ |
| 118484 | 119125 | .required_features = .{ .sse2, null, null, null }, |
| ... | ... | @@ -119584,12 +120225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119584 | 120225 | .unused, |
| 119585 | 120226 | .unused, |
| 119586 | 120227 | }, |
| 119587 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 120228 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 119588 | 120229 | .each = .{ .once = &.{ |
| 119589 | 120230 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 119590 | | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| 119591 | | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 119592 | | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| 120231 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| 120232 | .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ }, |
| 120233 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| 119593 | 120234 | } }, |
| 119594 | 120235 | }, .{ |
| 119595 | 120236 | .required_features = .{ .sse2, null, null, null }, |
| ... | ... | @@ -120479,19 +121120,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120479 | 121120 | .unused, |
| 120480 | 121121 | .unused, |
| 120481 | 121122 | }, |
| 120482 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121123 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 120483 | 121124 | .each = .{ .once = &.{ |
| 120484 | 121125 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 120485 | | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| 120486 | | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 120487 | | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| 121126 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| 121127 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 121128 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| 120488 | 121129 | } }, |
| 120489 | 121130 | }, .{ |
| 120490 | 121131 | .required_features = .{ .sse2, null, null, null }, |
| 120491 | 121132 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 120492 | 121133 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 120493 | 121134 | .patterns = &.{ |
| 120494 | | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 121135 | .{ .src = .{ .to_sse, .none, .none } }, |
| 120495 | 121136 | }, |
| 120496 | 121137 | .extra_temps = .{ |
| 120497 | 121138 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| ... | ... | @@ -120506,7 +121147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120506 | 121147 | .unused, |
| 120507 | 121148 | .unused, |
| 120508 | 121149 | }, |
| 120509 | | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 121150 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 120510 | 121151 | .each = .{ .once = &.{ |
| 120511 | 121152 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 120512 | 121153 | .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ }, |
| ... | ... | @@ -121203,12 +121844,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121203 | 121844 | .unused, |
| 121204 | 121845 | .unused, |
| 121205 | 121846 | }, |
| 121206 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121847 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 121207 | 121848 | .each = .{ .once = &.{ |
| 121208 | 121849 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 121209 | | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| 121210 | | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 121211 | | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| 121850 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| 121851 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 121852 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| 121212 | 121853 | } }, |
| 121213 | 121854 | }, .{ |
| 121214 | 121855 | .required_features = .{ .avx, null, null, null }, |
| ... | ... | @@ -121230,12 +121871,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121230 | 121871 | .unused, |
| 121231 | 121872 | .unused, |
| 121232 | 121873 | }, |
| 121233 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121874 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 121234 | 121875 | .each = .{ .once = &.{ |
| 121235 | 121876 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 121236 | | .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| 121237 | | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 121238 | | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| 121877 | .{ ._, .v_ps, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| 121878 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 121879 | .{ ._, .v_ps, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| 121239 | 121880 | } }, |
| 121240 | 121881 | }, .{ |
| 121241 | 121882 | .required_features = .{ .avx512f, null, null, null }, |
| ... | ... | @@ -122425,12 +123066,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122425 | 123066 | .unused, |
| 122426 | 123067 | .unused, |
| 122427 | 123068 | }, |
| 122428 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123069 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122429 | 123070 | .each = .{ .once = &.{ |
| 122430 | 123071 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 122431 | | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122432 | | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 122433 | | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123072 | .{ ._, .vp_b, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 123073 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| 123074 | .{ ._, .vp_b, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 122434 | 123075 | } }, |
| 122435 | 123076 | }, .{ |
| 122436 | 123077 | .required_features = .{ .sse2, null, null, null }, |
| ... | ... | @@ -123125,7 +123766,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123125 | 123766 | }, .{ |
| 123126 | 123767 | .required_features = .{ .avx, null, null, null }, |
| 123127 | 123768 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123128 | | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 123769 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 123129 | 123770 | .patterns = &.{ |
| 123130 | 123771 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123131 | 123772 | }, |
| ... | ... | @@ -123171,7 +123812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123171 | 123812 | }, |
| 123172 | 123813 | .extra_temps = .{ |
| 123173 | 123814 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123174 | | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123815 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123175 | 123816 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 123176 | 123817 | .unused, |
| 123177 | 123818 | .unused, |
| ... | ... | @@ -123405,12 +124046,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123405 | 124046 | .unused, |
| 123406 | 124047 | .unused, |
| 123407 | 124048 | }, |
| 123408 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124049 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123409 | 124050 | .each = .{ .once = &.{ |
| 123410 | 124051 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 123411 | | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123412 | | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 123413 | | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124052 | .{ ._, .vp_w, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 124053 | .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ }, |
| 124054 | .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 123414 | 124055 | } }, |
| 123415 | 124056 | }, .{ |
| 123416 | 124057 | .required_features = .{ .sse2, null, null, null }, |
| ... | ... | @@ -123947,7 +124588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123947 | 124588 | }, .{ |
| 123948 | 124589 | .required_features = .{ .avx, null, null, null }, |
| 123949 | 124590 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123950 | | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 124591 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123951 | 124592 | .patterns = &.{ |
| 123952 | 124593 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123953 | 124594 | }, |
| ... | ... | @@ -124191,19 +124832,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124191 | 124832 | .unused, |
| 124192 | 124833 | .unused, |
| 124193 | 124834 | }, |
| 124194 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124835 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124195 | 124836 | .each = .{ .once = &.{ |
| 124196 | 124837 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124197 | | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124198 | | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124199 | | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124838 | .{ ._, .vp_d, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 124839 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124840 | .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 124200 | 124841 | } }, |
| 124201 | 124842 | }, .{ |
| 124202 | 124843 | .required_features = .{ .sse2, null, null, null }, |
| 124203 | 124844 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124204 | 124845 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124205 | 124846 | .patterns = &.{ |
| 124206 | | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124847 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124207 | 124848 | }, |
| 124208 | 124849 | .extra_temps = .{ |
| 124209 | 124850 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| ... | ... | @@ -124218,7 +124859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124218 | 124859 | .unused, |
| 124219 | 124860 | .unused, |
| 124220 | 124861 | }, |
| 124221 | | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124862 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124222 | 124863 | .each = .{ .once = &.{ |
| 124223 | 124864 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124224 | 124865 | .{ ._, .p_d, .add, .tmp0x, .src0x, ._, ._ }, |
| ... | ... | @@ -124588,7 +125229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124588 | 125229 | }, .{ |
| 124589 | 125230 | .required_features = .{ .avx, null, null, null }, |
| 124590 | 125231 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124591 | | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 125232 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124592 | 125233 | .patterns = &.{ |
| 124593 | 125234 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124594 | 125235 | }, |
| ... | ... | @@ -124828,12 +125469,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124828 | 125469 | .unused, |
| 124829 | 125470 | .unused, |
| 124830 | 125471 | }, |
| 124831 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125472 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124832 | 125473 | .each = .{ .once = &.{ |
| 124833 | 125474 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124834 | | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124835 | | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124836 | | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 125475 | .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 125476 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 125477 | .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 124837 | 125478 | } }, |
| 124838 | 125479 | }, .{ |
| 124839 | 125480 | .required_features = .{ .avx, null, null, null }, |
| ... | ... | @@ -124855,12 +125496,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124855 | 125496 | .unused, |
| 124856 | 125497 | .unused, |
| 124857 | 125498 | }, |
| 124858 | | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125499 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124859 | 125500 | .each = .{ .once = &.{ |
| 124860 | 125501 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124861 | | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124862 | | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124863 | | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 125502 | .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 125503 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 125504 | .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 124864 | 125505 | } }, |
| 124865 | 125506 | }, .{ |
| 124866 | 125507 | .required_features = .{ .avx512f, null, null, null }, |
| ... | ... | @@ -125091,7 +125732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125091 | 125732 | }, .{ |
| 125092 | 125733 | .required_features = .{ .avx, null, null, null }, |
| 125093 | 125734 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125094 | | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 125735 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 125095 | 125736 | .patterns = &.{ |
| 125096 | 125737 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125097 | 125738 | }, |
| ... | ... | @@ -125268,7 +125909,3013 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125268 | 125909 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125269 | 125910 | } }, |
| 125270 | 125911 | } }, |
| 125271 | | .Mul => unreachable, |
| 125912 | .Mul => comptime &.{ .{ |
| 125913 | .required_features = .{ .sse, null, null, null }, |
| 125914 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 125915 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125916 | .patterns = &.{ |
| 125917 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 125918 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 125919 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 125920 | }, |
| 125921 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125922 | .each = .{ .once = &.{} }, |
| 125923 | }, .{ |
| 125924 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 125925 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125926 | .patterns = &.{ |
| 125927 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 125928 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 125929 | }, |
| 125930 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125931 | .each = .{ .once = &.{} }, |
| 125932 | }, .{ |
| 125933 | .required_features = .{ .avx, null, null, null }, |
| 125934 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 125935 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| 125936 | .patterns = &.{ |
| 125937 | .{ .src = .{ .to_sse, .none, .none } }, |
| 125938 | }, |
| 125939 | .extra_temps = .{ |
| 125940 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 125941 | .unused, |
| 125942 | .unused, |
| 125943 | .unused, |
| 125944 | .unused, |
| 125945 | .unused, |
| 125946 | .unused, |
| 125947 | .unused, |
| 125948 | .unused, |
| 125949 | .unused, |
| 125950 | .unused, |
| 125951 | }, |
| 125952 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 125953 | .each = .{ .once = &.{ |
| 125954 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 125955 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 125956 | } }, |
| 125957 | }, .{ |
| 125958 | .required_features = .{ .sse2, null, null, null }, |
| 125959 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 125960 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| 125961 | .patterns = &.{ |
| 125962 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 125963 | }, |
| 125964 | .extra_temps = .{ |
| 125965 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 125966 | .unused, |
| 125967 | .unused, |
| 125968 | .unused, |
| 125969 | .unused, |
| 125970 | .unused, |
| 125971 | .unused, |
| 125972 | .unused, |
| 125973 | .unused, |
| 125974 | .unused, |
| 125975 | .unused, |
| 125976 | }, |
| 125977 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125978 | .each = .{ .once = &.{ |
| 125979 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 125980 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 125981 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 125982 | } }, |
| 125983 | }, .{ |
| 125984 | .required_features = .{ .avx, null, null, null }, |
| 125985 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 125986 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 125987 | .patterns = &.{ |
| 125988 | .{ .src = .{ .to_sse, .none, .none } }, |
| 125989 | }, |
| 125990 | .extra_temps = .{ |
| 125991 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 125992 | .unused, |
| 125993 | .unused, |
| 125994 | .unused, |
| 125995 | .unused, |
| 125996 | .unused, |
| 125997 | .unused, |
| 125998 | .unused, |
| 125999 | .unused, |
| 126000 | .unused, |
| 126001 | .unused, |
| 126002 | }, |
| 126003 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126004 | .each = .{ .once = &.{ |
| 126005 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 126006 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 126007 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 126008 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126009 | } }, |
| 126010 | }, .{ |
| 126011 | .required_features = .{ .sse2, null, null, null }, |
| 126012 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126013 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 126014 | .patterns = &.{ |
| 126015 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 126016 | }, |
| 126017 | .extra_temps = .{ |
| 126018 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126019 | .unused, |
| 126020 | .unused, |
| 126021 | .unused, |
| 126022 | .unused, |
| 126023 | .unused, |
| 126024 | .unused, |
| 126025 | .unused, |
| 126026 | .unused, |
| 126027 | .unused, |
| 126028 | .unused, |
| 126029 | }, |
| 126030 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 126031 | .each = .{ .once = &.{ |
| 126032 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 126033 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 126034 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| 126035 | .{ ._, ._dqa, .mov, .dst0x, .tmp0x, ._, ._ }, |
| 126036 | .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ }, |
| 126037 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126038 | } }, |
| 126039 | }, .{ |
| 126040 | .required_features = .{ .avx, null, null, null }, |
| 126041 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126042 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 126043 | .patterns = &.{ |
| 126044 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126045 | }, |
| 126046 | .extra_temps = .{ |
| 126047 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126048 | .unused, |
| 126049 | .unused, |
| 126050 | .unused, |
| 126051 | .unused, |
| 126052 | .unused, |
| 126053 | .unused, |
| 126054 | .unused, |
| 126055 | .unused, |
| 126056 | .unused, |
| 126057 | .unused, |
| 126058 | }, |
| 126059 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126060 | .each = .{ .once = &.{ |
| 126061 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 126062 | .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ }, |
| 126063 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| 126064 | .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ }, |
| 126065 | } }, |
| 126066 | }, .{ |
| 126067 | .required_features = .{ .sse2, null, null, null }, |
| 126068 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126069 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 126070 | .patterns = &.{ |
| 126071 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 126072 | }, |
| 126073 | .extra_temps = .{ |
| 126074 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126075 | .unused, |
| 126076 | .unused, |
| 126077 | .unused, |
| 126078 | .unused, |
| 126079 | .unused, |
| 126080 | .unused, |
| 126081 | .unused, |
| 126082 | .unused, |
| 126083 | .unused, |
| 126084 | .unused, |
| 126085 | }, |
| 126086 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 126087 | .each = .{ .once = &.{ |
| 126088 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 126089 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 126090 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| 126091 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| 126092 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126093 | } }, |
| 126094 | }, .{ |
| 126095 | .required_features = .{ .avx, null, null, null }, |
| 126096 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126097 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 126098 | .patterns = &.{ |
| 126099 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126100 | }, |
| 126101 | .extra_temps = .{ |
| 126102 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126103 | .unused, |
| 126104 | .unused, |
| 126105 | .unused, |
| 126106 | .unused, |
| 126107 | .unused, |
| 126108 | .unused, |
| 126109 | .unused, |
| 126110 | .unused, |
| 126111 | .unused, |
| 126112 | .unused, |
| 126113 | }, |
| 126114 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126115 | .each = .{ .once = &.{ |
| 126116 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 126117 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 126118 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126119 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126120 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 126121 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126122 | } }, |
| 126123 | }, .{ |
| 126124 | .required_features = .{ .sse2, null, null, null }, |
| 126125 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126126 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 126127 | .patterns = &.{ |
| 126128 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126129 | }, |
| 126130 | .extra_temps = .{ |
| 126131 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126132 | .unused, |
| 126133 | .unused, |
| 126134 | .unused, |
| 126135 | .unused, |
| 126136 | .unused, |
| 126137 | .unused, |
| 126138 | .unused, |
| 126139 | .unused, |
| 126140 | .unused, |
| 126141 | .unused, |
| 126142 | }, |
| 126143 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126144 | .each = .{ .once = &.{ |
| 126145 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 126146 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 126147 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| 126148 | .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b01_01_01_01), ._ }, |
| 126149 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126150 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 126151 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 126152 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126153 | } }, |
| 126154 | }, .{ |
| 126155 | .required_features = .{ .avx, null, null, null }, |
| 126156 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126157 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 126158 | .patterns = &.{ |
| 126159 | .{ .src = .{ .mem, .none, .none } }, |
| 126160 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126161 | }, |
| 126162 | .extra_temps = .{ |
| 126163 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126164 | .{ .type = .vector_8_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126165 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126166 | .unused, |
| 126167 | .unused, |
| 126168 | .unused, |
| 126169 | .unused, |
| 126170 | .unused, |
| 126171 | .unused, |
| 126172 | .unused, |
| 126173 | .unused, |
| 126174 | }, |
| 126175 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126176 | .each = .{ .once = &.{ |
| 126177 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126178 | .{ ._, .v_q, .mov, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 126179 | .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ }, |
| 126180 | .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126181 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 126182 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126183 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126184 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126185 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126186 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126187 | } }, |
| 126188 | }, .{ |
| 126189 | .required_features = .{ .sse2, null, null, null }, |
| 126190 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126191 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 126192 | .patterns = &.{ |
| 126193 | .{ .src = .{ .mem, .none, .none } }, |
| 126194 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126195 | }, |
| 126196 | .extra_temps = .{ |
| 126197 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126198 | .{ .type = .vector_8_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126199 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126200 | .unused, |
| 126201 | .unused, |
| 126202 | .unused, |
| 126203 | .unused, |
| 126204 | .unused, |
| 126205 | .unused, |
| 126206 | .unused, |
| 126207 | .unused, |
| 126208 | }, |
| 126209 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126210 | .each = .{ .once = &.{ |
| 126211 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126212 | .{ ._, ._q, .mov, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 126213 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 126214 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| 126215 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 126216 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126217 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 126218 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126219 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126220 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126221 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126222 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 126223 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126224 | } }, |
| 126225 | }, .{ |
| 126226 | .required_features = .{ .avx, null, null, null }, |
| 126227 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126228 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126229 | .patterns = &.{ |
| 126230 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126231 | }, |
| 126232 | .extra_temps = .{ |
| 126233 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126234 | .unused, |
| 126235 | .unused, |
| 126236 | .unused, |
| 126237 | .unused, |
| 126238 | .unused, |
| 126239 | .unused, |
| 126240 | .unused, |
| 126241 | .unused, |
| 126242 | .unused, |
| 126243 | .unused, |
| 126244 | }, |
| 126245 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126246 | .each = .{ .once = &.{ |
| 126247 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 126248 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 126249 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126250 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126251 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126252 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126253 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 126254 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126255 | } }, |
| 126256 | }, .{ |
| 126257 | .required_features = .{ .sse2, null, null, null }, |
| 126258 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126259 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126260 | .patterns = &.{ |
| 126261 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126262 | }, |
| 126263 | .extra_temps = .{ |
| 126264 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126265 | .unused, |
| 126266 | .unused, |
| 126267 | .unused, |
| 126268 | .unused, |
| 126269 | .unused, |
| 126270 | .unused, |
| 126271 | .unused, |
| 126272 | .unused, |
| 126273 | .unused, |
| 126274 | .unused, |
| 126275 | }, |
| 126276 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126277 | .each = .{ .once = &.{ |
| 126278 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 126279 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 126280 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| 126281 | .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b11_10_11_10), ._ }, |
| 126282 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126283 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126284 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126285 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 126286 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 126287 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 126288 | } }, |
| 126289 | }, .{ |
| 126290 | .required_features = .{ .avx, null, null, null }, |
| 126291 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126292 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126293 | .patterns = &.{ |
| 126294 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126295 | }, |
| 126296 | .extra_temps = .{ |
| 126297 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126298 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126299 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126300 | .unused, |
| 126301 | .unused, |
| 126302 | .unused, |
| 126303 | .unused, |
| 126304 | .unused, |
| 126305 | .unused, |
| 126306 | .unused, |
| 126307 | .unused, |
| 126308 | }, |
| 126309 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126310 | .each = .{ .once = &.{ |
| 126311 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126312 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 126313 | .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ }, |
| 126314 | .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126315 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 126316 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126317 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126318 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126319 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126320 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126321 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126322 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126323 | } }, |
| 126324 | }, .{ |
| 126325 | .required_features = .{ .sse2, null, null, null }, |
| 126326 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126327 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126328 | .patterns = &.{ |
| 126329 | .{ .src = .{ .mem, .none, .none } }, |
| 126330 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126331 | }, |
| 126332 | .extra_temps = .{ |
| 126333 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126334 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126335 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126336 | .unused, |
| 126337 | .unused, |
| 126338 | .unused, |
| 126339 | .unused, |
| 126340 | .unused, |
| 126341 | .unused, |
| 126342 | .unused, |
| 126343 | .unused, |
| 126344 | }, |
| 126345 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126346 | .each = .{ .once = &.{ |
| 126347 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126348 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 126349 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 126350 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| 126351 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 126352 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126353 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 126354 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126355 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126356 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126357 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126358 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126359 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126360 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 126361 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126362 | } }, |
| 126363 | }, .{ |
| 126364 | .required_features = .{ .avx2, null, null, null }, |
| 126365 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126366 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126367 | .patterns = &.{ |
| 126368 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126369 | }, |
| 126370 | .extra_temps = .{ |
| 126371 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126372 | .unused, |
| 126373 | .unused, |
| 126374 | .unused, |
| 126375 | .unused, |
| 126376 | .unused, |
| 126377 | .unused, |
| 126378 | .unused, |
| 126379 | .unused, |
| 126380 | .unused, |
| 126381 | .unused, |
| 126382 | }, |
| 126383 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126384 | .each = .{ .once = &.{ |
| 126385 | .{ ._, .vp_w, .srl, .tmp0y, .src0y, .ui(8), ._ }, |
| 126386 | .{ ._, .vp_w, .mull, .dst0y, .src0y, .tmp0y, ._ }, |
| 126387 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 126388 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126389 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126390 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126391 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126392 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126393 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 126394 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126395 | } }, |
| 126396 | }, .{ |
| 126397 | .required_features = .{ .avx, null, null, null }, |
| 126398 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126399 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126400 | .patterns = &.{ |
| 126401 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126402 | }, |
| 126403 | .extra_temps = .{ |
| 126404 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126405 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126406 | .unused, |
| 126407 | .unused, |
| 126408 | .unused, |
| 126409 | .unused, |
| 126410 | .unused, |
| 126411 | .unused, |
| 126412 | .unused, |
| 126413 | .unused, |
| 126414 | .unused, |
| 126415 | }, |
| 126416 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126417 | .each = .{ .once = &.{ |
| 126418 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 126419 | .{ ._, .vp_w, .srl, .tmp1x, .src0x, .ui(8), ._ }, |
| 126420 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp1x, ._ }, |
| 126421 | .{ ._, .vp_w, .srl, .tmp1x, .tmp0x, .ui(8), ._ }, |
| 126422 | .{ ._, .vp_w, .mull, .tmp0x, .tmp0x, .tmp1x, ._ }, |
| 126423 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126424 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126425 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126426 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126427 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126428 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 126429 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126430 | } }, |
| 126431 | }, .{ |
| 126432 | .required_features = .{ .avx2, null, null, null }, |
| 126433 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126434 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126435 | .patterns = &.{ |
| 126436 | .{ .src = .{ .mem, .none, .none } }, |
| 126437 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126438 | }, |
| 126439 | .extra_temps = .{ |
| 126440 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126441 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126442 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126443 | .unused, |
| 126444 | .unused, |
| 126445 | .unused, |
| 126446 | .unused, |
| 126447 | .unused, |
| 126448 | .unused, |
| 126449 | .unused, |
| 126450 | .unused, |
| 126451 | }, |
| 126452 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126453 | .each = .{ .once = &.{ |
| 126454 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126455 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 126456 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ }, |
| 126457 | .{ ._, .vp_b, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126458 | .{ ._, .vp_w, .srl, .tmp2y, .dst0y, .ui(8), ._ }, |
| 126459 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126460 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 126461 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126462 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126463 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126464 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126465 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126466 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126467 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126468 | } }, |
| 126469 | }, .{ |
| 126470 | .required_features = .{ .avx, null, null, null }, |
| 126471 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126472 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126473 | .patterns = &.{ |
| 126474 | .{ .src = .{ .mem, .none, .none } }, |
| 126475 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126476 | }, |
| 126477 | .extra_temps = .{ |
| 126478 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126479 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126480 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126481 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126482 | .unused, |
| 126483 | .unused, |
| 126484 | .unused, |
| 126485 | .unused, |
| 126486 | .unused, |
| 126487 | .unused, |
| 126488 | .unused, |
| 126489 | }, |
| 126490 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126491 | .each = .{ .once = &.{ |
| 126492 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126493 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 126494 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ }, |
| 126495 | .{ ._, .vp_b, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| 126496 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| 126497 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| 126498 | .{ ._, .vp_b, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 126499 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| 126500 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp3x, ._ }, |
| 126501 | .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ }, |
| 126502 | .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ }, |
| 126503 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126504 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126505 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126506 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126507 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126508 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126509 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126510 | } }, |
| 126511 | }, .{ |
| 126512 | .required_features = .{ .avx512f, null, null, null }, |
| 126513 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126514 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| 126515 | .patterns = &.{ |
| 126516 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126517 | }, |
| 126518 | .extra_temps = .{ |
| 126519 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126520 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126521 | .unused, |
| 126522 | .unused, |
| 126523 | .unused, |
| 126524 | .unused, |
| 126525 | .unused, |
| 126526 | .unused, |
| 126527 | .unused, |
| 126528 | .unused, |
| 126529 | .unused, |
| 126530 | }, |
| 126531 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126532 | .each = .{ .once = &.{ |
| 126533 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 126534 | .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| 126535 | .{ ._, .vp_w, .srl, .tmp1y, .dst0y, .ui(8), ._ }, |
| 126536 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ }, |
| 126537 | .{ ._, .vp_w, .srl, .tmp1y, .tmp0y, .ui(8), ._ }, |
| 126538 | .{ ._, .vp_w, .mull, .tmp0y, .tmp0y, .tmp1y, ._ }, |
| 126539 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp0y, ._ }, |
| 126540 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 126541 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126542 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126543 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126544 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126545 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126546 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 126547 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126548 | } }, |
| 126549 | }, .{ |
| 126550 | .required_features = .{ .avx512f, null, null, null }, |
| 126551 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126552 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| 126553 | .patterns = &.{ |
| 126554 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126555 | }, |
| 126556 | .extra_temps = .{ |
| 126557 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 126558 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126559 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126560 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126561 | .unused, |
| 126562 | .unused, |
| 126563 | .unused, |
| 126564 | .unused, |
| 126565 | .unused, |
| 126566 | .unused, |
| 126567 | .unused, |
| 126568 | }, |
| 126569 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126570 | .each = .{ .once = &.{ |
| 126571 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126572 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 126573 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 126574 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| 126575 | .{ ._, .vp_b, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 126576 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ }, |
| 126577 | .{ ._, .vp_b, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| 126578 | .{ ._, .vp_w, .srl, .tmp3y, .tmp2y, .ui(8), ._ }, |
| 126579 | .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| 126580 | .{ ._, .vp_w, .srl, .tmp3y, .dst0y, .ui(8), ._ }, |
| 126581 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ }, |
| 126582 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126583 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 126584 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126585 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126586 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126587 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126588 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126589 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126590 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126591 | } }, |
| 126592 | }, .{ |
| 126593 | .required_features = .{ .avx2, null, null, null }, |
| 126594 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126595 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126596 | .patterns = &.{ |
| 126597 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126598 | }, |
| 126599 | .extra_temps = .{ |
| 126600 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126601 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126602 | .unused, |
| 126603 | .unused, |
| 126604 | .unused, |
| 126605 | .unused, |
| 126606 | .unused, |
| 126607 | .unused, |
| 126608 | .unused, |
| 126609 | .unused, |
| 126610 | .unused, |
| 126611 | }, |
| 126612 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126613 | .each = .{ .once = &.{ |
| 126614 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_unaligned_size), ._, ._ }, |
| 126615 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 126616 | .{ ._, .vp_w, .srl, .tmp1y, .dst0y, .ui(8), ._ }, |
| 126617 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ }, |
| 126618 | .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 126619 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ }, |
| 126620 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 126621 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126622 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 126623 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126624 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126625 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126626 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126627 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126628 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 126629 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126630 | } }, |
| 126631 | }, .{ |
| 126632 | .required_features = .{ .avx, null, null, null }, |
| 126633 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126634 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126635 | .patterns = &.{ |
| 126636 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126637 | }, |
| 126638 | .extra_temps = .{ |
| 126639 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126640 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126641 | .unused, |
| 126642 | .unused, |
| 126643 | .unused, |
| 126644 | .unused, |
| 126645 | .unused, |
| 126646 | .unused, |
| 126647 | .unused, |
| 126648 | .unused, |
| 126649 | .unused, |
| 126650 | }, |
| 126651 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126652 | .each = .{ .once = &.{ |
| 126653 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| 126654 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 126655 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| 126656 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126657 | .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 126658 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126659 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 126660 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126661 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126662 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126663 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126664 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126665 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 126666 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126667 | } }, |
| 126668 | }, .{ |
| 126669 | .required_features = .{ .sse4_1, null, null, null }, |
| 126670 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126671 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126672 | .patterns = &.{ |
| 126673 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126674 | }, |
| 126675 | .extra_temps = .{ |
| 126676 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126677 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126678 | .unused, |
| 126679 | .unused, |
| 126680 | .unused, |
| 126681 | .unused, |
| 126682 | .unused, |
| 126683 | .unused, |
| 126684 | .unused, |
| 126685 | .unused, |
| 126686 | .unused, |
| 126687 | }, |
| 126688 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126689 | .each = .{ .once = &.{ |
| 126690 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| 126691 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 126692 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 126693 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| 126694 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126695 | .{ .@"0:", .p_w, .movzxb, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 126696 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126697 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 126698 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126699 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126700 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126701 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126702 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126703 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 126704 | .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ }, |
| 126705 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126706 | } }, |
| 126707 | }, .{ |
| 126708 | .required_features = .{ .sse2, null, null, null }, |
| 126709 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126710 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126711 | .patterns = &.{ |
| 126712 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126713 | }, |
| 126714 | .extra_temps = .{ |
| 126715 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126716 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126717 | .unused, |
| 126718 | .unused, |
| 126719 | .unused, |
| 126720 | .unused, |
| 126721 | .unused, |
| 126722 | .unused, |
| 126723 | .unused, |
| 126724 | .unused, |
| 126725 | .unused, |
| 126726 | }, |
| 126727 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126728 | .each = .{ .once = &.{ |
| 126729 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| 126730 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 126731 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 126732 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| 126733 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126734 | .{ .@"0:", ._q, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 126735 | .{ ._, .p_, .unpcklbw, .tmp1x, .tmp1x, ._, ._ }, |
| 126736 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126737 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 126738 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126739 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126740 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126741 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126742 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126743 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 126744 | .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ }, |
| 126745 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 126746 | } }, |
| 126747 | }, .{ |
| 126748 | .required_features = .{ .avx512f, null, null, null }, |
| 126749 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126750 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| 126751 | .patterns = &.{ |
| 126752 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126753 | }, |
| 126754 | .extra_temps = .{ |
| 126755 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126756 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126757 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126758 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126759 | .unused, |
| 126760 | .unused, |
| 126761 | .unused, |
| 126762 | .unused, |
| 126763 | .unused, |
| 126764 | .unused, |
| 126765 | .unused, |
| 126766 | }, |
| 126767 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126768 | .each = .{ .once = &.{ |
| 126769 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126770 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 126771 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 126772 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| 126773 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 126774 | .{ ._, .vp_b, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 126775 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 126776 | .{ ._, .vp_b, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| 126777 | .{ ._, .vp_w, .srl, .tmp3y, .tmp2y, .ui(8), ._ }, |
| 126778 | .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| 126779 | .{ ._, .vp_w, .srl, .tmp3y, .dst0y, .ui(8), ._ }, |
| 126780 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ }, |
| 126781 | .{ .@"0:", .vp_w, .movzxb, .tmp3y, .memid(.src0x, .tmp0, 16), ._, ._ }, |
| 126782 | .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| 126783 | .{ ._, .vp_w, .movzxb, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| 126784 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ }, |
| 126785 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 126786 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126787 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126788 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 126789 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126790 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126791 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126792 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126793 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126794 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126795 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126796 | } }, |
| 126797 | }, .{ |
| 126798 | .required_features = .{ .avx2, null, null, null }, |
| 126799 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126800 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126801 | .patterns = &.{ |
| 126802 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126803 | }, |
| 126804 | .extra_temps = .{ |
| 126805 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126806 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126807 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126808 | .unused, |
| 126809 | .unused, |
| 126810 | .unused, |
| 126811 | .unused, |
| 126812 | .unused, |
| 126813 | .unused, |
| 126814 | .unused, |
| 126815 | .unused, |
| 126816 | }, |
| 126817 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126818 | .each = .{ .once = &.{ |
| 126819 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126820 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 126821 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 126822 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 126823 | .{ ._, .vp_b, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126824 | .{ ._, .vp_w, .srl, .tmp2y, .dst0y, .ui(8), ._ }, |
| 126825 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126826 | .{ .@"0:", .vp_w, .movzxb, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| 126827 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 126828 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 126829 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126830 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 126831 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126832 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126833 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126834 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126835 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126836 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126837 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126838 | } }, |
| 126839 | }, .{ |
| 126840 | .required_features = .{ .avx, null, null, null }, |
| 126841 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126842 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 126843 | .patterns = &.{ |
| 126844 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126845 | }, |
| 126846 | .extra_temps = .{ |
| 126847 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126848 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126849 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126850 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 126851 | .unused, |
| 126852 | .unused, |
| 126853 | .unused, |
| 126854 | .unused, |
| 126855 | .unused, |
| 126856 | .unused, |
| 126857 | .unused, |
| 126858 | }, |
| 126859 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126860 | .each = .{ .once = &.{ |
| 126861 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126862 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 126863 | .{ ._, ._, .mov, .tmp0d, .sia(-40, .src0, .add_size), ._, ._ }, |
| 126864 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 126865 | .{ ._, .vp_b, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| 126866 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| 126867 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| 126868 | .{ ._, .vp_b, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 126869 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| 126870 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp3x, ._ }, |
| 126871 | .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ }, |
| 126872 | .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ }, |
| 126873 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126874 | .{ .@"0:", .vp_w, .movzxb, .tmp2x, .memi(.src0q, .tmp0), ._, ._ }, |
| 126875 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126876 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 126877 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126878 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126879 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126880 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126881 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126882 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 126883 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 126884 | } }, |
| 126885 | }, .{ |
| 126886 | .required_features = .{ .sse4_1, null, null, null }, |
| 126887 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126888 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126889 | .patterns = &.{ |
| 126890 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126891 | }, |
| 126892 | .extra_temps = .{ |
| 126893 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126894 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126895 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126896 | .unused, |
| 126897 | .unused, |
| 126898 | .unused, |
| 126899 | .unused, |
| 126900 | .unused, |
| 126901 | .unused, |
| 126902 | .unused, |
| 126903 | .unused, |
| 126904 | }, |
| 126905 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126906 | .each = .{ .once = &.{ |
| 126907 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126908 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 126909 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_size), ._, ._ }, |
| 126910 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 126911 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 126912 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 126913 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126914 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 126915 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126916 | .{ .@"0:", .p_w, .movzxb, .tmp2x, .memi(.src0q, .tmp0), ._, ._ }, |
| 126917 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126918 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 126919 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126920 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126921 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126922 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126923 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126924 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126925 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 126926 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126927 | } }, |
| 126928 | }, .{ |
| 126929 | .required_features = .{ .sse2, null, null, null }, |
| 126930 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126931 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 126932 | .patterns = &.{ |
| 126933 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126934 | }, |
| 126935 | .extra_temps = .{ |
| 126936 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126937 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 126938 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 126939 | .unused, |
| 126940 | .unused, |
| 126941 | .unused, |
| 126942 | .unused, |
| 126943 | .unused, |
| 126944 | .unused, |
| 126945 | .unused, |
| 126946 | .unused, |
| 126947 | }, |
| 126948 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126949 | .each = .{ .once = &.{ |
| 126950 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126951 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 126952 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_size), ._, ._ }, |
| 126953 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 126954 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 126955 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 126956 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126957 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 126958 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126959 | .{ .@"0:", ._q, .mov, .tmp2x, .memi(.src0q, .tmp0), ._, ._ }, |
| 126960 | .{ ._, .p_, .unpcklbw, .tmp2x, .tmp2x, ._, ._ }, |
| 126961 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126962 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 126963 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126964 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 126965 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126966 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 126967 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126968 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 126969 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 126970 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 126971 | } }, |
| 126972 | }, .{ |
| 126973 | .required_features = .{ .slow_incdec, null, null, null }, |
| 126974 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126975 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 126976 | .patterns = &.{ |
| 126977 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126978 | }, |
| 126979 | .extra_temps = .{ |
| 126980 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 126981 | .unused, |
| 126982 | .unused, |
| 126983 | .unused, |
| 126984 | .unused, |
| 126985 | .unused, |
| 126986 | .unused, |
| 126987 | .unused, |
| 126988 | .unused, |
| 126989 | .unused, |
| 126990 | .unused, |
| 126991 | }, |
| 126992 | .dst_temps = .{ .{ .reg = .al }, .unused }, |
| 126993 | .clobbers = .{ .eflags = true }, |
| 126994 | .each = .{ .once = &.{ |
| 126995 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 126996 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| 126997 | .{ .@"0:", ._, .mul, .memi(.src0b, .tmp0), ._, ._, ._ }, |
| 126998 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 126999 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127000 | } }, |
| 127001 | }, .{ |
| 127002 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 127003 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 127004 | .patterns = &.{ |
| 127005 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127006 | }, |
| 127007 | .extra_temps = .{ |
| 127008 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127009 | .unused, |
| 127010 | .unused, |
| 127011 | .unused, |
| 127012 | .unused, |
| 127013 | .unused, |
| 127014 | .unused, |
| 127015 | .unused, |
| 127016 | .unused, |
| 127017 | .unused, |
| 127018 | .unused, |
| 127019 | }, |
| 127020 | .dst_temps = .{ .{ .reg = .al }, .unused }, |
| 127021 | .clobbers = .{ .eflags = true }, |
| 127022 | .each = .{ .once = &.{ |
| 127023 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 127024 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| 127025 | .{ .@"0:", ._, .mul, .memi(.src0b, .tmp0), ._, ._, ._ }, |
| 127026 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 127027 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 127028 | } }, |
| 127029 | }, .{ |
| 127030 | .required_features = .{ .sse, null, null, null }, |
| 127031 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127032 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 127033 | .patterns = &.{ |
| 127034 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 127035 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 127036 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127037 | }, |
| 127038 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127039 | .each = .{ .once = &.{} }, |
| 127040 | }, .{ |
| 127041 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127042 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 127043 | .patterns = &.{ |
| 127044 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 127045 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 127046 | }, |
| 127047 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127048 | .each = .{ .once = &.{} }, |
| 127049 | }, .{ |
| 127050 | .required_features = .{ .avx, null, null, null }, |
| 127051 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127052 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 127053 | .patterns = &.{ |
| 127054 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127055 | }, |
| 127056 | .extra_temps = .{ |
| 127057 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127058 | .unused, |
| 127059 | .unused, |
| 127060 | .unused, |
| 127061 | .unused, |
| 127062 | .unused, |
| 127063 | .unused, |
| 127064 | .unused, |
| 127065 | .unused, |
| 127066 | .unused, |
| 127067 | .unused, |
| 127068 | }, |
| 127069 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127070 | .each = .{ .once = &.{ |
| 127071 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 127072 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 127073 | } }, |
| 127074 | }, .{ |
| 127075 | .required_features = .{ .sse2, null, null, null }, |
| 127076 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127077 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 127078 | .patterns = &.{ |
| 127079 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127080 | }, |
| 127081 | .extra_temps = .{ |
| 127082 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127083 | .unused, |
| 127084 | .unused, |
| 127085 | .unused, |
| 127086 | .unused, |
| 127087 | .unused, |
| 127088 | .unused, |
| 127089 | .unused, |
| 127090 | .unused, |
| 127091 | .unused, |
| 127092 | .unused, |
| 127093 | }, |
| 127094 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127095 | .each = .{ .once = &.{ |
| 127096 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 127097 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 127098 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127099 | } }, |
| 127100 | }, .{ |
| 127101 | .required_features = .{ .avx, null, null, null }, |
| 127102 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127103 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 127104 | .patterns = &.{ |
| 127105 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127106 | }, |
| 127107 | .extra_temps = .{ |
| 127108 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127109 | .unused, |
| 127110 | .unused, |
| 127111 | .unused, |
| 127112 | .unused, |
| 127113 | .unused, |
| 127114 | .unused, |
| 127115 | .unused, |
| 127116 | .unused, |
| 127117 | .unused, |
| 127118 | .unused, |
| 127119 | }, |
| 127120 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127121 | .each = .{ .once = &.{ |
| 127122 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127123 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 127124 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 127125 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127126 | } }, |
| 127127 | }, .{ |
| 127128 | .required_features = .{ .sse2, null, null, null }, |
| 127129 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127130 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 127131 | .patterns = &.{ |
| 127132 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127133 | }, |
| 127134 | .extra_temps = .{ |
| 127135 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127136 | .unused, |
| 127137 | .unused, |
| 127138 | .unused, |
| 127139 | .unused, |
| 127140 | .unused, |
| 127141 | .unused, |
| 127142 | .unused, |
| 127143 | .unused, |
| 127144 | .unused, |
| 127145 | .unused, |
| 127146 | }, |
| 127147 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127148 | .each = .{ .once = &.{ |
| 127149 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127150 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127151 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 127152 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 127153 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127154 | } }, |
| 127155 | }, .{ |
| 127156 | .required_features = .{ .avx, null, null, null }, |
| 127157 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127158 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 127159 | .patterns = &.{ |
| 127160 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127161 | }, |
| 127162 | .extra_temps = .{ |
| 127163 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127164 | .unused, |
| 127165 | .unused, |
| 127166 | .unused, |
| 127167 | .unused, |
| 127168 | .unused, |
| 127169 | .unused, |
| 127170 | .unused, |
| 127171 | .unused, |
| 127172 | .unused, |
| 127173 | .unused, |
| 127174 | }, |
| 127175 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127176 | .each = .{ .once = &.{ |
| 127177 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127178 | .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ }, |
| 127179 | .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ }, |
| 127180 | .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ }, |
| 127181 | } }, |
| 127182 | }, .{ |
| 127183 | .required_features = .{ .sse2, null, null, null }, |
| 127184 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127185 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 127186 | .patterns = &.{ |
| 127187 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127188 | }, |
| 127189 | .extra_temps = .{ |
| 127190 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127191 | .unused, |
| 127192 | .unused, |
| 127193 | .unused, |
| 127194 | .unused, |
| 127195 | .unused, |
| 127196 | .unused, |
| 127197 | .unused, |
| 127198 | .unused, |
| 127199 | .unused, |
| 127200 | .unused, |
| 127201 | }, |
| 127202 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127203 | .each = .{ .once = &.{ |
| 127204 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127205 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| 127206 | .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ }, |
| 127207 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127208 | } }, |
| 127209 | }, .{ |
| 127210 | .required_features = .{ .avx, null, null, null }, |
| 127211 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127212 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127213 | .patterns = &.{ |
| 127214 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127215 | }, |
| 127216 | .extra_temps = .{ |
| 127217 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127218 | .unused, |
| 127219 | .unused, |
| 127220 | .unused, |
| 127221 | .unused, |
| 127222 | .unused, |
| 127223 | .unused, |
| 127224 | .unused, |
| 127225 | .unused, |
| 127226 | .unused, |
| 127227 | .unused, |
| 127228 | }, |
| 127229 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127230 | .each = .{ .once = &.{ |
| 127231 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 127232 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 127233 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127234 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127235 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 127236 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127237 | } }, |
| 127238 | }, .{ |
| 127239 | .required_features = .{ .sse2, null, null, null }, |
| 127240 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127241 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127242 | .patterns = &.{ |
| 127243 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127244 | }, |
| 127245 | .extra_temps = .{ |
| 127246 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127247 | .unused, |
| 127248 | .unused, |
| 127249 | .unused, |
| 127250 | .unused, |
| 127251 | .unused, |
| 127252 | .unused, |
| 127253 | .unused, |
| 127254 | .unused, |
| 127255 | .unused, |
| 127256 | .unused, |
| 127257 | }, |
| 127258 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127259 | .each = .{ .once = &.{ |
| 127260 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 127261 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127262 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127263 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127264 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 127265 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 127266 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| 127267 | } }, |
| 127268 | }, .{ |
| 127269 | .required_features = .{ .avx, null, null, null }, |
| 127270 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127271 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127272 | .patterns = &.{ |
| 127273 | .{ .src = .{ .mem, .none, .none } }, |
| 127274 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127275 | }, |
| 127276 | .extra_temps = .{ |
| 127277 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 127278 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127279 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127280 | .unused, |
| 127281 | .unused, |
| 127282 | .unused, |
| 127283 | .unused, |
| 127284 | .unused, |
| 127285 | .unused, |
| 127286 | .unused, |
| 127287 | .unused, |
| 127288 | }, |
| 127289 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127290 | .each = .{ .once = &.{ |
| 127291 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127292 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 127293 | .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ }, |
| 127294 | .{ ._, .vp_w, .sub, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127295 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127296 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127297 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127298 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127299 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127300 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127301 | } }, |
| 127302 | }, .{ |
| 127303 | .required_features = .{ .sse2, null, null, null }, |
| 127304 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127305 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127306 | .patterns = &.{ |
| 127307 | .{ .src = .{ .mem, .none, .none } }, |
| 127308 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127309 | }, |
| 127310 | .extra_temps = .{ |
| 127311 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 127312 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127313 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127314 | .unused, |
| 127315 | .unused, |
| 127316 | .unused, |
| 127317 | .unused, |
| 127318 | .unused, |
| 127319 | .unused, |
| 127320 | .unused, |
| 127321 | .unused, |
| 127322 | }, |
| 127323 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127324 | .each = .{ .once = &.{ |
| 127325 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127326 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 127327 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 127328 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| 127329 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 127330 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127331 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 127332 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127333 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 127334 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 127335 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 127336 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 127337 | } }, |
| 127338 | }, .{ |
| 127339 | .required_features = .{ .avx2, null, null, null }, |
| 127340 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127341 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127342 | .patterns = &.{ |
| 127343 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127344 | }, |
| 127345 | .extra_temps = .{ |
| 127346 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127347 | .unused, |
| 127348 | .unused, |
| 127349 | .unused, |
| 127350 | .unused, |
| 127351 | .unused, |
| 127352 | .unused, |
| 127353 | .unused, |
| 127354 | .unused, |
| 127355 | .unused, |
| 127356 | .unused, |
| 127357 | }, |
| 127358 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127359 | .each = .{ .once = &.{ |
| 127360 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 127361 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 127362 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127363 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127364 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127365 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127366 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 127367 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127368 | } }, |
| 127369 | }, .{ |
| 127370 | .required_features = .{ .avx, null, null, null }, |
| 127371 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127372 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127373 | .patterns = &.{ |
| 127374 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127375 | }, |
| 127376 | .extra_temps = .{ |
| 127377 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127378 | .unused, |
| 127379 | .unused, |
| 127380 | .unused, |
| 127381 | .unused, |
| 127382 | .unused, |
| 127383 | .unused, |
| 127384 | .unused, |
| 127385 | .unused, |
| 127386 | .unused, |
| 127387 | .unused, |
| 127388 | }, |
| 127389 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127390 | .each = .{ .once = &.{ |
| 127391 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 127392 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 127393 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127394 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127395 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127396 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127397 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 127398 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127399 | } }, |
| 127400 | }, .{ |
| 127401 | .required_features = .{ .avx2, null, null, null }, |
| 127402 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127403 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127404 | .patterns = &.{ |
| 127405 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127406 | }, |
| 127407 | .extra_temps = .{ |
| 127408 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 127409 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127410 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127411 | .unused, |
| 127412 | .unused, |
| 127413 | .unused, |
| 127414 | .unused, |
| 127415 | .unused, |
| 127416 | .unused, |
| 127417 | .unused, |
| 127418 | .unused, |
| 127419 | }, |
| 127420 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127421 | .each = .{ .once = &.{ |
| 127422 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127423 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 127424 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ }, |
| 127425 | .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| 127426 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 127427 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127428 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127429 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127430 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127431 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127432 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127433 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127434 | } }, |
| 127435 | }, .{ |
| 127436 | .required_features = .{ .avx, null, null, null }, |
| 127437 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127438 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127439 | .patterns = &.{ |
| 127440 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127441 | }, |
| 127442 | .extra_temps = .{ |
| 127443 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 127444 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127445 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127446 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127447 | .unused, |
| 127448 | .unused, |
| 127449 | .unused, |
| 127450 | .unused, |
| 127451 | .unused, |
| 127452 | .unused, |
| 127453 | .unused, |
| 127454 | }, |
| 127455 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127456 | .each = .{ .once = &.{ |
| 127457 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127458 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 127459 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ }, |
| 127460 | .{ ._, .vp_w, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| 127461 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| 127462 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| 127463 | .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 127464 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127465 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127466 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127467 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127468 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127469 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127470 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127471 | } }, |
| 127472 | }, .{ |
| 127473 | .required_features = .{ .avx512f, null, null, null }, |
| 127474 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127475 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| 127476 | .patterns = &.{ |
| 127477 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127478 | }, |
| 127479 | .extra_temps = .{ |
| 127480 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127481 | .unused, |
| 127482 | .unused, |
| 127483 | .unused, |
| 127484 | .unused, |
| 127485 | .unused, |
| 127486 | .unused, |
| 127487 | .unused, |
| 127488 | .unused, |
| 127489 | .unused, |
| 127490 | .unused, |
| 127491 | }, |
| 127492 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127493 | .each = .{ .once = &.{ |
| 127494 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 127495 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| 127496 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 127497 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127498 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127499 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127500 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127501 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127502 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 127503 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127504 | } }, |
| 127505 | }, .{ |
| 127506 | .required_features = .{ .avx512f, null, null, null }, |
| 127507 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127508 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| 127509 | .patterns = &.{ |
| 127510 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127511 | }, |
| 127512 | .extra_temps = .{ |
| 127513 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 127514 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127515 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127516 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127517 | .unused, |
| 127518 | .unused, |
| 127519 | .unused, |
| 127520 | .unused, |
| 127521 | .unused, |
| 127522 | .unused, |
| 127523 | .unused, |
| 127524 | }, |
| 127525 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127526 | .each = .{ .once = &.{ |
| 127527 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127528 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 127529 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 127530 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| 127531 | .{ ._, .vp_w, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 127532 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ }, |
| 127533 | .{ ._, .vp_w, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| 127534 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 127535 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 127536 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127537 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127538 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127539 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127540 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127541 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127542 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127543 | } }, |
| 127544 | }, .{ |
| 127545 | .required_features = .{ .avx2, null, null, null }, |
| 127546 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127547 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127548 | .patterns = &.{ |
| 127549 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127550 | }, |
| 127551 | .extra_temps = .{ |
| 127552 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127553 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127554 | .unused, |
| 127555 | .unused, |
| 127556 | .unused, |
| 127557 | .unused, |
| 127558 | .unused, |
| 127559 | .unused, |
| 127560 | .unused, |
| 127561 | .unused, |
| 127562 | .unused, |
| 127563 | }, |
| 127564 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127565 | .each = .{ .once = &.{ |
| 127566 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 127567 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 127568 | .{ .@"0:", .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 127569 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 127570 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127571 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 127572 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127573 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127574 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127575 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127576 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127577 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 127578 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127579 | } }, |
| 127580 | }, .{ |
| 127581 | .required_features = .{ .avx, null, null, null }, |
| 127582 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127583 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127584 | .patterns = &.{ |
| 127585 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127586 | }, |
| 127587 | .extra_temps = .{ |
| 127588 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127589 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127590 | .unused, |
| 127591 | .unused, |
| 127592 | .unused, |
| 127593 | .unused, |
| 127594 | .unused, |
| 127595 | .unused, |
| 127596 | .unused, |
| 127597 | .unused, |
| 127598 | .unused, |
| 127599 | }, |
| 127600 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127601 | .each = .{ .once = &.{ |
| 127602 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 127603 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 127604 | .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 127605 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 127606 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127607 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127608 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127609 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127610 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127611 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 127612 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 127613 | } }, |
| 127614 | }, .{ |
| 127615 | .required_features = .{ .sse2, null, null, null }, |
| 127616 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127617 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127618 | .patterns = &.{ |
| 127619 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127620 | }, |
| 127621 | .extra_temps = .{ |
| 127622 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127623 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127624 | .unused, |
| 127625 | .unused, |
| 127626 | .unused, |
| 127627 | .unused, |
| 127628 | .unused, |
| 127629 | .unused, |
| 127630 | .unused, |
| 127631 | .unused, |
| 127632 | .unused, |
| 127633 | }, |
| 127634 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127635 | .each = .{ .once = &.{ |
| 127636 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 127637 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 127638 | .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 127639 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 127640 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127641 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127642 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 127643 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127644 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 127645 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 127646 | .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ }, |
| 127647 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| 127648 | } }, |
| 127649 | }, .{ |
| 127650 | .required_features = .{ .avx512f, null, null, null }, |
| 127651 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127652 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| 127653 | .patterns = &.{ |
| 127654 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127655 | }, |
| 127656 | .extra_temps = .{ |
| 127657 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127658 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127659 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127660 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127661 | .unused, |
| 127662 | .unused, |
| 127663 | .unused, |
| 127664 | .unused, |
| 127665 | .unused, |
| 127666 | .unused, |
| 127667 | .unused, |
| 127668 | }, |
| 127669 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127670 | .each = .{ .once = &.{ |
| 127671 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127672 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 127673 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 127674 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| 127675 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 127676 | .{ ._, .vp_w, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 127677 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 127678 | .{ ._, .vp_w, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| 127679 | .{ .@"0:", .vp_w, .mull, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| 127680 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 127681 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| 127682 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127683 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 127684 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 127685 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127686 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127687 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127688 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127689 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127690 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127691 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127692 | } }, |
| 127693 | }, .{ |
| 127694 | .required_features = .{ .avx2, null, null, null }, |
| 127695 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127696 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127697 | .patterns = &.{ |
| 127698 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127699 | }, |
| 127700 | .extra_temps = .{ |
| 127701 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127702 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127703 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127704 | .unused, |
| 127705 | .unused, |
| 127706 | .unused, |
| 127707 | .unused, |
| 127708 | .unused, |
| 127709 | .unused, |
| 127710 | .unused, |
| 127711 | .unused, |
| 127712 | }, |
| 127713 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127714 | .each = .{ .once = &.{ |
| 127715 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127716 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 127717 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| 127718 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 127719 | .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| 127720 | .{ .@"0:", .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 127721 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 127722 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127723 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 127724 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127725 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127726 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127727 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127728 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127729 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127730 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127731 | } }, |
| 127732 | }, .{ |
| 127733 | .required_features = .{ .avx, null, null, null }, |
| 127734 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127735 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 127736 | .patterns = &.{ |
| 127737 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127738 | }, |
| 127739 | .extra_temps = .{ |
| 127740 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127741 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127742 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127743 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 127744 | .unused, |
| 127745 | .unused, |
| 127746 | .unused, |
| 127747 | .unused, |
| 127748 | .unused, |
| 127749 | .unused, |
| 127750 | .unused, |
| 127751 | }, |
| 127752 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127753 | .each = .{ .once = &.{ |
| 127754 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127755 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 127756 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 127757 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 127758 | .{ ._, .vp_w, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| 127759 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| 127760 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| 127761 | .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 127762 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127763 | .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 127764 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 127765 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127766 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127767 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127768 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127769 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127770 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 127771 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 127772 | } }, |
| 127773 | }, .{ |
| 127774 | .required_features = .{ .sse2, null, null, null }, |
| 127775 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127776 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 127777 | .patterns = &.{ |
| 127778 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127779 | }, |
| 127780 | .extra_temps = .{ |
| 127781 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127782 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 127783 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 127784 | .unused, |
| 127785 | .unused, |
| 127786 | .unused, |
| 127787 | .unused, |
| 127788 | .unused, |
| 127789 | .unused, |
| 127790 | .unused, |
| 127791 | .unused, |
| 127792 | }, |
| 127793 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127794 | .each = .{ .once = &.{ |
| 127795 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127796 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 127797 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 127798 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 127799 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 127800 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 127801 | .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 127802 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 127803 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127804 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127805 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 127806 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 127807 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 127808 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 127809 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 127810 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 127811 | } }, |
| 127812 | }, .{ |
| 127813 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127814 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 127815 | .patterns = &.{ |
| 127816 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127817 | }, |
| 127818 | .extra_temps = .{ |
| 127819 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 127820 | .unused, |
| 127821 | .unused, |
| 127822 | .unused, |
| 127823 | .unused, |
| 127824 | .unused, |
| 127825 | .unused, |
| 127826 | .unused, |
| 127827 | .unused, |
| 127828 | .unused, |
| 127829 | .unused, |
| 127830 | }, |
| 127831 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 127832 | .clobbers = .{ .eflags = true }, |
| 127833 | .each = .{ .once = &.{ |
| 127834 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 127835 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| 127836 | .{ .@"0:", .i_, .mul, .dst0w, .memi(.src0w, .tmp0), ._, ._ }, |
| 127837 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 127838 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127839 | } }, |
| 127840 | }, .{ |
| 127841 | .required_features = .{ .sse, null, null, null }, |
| 127842 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127843 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 127844 | .patterns = &.{ |
| 127845 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 127846 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 127847 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127848 | }, |
| 127849 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127850 | .each = .{ .once = &.{} }, |
| 127851 | }, .{ |
| 127852 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127853 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 127854 | .patterns = &.{ |
| 127855 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 127856 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 127857 | }, |
| 127858 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127859 | .each = .{ .once = &.{} }, |
| 127860 | }, .{ |
| 127861 | .required_features = .{ .avx, null, null, null }, |
| 127862 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127863 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 127864 | .patterns = &.{ |
| 127865 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127866 | }, |
| 127867 | .extra_temps = .{ |
| 127868 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 127869 | .unused, |
| 127870 | .unused, |
| 127871 | .unused, |
| 127872 | .unused, |
| 127873 | .unused, |
| 127874 | .unused, |
| 127875 | .unused, |
| 127876 | .unused, |
| 127877 | .unused, |
| 127878 | .unused, |
| 127879 | }, |
| 127880 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127881 | .each = .{ .once = &.{ |
| 127882 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127883 | .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| 127884 | } }, |
| 127885 | }, .{ |
| 127886 | .required_features = .{ .sse2, null, null, null }, |
| 127887 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127888 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 127889 | .patterns = &.{ |
| 127890 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127891 | }, |
| 127892 | .extra_temps = .{ |
| 127893 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 127894 | .unused, |
| 127895 | .unused, |
| 127896 | .unused, |
| 127897 | .unused, |
| 127898 | .unused, |
| 127899 | .unused, |
| 127900 | .unused, |
| 127901 | .unused, |
| 127902 | .unused, |
| 127903 | .unused, |
| 127904 | }, |
| 127905 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127906 | .each = .{ .once = &.{ |
| 127907 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127908 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 127909 | } }, |
| 127910 | }, .{ |
| 127911 | .required_features = .{ .avx, null, null, null }, |
| 127912 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127913 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 127914 | .patterns = &.{ |
| 127915 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127916 | }, |
| 127917 | .extra_temps = .{ |
| 127918 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 127919 | .unused, |
| 127920 | .unused, |
| 127921 | .unused, |
| 127922 | .unused, |
| 127923 | .unused, |
| 127924 | .unused, |
| 127925 | .unused, |
| 127926 | .unused, |
| 127927 | .unused, |
| 127928 | .unused, |
| 127929 | }, |
| 127930 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127931 | .each = .{ .once = &.{ |
| 127932 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ }, |
| 127933 | .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| 127934 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127935 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 127936 | } }, |
| 127937 | }, .{ |
| 127938 | .required_features = .{ .sse2, null, null, null }, |
| 127939 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127940 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 127941 | .patterns = &.{ |
| 127942 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127943 | }, |
| 127944 | .extra_temps = .{ |
| 127945 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 127946 | .unused, |
| 127947 | .unused, |
| 127948 | .unused, |
| 127949 | .unused, |
| 127950 | .unused, |
| 127951 | .unused, |
| 127952 | .unused, |
| 127953 | .unused, |
| 127954 | .unused, |
| 127955 | .unused, |
| 127956 | }, |
| 127957 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127958 | .each = .{ .once = &.{ |
| 127959 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ }, |
| 127960 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 127961 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 127962 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 127963 | } }, |
| 127964 | }, .{ |
| 127965 | .required_features = .{ .avx, null, null, null }, |
| 127966 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127967 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 127968 | .patterns = &.{ |
| 127969 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127970 | }, |
| 127971 | .extra_temps = .{ |
| 127972 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 127973 | .unused, |
| 127974 | .unused, |
| 127975 | .unused, |
| 127976 | .unused, |
| 127977 | .unused, |
| 127978 | .unused, |
| 127979 | .unused, |
| 127980 | .unused, |
| 127981 | .unused, |
| 127982 | .unused, |
| 127983 | }, |
| 127984 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127985 | .each = .{ .once = &.{ |
| 127986 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 127987 | .{ ._, .vp_udq, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| 127988 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 127989 | .{ ._, .vp_udq, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| 127990 | } }, |
| 127991 | }, .{ |
| 127992 | .required_features = .{ .sse2, null, null, null }, |
| 127993 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 127994 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 127995 | .patterns = &.{ |
| 127996 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127997 | }, |
| 127998 | .extra_temps = .{ |
| 127999 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128000 | .unused, |
| 128001 | .unused, |
| 128002 | .unused, |
| 128003 | .unused, |
| 128004 | .unused, |
| 128005 | .unused, |
| 128006 | .unused, |
| 128007 | .unused, |
| 128008 | .unused, |
| 128009 | .unused, |
| 128010 | }, |
| 128011 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128012 | .each = .{ .once = &.{ |
| 128013 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 128014 | .{ ._, .p_udq, .mul, .tmp0x, .src0x, ._, ._ }, |
| 128015 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 128016 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 128017 | } }, |
| 128018 | }, .{ |
| 128019 | .required_features = .{ .avx2, null, null, null }, |
| 128020 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128021 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128022 | .patterns = &.{ |
| 128023 | .{ .src = .{ .to_sse, .none, .none } }, |
| 128024 | }, |
| 128025 | .extra_temps = .{ |
| 128026 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128027 | .unused, |
| 128028 | .unused, |
| 128029 | .unused, |
| 128030 | .unused, |
| 128031 | .unused, |
| 128032 | .unused, |
| 128033 | .unused, |
| 128034 | .unused, |
| 128035 | .unused, |
| 128036 | .unused, |
| 128037 | }, |
| 128038 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128039 | .each = .{ .once = &.{ |
| 128040 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 128041 | .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 128042 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128043 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128044 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128045 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128046 | } }, |
| 128047 | }, .{ |
| 128048 | .required_features = .{ .avx, null, null, null }, |
| 128049 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128050 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128051 | .patterns = &.{ |
| 128052 | .{ .src = .{ .to_sse, .none, .none } }, |
| 128053 | }, |
| 128054 | .extra_temps = .{ |
| 128055 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128056 | .unused, |
| 128057 | .unused, |
| 128058 | .unused, |
| 128059 | .unused, |
| 128060 | .unused, |
| 128061 | .unused, |
| 128062 | .unused, |
| 128063 | .unused, |
| 128064 | .unused, |
| 128065 | .unused, |
| 128066 | }, |
| 128067 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128068 | .each = .{ .once = &.{ |
| 128069 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 128070 | .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| 128071 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128072 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128073 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128074 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128075 | } }, |
| 128076 | }, .{ |
| 128077 | .required_features = .{ .avx2, null, null, null }, |
| 128078 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128079 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128080 | .patterns = &.{ |
| 128081 | .{ .src = .{ .mem, .none, .none } }, |
| 128082 | .{ .src = .{ .to_sse, .none, .none } }, |
| 128083 | }, |
| 128084 | .extra_temps = .{ |
| 128085 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128086 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128087 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128088 | .unused, |
| 128089 | .unused, |
| 128090 | .unused, |
| 128091 | .unused, |
| 128092 | .unused, |
| 128093 | .unused, |
| 128094 | .unused, |
| 128095 | .unused, |
| 128096 | }, |
| 128097 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128098 | .each = .{ .once = &.{ |
| 128099 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128100 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 128101 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ }, |
| 128102 | .{ ._, .vp_d, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| 128103 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 128104 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128105 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128106 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128107 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128108 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128109 | } }, |
| 128110 | }, .{ |
| 128111 | .required_features = .{ .avx, null, null, null }, |
| 128112 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128113 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128114 | .patterns = &.{ |
| 128115 | .{ .src = .{ .mem, .none, .none } }, |
| 128116 | .{ .src = .{ .to_sse, .none, .none } }, |
| 128117 | }, |
| 128118 | .extra_temps = .{ |
| 128119 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128120 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128121 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128122 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128123 | .unused, |
| 128124 | .unused, |
| 128125 | .unused, |
| 128126 | .unused, |
| 128127 | .unused, |
| 128128 | .unused, |
| 128129 | .unused, |
| 128130 | }, |
| 128131 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128132 | .each = .{ .once = &.{ |
| 128133 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128134 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 128135 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ }, |
| 128136 | .{ ._, .vp_d, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| 128137 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| 128138 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| 128139 | .{ ._, .vp_d, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 128140 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128141 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128142 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128143 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128144 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128145 | } }, |
| 128146 | }, .{ |
| 128147 | .required_features = .{ .avx512f, null, null, null }, |
| 128148 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128149 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| 128150 | .patterns = &.{ |
| 128151 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128152 | }, |
| 128153 | .extra_temps = .{ |
| 128154 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128155 | .unused, |
| 128156 | .unused, |
| 128157 | .unused, |
| 128158 | .unused, |
| 128159 | .unused, |
| 128160 | .unused, |
| 128161 | .unused, |
| 128162 | .unused, |
| 128163 | .unused, |
| 128164 | .unused, |
| 128165 | }, |
| 128166 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128167 | .each = .{ .once = &.{ |
| 128168 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 128169 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| 128170 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 128171 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128172 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128173 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128174 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128175 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 128176 | } }, |
| 128177 | }, .{ |
| 128178 | .required_features = .{ .avx512f, null, null, null }, |
| 128179 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128180 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| 128181 | .patterns = &.{ |
| 128182 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128183 | }, |
| 128184 | .extra_temps = .{ |
| 128185 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128186 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128187 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128188 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128189 | .unused, |
| 128190 | .unused, |
| 128191 | .unused, |
| 128192 | .unused, |
| 128193 | .unused, |
| 128194 | .unused, |
| 128195 | .unused, |
| 128196 | }, |
| 128197 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 128198 | .each = .{ .once = &.{ |
| 128199 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128200 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 128201 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 128202 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| 128203 | .{ ._, .vp_d, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 128204 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ }, |
| 128205 | .{ ._, .vp_d, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| 128206 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 128207 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 128208 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128209 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128210 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128211 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128212 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128213 | } }, |
| 128214 | }, .{ |
| 128215 | .required_features = .{ .avx2, null, null, null }, |
| 128216 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128217 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128218 | .patterns = &.{ |
| 128219 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128220 | }, |
| 128221 | .extra_temps = .{ |
| 128222 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128223 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128224 | .unused, |
| 128225 | .unused, |
| 128226 | .unused, |
| 128227 | .unused, |
| 128228 | .unused, |
| 128229 | .unused, |
| 128230 | .unused, |
| 128231 | .unused, |
| 128232 | .unused, |
| 128233 | }, |
| 128234 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128235 | .each = .{ .once = &.{ |
| 128236 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 128237 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 128238 | .{ .@"0:", .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 128239 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 128240 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128241 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 128242 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| 128243 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128244 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| 128245 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128246 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| 128247 | } }, |
| 128248 | }, .{ |
| 128249 | .required_features = .{ .avx, null, null, null }, |
| 128250 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128251 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 128252 | .patterns = &.{ |
| 128253 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128254 | }, |
| 128255 | .extra_temps = .{ |
| 128256 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128257 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128258 | .unused, |
| 128259 | .unused, |
| 128260 | .unused, |
| 128261 | .unused, |
| 128262 | .unused, |
| 128263 | .unused, |
| 128264 | .unused, |
| 128265 | .unused, |
| 128266 | .unused, |
| 128267 | }, |
| 128268 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128269 | .each = .{ .once = &.{ |
| 128270 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 128271 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 128272 | .{ .@"0:", .vp_d, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 128273 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 128274 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128275 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128276 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| 128277 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128278 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| 128279 | } }, |
| 128280 | }, .{ |
| 128281 | .required_features = .{ .sse4_1, null, null, null }, |
| 128282 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128283 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 128284 | .patterns = &.{ |
| 128285 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128286 | }, |
| 128287 | .extra_temps = .{ |
| 128288 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128289 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128290 | .unused, |
| 128291 | .unused, |
| 128292 | .unused, |
| 128293 | .unused, |
| 128294 | .unused, |
| 128295 | .unused, |
| 128296 | .unused, |
| 128297 | .unused, |
| 128298 | .unused, |
| 128299 | }, |
| 128300 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128301 | .each = .{ .once = &.{ |
| 128302 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 128303 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 128304 | .{ .@"0:", .p_d, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 128305 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 128306 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128307 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128308 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| 128309 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128310 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| 128311 | } }, |
| 128312 | }, .{ |
| 128313 | .required_features = .{ .sse2, null, null, null }, |
| 128314 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128315 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 128316 | .patterns = &.{ |
| 128317 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128318 | }, |
| 128319 | .extra_temps = .{ |
| 128320 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128321 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128322 | .unused, |
| 128323 | .unused, |
| 128324 | .unused, |
| 128325 | .unused, |
| 128326 | .unused, |
| 128327 | .unused, |
| 128328 | .unused, |
| 128329 | .unused, |
| 128330 | .unused, |
| 128331 | }, |
| 128332 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128333 | .each = .{ .once = &.{ |
| 128334 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 128335 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 128336 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128337 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| 128338 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 128339 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| 128340 | .{ ._, .p_d, .shuf, .tmp1x, .tmp1x, .ui(0b11_11_01_01), ._ }, |
| 128341 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| 128342 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 128343 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128344 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128345 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| 128346 | } }, |
| 128347 | }, .{ |
| 128348 | .required_features = .{ .avx512f, null, null, null }, |
| 128349 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128350 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| 128351 | .patterns = &.{ |
| 128352 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128353 | }, |
| 128354 | .extra_temps = .{ |
| 128355 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128356 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128357 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128358 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128359 | .unused, |
| 128360 | .unused, |
| 128361 | .unused, |
| 128362 | .unused, |
| 128363 | .unused, |
| 128364 | .unused, |
| 128365 | .unused, |
| 128366 | }, |
| 128367 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128368 | .each = .{ .once = &.{ |
| 128369 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128370 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 128371 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 128372 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| 128373 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 128374 | .{ ._, .vp_d, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| 128375 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 128376 | .{ ._, .vp_d, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| 128377 | .{ .@"0:", .vp_d, .mull, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| 128378 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 128379 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| 128380 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128381 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 128382 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 128383 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128384 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128385 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128386 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128387 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128388 | } }, |
| 128389 | }, .{ |
| 128390 | .required_features = .{ .avx2, null, null, null }, |
| 128391 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128392 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128393 | .patterns = &.{ |
| 128394 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128395 | }, |
| 128396 | .extra_temps = .{ |
| 128397 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128398 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128399 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128400 | .unused, |
| 128401 | .unused, |
| 128402 | .unused, |
| 128403 | .unused, |
| 128404 | .unused, |
| 128405 | .unused, |
| 128406 | .unused, |
| 128407 | .unused, |
| 128408 | }, |
| 128409 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128410 | .each = .{ .once = &.{ |
| 128411 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128412 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 128413 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| 128414 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 128415 | .{ ._, .vp_d, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| 128416 | .{ .@"0:", .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 128417 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 128418 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128419 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 128420 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128421 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128422 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128423 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128424 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128425 | } }, |
| 128426 | }, .{ |
| 128427 | .required_features = .{ .avx, null, null, null }, |
| 128428 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128429 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 128430 | .patterns = &.{ |
| 128431 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128432 | }, |
| 128433 | .extra_temps = .{ |
| 128434 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128435 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128436 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128437 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 128438 | .unused, |
| 128439 | .unused, |
| 128440 | .unused, |
| 128441 | .unused, |
| 128442 | .unused, |
| 128443 | .unused, |
| 128444 | .unused, |
| 128445 | }, |
| 128446 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128447 | .each = .{ .once = &.{ |
| 128448 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128449 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| 128450 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 128451 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 128452 | .{ ._, .vp_d, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| 128453 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| 128454 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| 128455 | .{ ._, .vp_d, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| 128456 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128457 | .{ .@"0:", .vp_d, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 128458 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 128459 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128460 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128461 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128462 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128463 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| 128464 | } }, |
| 128465 | }, .{ |
| 128466 | .required_features = .{ .sse4_1, null, null, null }, |
| 128467 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128468 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 128469 | .patterns = &.{ |
| 128470 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128471 | }, |
| 128472 | .extra_temps = .{ |
| 128473 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128474 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128475 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128476 | .unused, |
| 128477 | .unused, |
| 128478 | .unused, |
| 128479 | .unused, |
| 128480 | .unused, |
| 128481 | .unused, |
| 128482 | .unused, |
| 128483 | .unused, |
| 128484 | }, |
| 128485 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128486 | .each = .{ .once = &.{ |
| 128487 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128488 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 128489 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 128490 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 128491 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 128492 | .{ ._, .p_d, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 128493 | .{ .@"0:", .p_d, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 128494 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 128495 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128496 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128497 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| 128498 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128499 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| 128500 | } }, |
| 128501 | }, .{ |
| 128502 | .required_features = .{ .sse2, null, null, null }, |
| 128503 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128504 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 128505 | .patterns = &.{ |
| 128506 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128507 | }, |
| 128508 | .extra_temps = .{ |
| 128509 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128510 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| 128511 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 128512 | .unused, |
| 128513 | .unused, |
| 128514 | .unused, |
| 128515 | .unused, |
| 128516 | .unused, |
| 128517 | .unused, |
| 128518 | .unused, |
| 128519 | .unused, |
| 128520 | }, |
| 128521 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128522 | .each = .{ .once = &.{ |
| 128523 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128524 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 128525 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 128526 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| 128527 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 128528 | .{ ._, .p_d, .sub, .dst0x, .tmp2x, ._, ._ }, |
| 128529 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| 128530 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| 128531 | .{ .@"0:", ._dqa, .mov, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| 128532 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| 128533 | .{ ._, .p_d, .shuf, .tmp2x, .tmp2x, .ui(0b11_11_01_01), ._ }, |
| 128534 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| 128535 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 128536 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128537 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 128538 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| 128539 | } }, |
| 128540 | }, .{ |
| 128541 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128542 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 128543 | .patterns = &.{ |
| 128544 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128545 | }, |
| 128546 | .extra_temps = .{ |
| 128547 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128548 | .unused, |
| 128549 | .unused, |
| 128550 | .unused, |
| 128551 | .unused, |
| 128552 | .unused, |
| 128553 | .unused, |
| 128554 | .unused, |
| 128555 | .unused, |
| 128556 | .unused, |
| 128557 | .unused, |
| 128558 | }, |
| 128559 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 128560 | .clobbers = .{ .eflags = true }, |
| 128561 | .each = .{ .once = &.{ |
| 128562 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 128563 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| 128564 | .{ .@"0:", .i_, .mul, .dst0d, .memi(.src0d, .tmp0), ._, ._ }, |
| 128565 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 128566 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128567 | } }, |
| 128568 | }, .{ |
| 128569 | .required_features = .{ .sse, null, null, null }, |
| 128570 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 128571 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128572 | .patterns = &.{ |
| 128573 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 128574 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 128575 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 128576 | }, |
| 128577 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128578 | .each = .{ .once = &.{} }, |
| 128579 | }, .{ |
| 128580 | .required_features = .{ .@"64bit", null, null, null }, |
| 128581 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 128582 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128583 | .patterns = &.{ |
| 128584 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 128585 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 128586 | }, |
| 128587 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128588 | .each = .{ .once = &.{} }, |
| 128589 | }, .{ |
| 128590 | .required_features = .{ .@"64bit", null, null, null }, |
| 128591 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 128592 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128593 | .patterns = &.{ |
| 128594 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128595 | }, |
| 128596 | .extra_temps = .{ |
| 128597 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 128598 | .unused, |
| 128599 | .unused, |
| 128600 | .unused, |
| 128601 | .unused, |
| 128602 | .unused, |
| 128603 | .unused, |
| 128604 | .unused, |
| 128605 | .unused, |
| 128606 | .unused, |
| 128607 | .unused, |
| 128608 | }, |
| 128609 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 128610 | .clobbers = .{ .eflags = true }, |
| 128611 | .each = .{ .once = &.{ |
| 128612 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 128613 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| 128614 | .{ .@"0:", .i_, .mul, .dst0q, .memi(.src0q, .tmp0), ._, ._ }, |
| 128615 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 128616 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128617 | } }, |
| 128618 | }, .{ |
| 128619 | .required_features = .{ .sse, null, null, null }, |
| 128620 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| 128621 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128622 | .patterns = &.{ |
| 128623 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 128624 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 128625 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 128626 | }, |
| 128627 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128628 | .each = .{ .once = &.{} }, |
| 128629 | }, .{ |
| 128630 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| 128631 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128632 | .patterns = &.{ |
| 128633 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 128634 | }, |
| 128635 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128636 | .each = .{ .once = &.{} }, |
| 128637 | }, .{ |
| 128638 | .required_features = .{ .avx, null, null, null }, |
| 128639 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| 128640 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128641 | .patterns = &.{ |
| 128642 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 128643 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 128644 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 128645 | }, |
| 128646 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128647 | .each = .{ .once = &.{} }, |
| 128648 | }, .{ |
| 128649 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| 128650 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128651 | .patterns = &.{ |
| 128652 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 128653 | }, |
| 128654 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128655 | .each = .{ .once = &.{} }, |
| 128656 | }, .{ |
| 128657 | .dst_constraints = .{ .any_int, .any }, |
| 128658 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 128659 | .patterns = &.{ |
| 128660 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 128661 | }, |
| 128662 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 128663 | .each = .{ .once = &.{} }, |
| 128664 | }, .{ |
| 128665 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 128666 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 128667 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128668 | .patterns = &.{ |
| 128669 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128670 | }, |
| 128671 | .extra_temps = .{ |
| 128672 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128673 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128674 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128675 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128676 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 128677 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 128678 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128679 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128680 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128681 | .unused, |
| 128682 | .unused, |
| 128683 | }, |
| 128684 | .dst_temps = .{ .mem, .unused }, |
| 128685 | .clobbers = .{ .eflags = true }, |
| 128686 | .each = .{ .once = &.{ |
| 128687 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| 128688 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 128689 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| 128690 | .{ ._, ._, .mov, .tmp3d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 128691 | .{ .@"1:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 128692 | .{ ._, ._, .@"or", .tmp4q, .leai(.tmp1q, .tmp3), ._, ._ }, |
| 128693 | .{ ._, ._z, .j, .@"3f", ._, ._, ._ }, |
| 128694 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| 128695 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 128696 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp2q, .tmp5), ._ }, |
| 128697 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 128698 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_elem_size, -8), .tmp7q, ._, ._ }, |
| 128699 | .{ ._, ._rcxz, .j, .@"2f", ._, ._, ._ }, |
| 128700 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_elem_size), ._, ._ }, |
| 128701 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 128702 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| 128703 | .{ ._, ._mp, .j, .@"2b", ._, ._, ._ }, |
| 128704 | .{ .@"3:", ._, .mov, .memi(.dst0q, .tmp3), .tmp4q, ._, ._ }, |
| 128705 | .{ .@"2:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 128706 | .{ ._, ._, .sub, .tmp3d, .si(8), ._, ._ }, |
| 128707 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 128708 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 128709 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 128710 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128711 | } }, |
| 128712 | }, .{ |
| 128713 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 128714 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 128715 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128716 | .patterns = &.{ |
| 128717 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128718 | }, |
| 128719 | .extra_temps = .{ |
| 128720 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128721 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128722 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128723 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128724 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128725 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 128726 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 128727 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128728 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128729 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128730 | .unused, |
| 128731 | }, |
| 128732 | .dst_temps = .{ .mem, .unused }, |
| 128733 | .clobbers = .{ .eflags = true }, |
| 128734 | .each = .{ .once = &.{ |
| 128735 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| 128736 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 128737 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| 128738 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 128739 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| 128740 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 128741 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 128742 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 128743 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 128744 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| 128745 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| 128746 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| 128747 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| 128748 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| 128749 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| 128750 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| 128751 | .{ .@"3:", ._x, .mul, .tmp9q, .tmp8q, .leasi(.tmp2q, .@"8", .tmp4), ._ }, |
| 128752 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| 128753 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| 128754 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 128755 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| 128756 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 128757 | .{ ._, ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 128758 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 128759 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 128760 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 128761 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128762 | } }, |
| 128763 | }, .{ |
| 128764 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 128765 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 128766 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128767 | .patterns = &.{ |
| 128768 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128769 | }, |
| 128770 | .extra_temps = .{ |
| 128771 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128772 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128773 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128774 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128775 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128776 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 128777 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 128778 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128779 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128780 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128781 | .unused, |
| 128782 | }, |
| 128783 | .dst_temps = .{ .mem, .unused }, |
| 128784 | .clobbers = .{ .eflags = true }, |
| 128785 | .each = .{ .once = &.{ |
| 128786 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| 128787 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 128788 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| 128789 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 128790 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| 128791 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 128792 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 128793 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 128794 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 128795 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| 128796 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| 128797 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| 128798 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| 128799 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| 128800 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| 128801 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| 128802 | .{ .@"3:", ._x, .mul, .tmp9q, .tmp8q, .leasi(.tmp2q, .@"8", .tmp4), ._ }, |
| 128803 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| 128804 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| 128805 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 128806 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| 128807 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 128808 | .{ ._, ._c, .de, .tmp3d, ._, ._, ._ }, |
| 128809 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 128810 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 128811 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 128812 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128813 | } }, |
| 128814 | }, .{ |
| 128815 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 128816 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 128817 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128818 | .patterns = &.{ |
| 128819 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128820 | }, |
| 128821 | .extra_temps = .{ |
| 128822 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128823 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128824 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128825 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128826 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128827 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128828 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 128829 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128830 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 128831 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 128832 | .unused, |
| 128833 | }, |
| 128834 | .dst_temps = .{ .mem, .unused }, |
| 128835 | .clobbers = .{ .eflags = true }, |
| 128836 | .each = .{ .once = &.{ |
| 128837 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| 128838 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 128839 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| 128840 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 128841 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| 128842 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 128843 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 128844 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 128845 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 128846 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| 128847 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| 128848 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| 128849 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| 128850 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| 128851 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| 128852 | .{ .@"3:", ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 128853 | .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp4), ._, ._, ._ }, |
| 128854 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| 128855 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| 128856 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| 128857 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 128858 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| 128859 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 128860 | .{ ._, ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 128861 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 128862 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 128863 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 128864 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128865 | } }, |
| 128866 | }, .{ |
| 128867 | .required_features = .{ .@"64bit", null, null, null }, |
| 128868 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 128869 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128870 | .patterns = &.{ |
| 128871 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128872 | }, |
| 128873 | .extra_temps = .{ |
| 128874 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128875 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128876 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 128877 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128878 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 128879 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128880 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 128881 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 128882 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 128883 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 128884 | .unused, |
| 128885 | }, |
| 128886 | .dst_temps = .{ .mem, .unused }, |
| 128887 | .clobbers = .{ .eflags = true }, |
| 128888 | .each = .{ .once = &.{ |
| 128889 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| 128890 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 128891 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| 128892 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 128893 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| 128894 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 128895 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 128896 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 128897 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 128898 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| 128899 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| 128900 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| 128901 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| 128902 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| 128903 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| 128904 | .{ .@"3:", ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 128905 | .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp4), ._, ._, ._ }, |
| 128906 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| 128907 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| 128908 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| 128909 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| 128910 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| 128911 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 128912 | .{ ._, ._c, .de, .tmp3d, ._, ._, ._ }, |
| 128913 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 128914 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 128915 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 128916 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128917 | } }, |
| 128918 | } }, |
| 125272 | 128919 | }) catch |err| switch (err) { |
| 125273 | 128920 | error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{ |
| 125274 | 128921 | @tagName(air_tag), |
| ... | ... | @@ -141408,14 +145055,14 @@ fn airRepeat(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 141408 | 145055 | } |
| 141409 | 145056 | |
| 141410 | 145057 | fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 145058 | @setEvalBranchQuota(1_100); |
| 141411 | 145059 | const pt = self.pt; |
| 141412 | 145060 | const zcu = pt.zcu; |
| 141413 | 145061 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; |
| 141414 | 145062 | const extra = self.air.extraData(Air.Asm, ty_pl.payload); |
| 141415 | 145063 | const clobbers_len: u31 = @truncate(extra.data.flags); |
| 141416 | 145064 | var extra_i: usize = extra.end; |
| 141417 | | const outputs: []const Air.Inst.Ref = |
| 141418 | | @ptrCast(self.air.extra[extra_i..][0..extra.data.outputs_len]); |
| 145065 | const outputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.outputs_len]); |
| 141419 | 145066 | extra_i += outputs.len; |
| 141420 | 145067 | const inputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.inputs_len]); |
| 141421 | 145068 | extra_i += inputs.len; |