| ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2389 | } | 2389 | } |
| 2390 | | 2390 | |
| 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2392 | @setEvalBranchQuota(23_100); | 2392 | @setEvalBranchQuota(23_600); |
| 2393 | const pt = cg.pt; | 2393 | const pt = cg.pt; |
| 2394 | const zcu = pt.zcu; | 2394 | const zcu = pt.zcu; |
| 2395 | const ip = &zcu.intern_pool; | 2395 | const ip = &zcu.intern_pool; |
| ... | @@ -2427,7 +2427,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2427,7 +2427,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2427 | // zig fmt: off | 2427 | // zig fmt: off |
| 2428 | .select => try cg.airSelect(inst), | 2428 | .select => try cg.airSelect(inst), |
| 2429 | .shuffle => try cg.airShuffle(inst), | 2429 | .shuffle => try cg.airShuffle(inst), |
| 2430 | .reduce_optimized => try cg.airReduce(inst), | | |
| 2431 | // zig fmt: on | 2430 | // zig fmt: on |
| 2432 | | 2431 | |
| 2433 | .arg => if (cg.debug_output != .none) { | 2432 | .arg => if (cg.debug_output != .none) { |
| ... | @@ -67795,7 +67794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67795,7 +67794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67795 | .clobbers = .{ .eflags = true }, | 67794 | .clobbers = .{ .eflags = true }, |
| 67796 | .each = .{ .once = &.{ | 67795 | .each = .{ .once = &.{ |
| 67797 | .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ }, | 67796 | .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ }, |
| 67798 | .{ ._, ._, .movbe, .dst0w, .src0w, ._, ._ }, | 67797 | .{ ._, ._be, .mov, .dst0w, .src0w, ._, ._ }, |
| 67799 | } }, | 67798 | } }, |
| 67800 | }, .{ | 67799 | }, .{ |
| 67801 | .src_constraints = .{ .{ .exact_int = 16 }, .any, .any }, | 67800 | .src_constraints = .{ .{ .exact_int = 16 }, .any, .any }, |
| ... | @@ -67815,7 +67814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67815,7 +67814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67815 | }, | 67814 | }, |
| 67816 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67815 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67817 | .each = .{ .once = &.{ | 67816 | .each = .{ .once = &.{ |
| 67818 | .{ ._, ._, .movbe, .dst0d, .src0d, ._, ._ }, | 67817 | .{ ._, ._be, .mov, .dst0d, .src0d, ._, ._ }, |
| 67819 | } }, | 67818 | } }, |
| 67820 | }, .{ | 67819 | }, .{ |
| 67821 | .src_constraints = .{ .{ .exact_int = 32 }, .any, .any }, | 67820 | .src_constraints = .{ .{ .exact_int = 32 }, .any, .any }, |
| ... | @@ -67824,7 +67823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67824,7 +67823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67824 | }, | 67823 | }, |
| 67825 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67824 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67826 | .each = .{ .once = &.{ | 67825 | .each = .{ .once = &.{ |
| 67827 | .{ ._, ._, .bswap, .dst0d, ._, ._, ._ }, | 67826 | .{ ._, .b_, .swap, .dst0d, ._, ._, ._ }, |
| 67828 | } }, | 67827 | } }, |
| 67829 | }, .{ | 67828 | }, .{ |
| 67830 | .required_features = .{ .movbe, null, null, null }, | 67829 | .required_features = .{ .movbe, null, null, null }, |
| ... | @@ -67835,7 +67834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67835,7 +67834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67835 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67834 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67836 | .clobbers = .{ .eflags = true }, | 67835 | .clobbers = .{ .eflags = true }, |
| 67837 | .each = .{ .once = &.{ | 67836 | .each = .{ .once = &.{ |
| 67838 | .{ ._, ._, .movbe, .dst0d, .src0d, ._, ._ }, | 67837 | .{ ._, ._be, .mov, .dst0d, .src0d, ._, ._ }, |
| 67839 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67838 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67840 | } }, | 67839 | } }, |
| 67841 | }, .{ | 67840 | }, .{ |
| ... | @@ -67846,7 +67845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67846,7 +67845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67846 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67845 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67847 | .clobbers = .{ .eflags = true }, | 67846 | .clobbers = .{ .eflags = true }, |
| 67848 | .each = .{ .once = &.{ | 67847 | .each = .{ .once = &.{ |
| 67849 | .{ ._, ._, .bswap, .dst0d, ._, ._, ._ }, | 67848 | .{ ._, .b_, .swap, .dst0d, ._, ._, ._ }, |
| 67850 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67849 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67851 | } }, | 67850 | } }, |
| 67852 | }, .{ | 67851 | }, .{ |
| ... | @@ -67858,7 +67857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67858,7 +67857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67858 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67857 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67859 | .clobbers = .{ .eflags = true }, | 67858 | .clobbers = .{ .eflags = true }, |
| 67860 | .each = .{ .once = &.{ | 67859 | .each = .{ .once = &.{ |
| 67861 | .{ ._, ._, .movbe, .dst0d, .src0d, ._, ._ }, | 67860 | .{ ._, ._be, .mov, .dst0d, .src0d, ._, ._ }, |
| 67862 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67861 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67863 | } }, | 67862 | } }, |
| 67864 | }, .{ | 67863 | }, .{ |
| ... | @@ -67869,7 +67868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67869,7 +67868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67869 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67868 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67870 | .clobbers = .{ .eflags = true }, | 67869 | .clobbers = .{ .eflags = true }, |
| 67871 | .each = .{ .once = &.{ | 67870 | .each = .{ .once = &.{ |
| 67872 | .{ ._, ._, .bswap, .dst0d, ._, ._, ._ }, | 67871 | .{ ._, .b_, .swap, .dst0d, ._, ._, ._ }, |
| 67873 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67872 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67874 | } }, | 67873 | } }, |
| 67875 | }, .{ | 67874 | }, .{ |
| ... | @@ -67880,7 +67879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67880,7 +67879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67880 | }, | 67879 | }, |
| 67881 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67880 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67882 | .each = .{ .once = &.{ | 67881 | .each = .{ .once = &.{ |
| 67883 | .{ ._, ._, .movbe, .dst0q, .src0q, ._, ._ }, | 67882 | .{ ._, ._be, .mov, .dst0q, .src0q, ._, ._ }, |
| 67884 | } }, | 67883 | } }, |
| 67885 | }, .{ | 67884 | }, .{ |
| 67886 | .src_constraints = .{ .{ .exact_int = 64 }, .any, .any }, | 67885 | .src_constraints = .{ .{ .exact_int = 64 }, .any, .any }, |
| ... | @@ -67889,7 +67888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67889,7 +67888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67889 | }, | 67888 | }, |
| 67890 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67889 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67891 | .each = .{ .once = &.{ | 67890 | .each = .{ .once = &.{ |
| 67892 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 67891 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 67893 | } }, | 67892 | } }, |
| 67894 | }, .{ | 67893 | }, .{ |
| 67895 | .required_features = .{ .movbe, null, null, null }, | 67894 | .required_features = .{ .movbe, null, null, null }, |
| ... | @@ -67900,7 +67899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67900,7 +67899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67900 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67899 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67901 | .clobbers = .{ .eflags = true }, | 67900 | .clobbers = .{ .eflags = true }, |
| 67902 | .each = .{ .once = &.{ | 67901 | .each = .{ .once = &.{ |
| 67903 | .{ ._, ._, .movbe, .dst0q, .src0q, ._, ._ }, | 67902 | .{ ._, ._be, .mov, .dst0q, .src0q, ._, ._ }, |
| 67904 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67903 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67905 | } }, | 67904 | } }, |
| 67906 | }, .{ | 67905 | }, .{ |
| ... | @@ -67911,7 +67910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67911,7 +67910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67911 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67910 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67912 | .clobbers = .{ .eflags = true }, | 67911 | .clobbers = .{ .eflags = true }, |
| 67913 | .each = .{ .once = &.{ | 67912 | .each = .{ .once = &.{ |
| 67914 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 67913 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 67915 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67914 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67916 | } }, | 67915 | } }, |
| 67917 | }, .{ | 67916 | }, .{ |
| ... | @@ -67923,7 +67922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67923,7 +67922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67923 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67922 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67924 | .clobbers = .{ .eflags = true }, | 67923 | .clobbers = .{ .eflags = true }, |
| 67925 | .each = .{ .once = &.{ | 67924 | .each = .{ .once = &.{ |
| 67926 | .{ ._, ._, .movbe, .dst0q, .src0q, ._, ._ }, | 67925 | .{ ._, ._be, .mov, .dst0q, .src0q, ._, ._ }, |
| 67927 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67926 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67928 | } }, | 67927 | } }, |
| 67929 | }, .{ | 67928 | }, .{ |
| ... | @@ -67934,7 +67933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67934,7 +67933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67934 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67933 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67935 | .clobbers = .{ .eflags = true }, | 67934 | .clobbers = .{ .eflags = true }, |
| 67936 | .each = .{ .once = &.{ | 67935 | .each = .{ .once = &.{ |
| 67937 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 67936 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 67938 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67937 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67939 | } }, | 67938 | } }, |
| 67940 | }, .{ | 67939 | }, .{ |
| ... | @@ -67962,7 +67961,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67962,7 +67961,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67962 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, | 67961 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 67963 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 67962 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 67964 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 67963 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 67965 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 67964 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 67966 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 67965 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 67967 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 67966 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 67968 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 67967 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -67992,7 +67991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67992,7 +67991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67992 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, | 67991 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 67993 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 67992 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 67994 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 67993 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 67995 | .{ ._, ._, .bswap, .tmp2q, ._, ._, ._ }, | 67994 | .{ ._, .b_, .swap, .tmp2q, ._, ._, ._ }, |
| 67996 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 67995 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 67997 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 67996 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 67998 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 67997 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -68026,7 +68025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68026,7 +68025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68026 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68025 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68027 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68026 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68028 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68027 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68029 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68028 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68030 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68029 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68031 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68030 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 68032 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 68031 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -68059,7 +68058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68059,7 +68058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68059 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68058 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68060 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68059 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68061 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68060 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68062 | .{ ._, ._, .bswap, .tmp2q, ._, ._, ._ }, | 68061 | .{ ._, .b_, .swap, .tmp2q, ._, ._, ._ }, |
| 68063 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68062 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68064 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68063 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68065 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68064 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -68091,7 +68090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68091,7 +68090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68091 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68090 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68092 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, | 68091 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, |
| 68093 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68092 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68094 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68093 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68095 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68094 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68096 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68095 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 68097 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 68096 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -68122,7 +68121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68122,7 +68121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68122 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68121 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68123 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, | 68122 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, |
| 68124 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68123 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68125 | .{ ._, ._, .bswap, .tmp2q, ._, ._, ._ }, | 68124 | .{ ._, .b_, .swap, .tmp2q, ._, ._, ._ }, |
| 68126 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68125 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68127 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68126 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68128 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68127 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -68155,7 +68154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68155,7 +68154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68155 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, | 68154 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, |
| 68156 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68155 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68157 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68156 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68158 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68157 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68159 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68158 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68160 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68159 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68161 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68160 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68192,7 +68191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68192,7 +68191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68192 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68191 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68193 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68192 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68194 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68193 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68195 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68194 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68196 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68195 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68197 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68196 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68198 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68197 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68227,7 +68226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68227,7 +68226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68227 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68226 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68228 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68227 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68229 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68228 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68230 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68229 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68231 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68230 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68232 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68231 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68233 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68232 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68263,7 +68262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68263,7 +68262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68263 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68262 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68264 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68263 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68265 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68264 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68266 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68265 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68267 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68266 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68268 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68267 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68269 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68268 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68298,7 +68297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68298,7 +68297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68298 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68297 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68299 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, | 68298 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, |
| 68300 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68299 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68301 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68300 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68302 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68301 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68303 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68302 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68304 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68303 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68334,7 +68333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68334,7 +68333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68334 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, | 68333 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, |
| 68335 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68334 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68336 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68335 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68337 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68336 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68338 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68337 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68339 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68338 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68340 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68339 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68368,7 +68367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68368,7 +68367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68368 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, | 68367 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 68369 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68368 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68370 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68369 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68371 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68370 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68372 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68371 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68373 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68372 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68374 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68373 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68403,7 +68402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68403,7 +68402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68403 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68402 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68404 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68403 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68405 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68404 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68406 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68405 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68407 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68406 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68408 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, | 68407 | .{ ._, ._rd, .sh, .tmp3q, .tmp2q, .uia(64, .src0, .sub_bit_size_rem_64), ._ }, |
| 68409 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68408 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -69742,7 +69741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69742,7 +69741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69742 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 69741 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 69743 | .clobbers = .{ .eflags = true }, | 69742 | .clobbers = .{ .eflags = true }, |
| 69744 | .each = .{ .once = &.{ | 69743 | .each = .{ .once = &.{ |
| 69745 | .{ ._, ._, .bswap, .src0d, ._, ._, ._ }, | 69744 | .{ ._, .b_, .swap, .src0d, ._, ._, ._ }, |
| 69746 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, | 69745 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| 69747 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, | 69746 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, |
| 69748 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, | 69747 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, |
| ... | @@ -69897,7 +69896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69897,7 +69896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69897 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 69896 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 69898 | .clobbers = .{ .eflags = true }, | 69897 | .clobbers = .{ .eflags = true }, |
| 69899 | .each = .{ .once = &.{ | 69898 | .each = .{ .once = &.{ |
| 69900 | .{ ._, ._, .bswap, .src0d, ._, ._, ._ }, | 69899 | .{ ._, .b_, .swap, .src0d, ._, ._, ._ }, |
| 69901 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, | 69900 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| 69902 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, | 69901 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, |
| 69903 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, | 69902 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, |
| ... | @@ -70053,7 +70052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70053,7 +70052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70053 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70052 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70054 | .clobbers = .{ .eflags = true }, | 70053 | .clobbers = .{ .eflags = true }, |
| 70055 | .each = .{ .once = &.{ | 70054 | .each = .{ .once = &.{ |
| 70056 | .{ ._, ._, .bswap, .src0d, ._, ._, ._ }, | 70055 | .{ ._, .b_, .swap, .src0d, ._, ._, ._ }, |
| 70057 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, | 70056 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| 70058 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, | 70057 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, |
| 70059 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, | 70058 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, |
| ... | @@ -70150,7 +70149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70150,7 +70149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70150 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70149 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70151 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, | 70150 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, |
| 70152 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, | 70151 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, |
| 70153 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70152 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70154 | } }, | 70153 | } }, |
| 70155 | }, .{ | 70154 | }, .{ |
| 70156 | .required_features = .{ .@"64bit", null, null, null }, | 70155 | .required_features = .{ .@"64bit", null, null, null }, |
| ... | @@ -70174,7 +70173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70174,7 +70173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70174 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70173 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70175 | .clobbers = .{ .eflags = true }, | 70174 | .clobbers = .{ .eflags = true }, |
| 70176 | .each = .{ .once = &.{ | 70175 | .each = .{ .once = &.{ |
| 70177 | .{ ._, ._, .bswap, .src0q, ._, ._, ._ }, | 70176 | .{ ._, .b_, .swap, .src0q, ._, ._, ._ }, |
| 70178 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, | 70177 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 70179 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 70178 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 70180 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, | 70179 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| ... | @@ -70222,7 +70221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70222,7 +70221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70222 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70221 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70223 | .{ ._, .v_b, .gf2p8affineq, .tmp1x, .src0x, .lea(.dst0x), .ui(0) }, | 70222 | .{ ._, .v_b, .gf2p8affineq, .tmp1x, .src0x, .lea(.dst0x), .ui(0) }, |
| 70224 | .{ ._, .v_q, .mov, .dst0q, .tmp1x, ._, ._ }, | 70223 | .{ ._, .v_q, .mov, .dst0q, .tmp1x, ._, ._ }, |
| 70225 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70224 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70226 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, | 70225 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, |
| 70227 | } }, | 70226 | } }, |
| 70228 | }, .{ | 70227 | }, .{ |
| ... | @@ -70250,7 +70249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70250,7 +70249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70250 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70249 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70251 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, | 70250 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, |
| 70252 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, | 70251 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, |
| 70253 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70252 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70254 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, | 70253 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, |
| 70255 | } }, | 70254 | } }, |
| 70256 | }, .{ | 70255 | }, .{ |
| ... | @@ -70275,7 +70274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70275,7 +70274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70275 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70274 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70276 | .clobbers = .{ .eflags = true }, | 70275 | .clobbers = .{ .eflags = true }, |
| 70277 | .each = .{ .once = &.{ | 70276 | .each = .{ .once = &.{ |
| 70278 | .{ ._, ._, .bswap, .src0q, ._, ._, ._ }, | 70277 | .{ ._, .b_, .swap, .src0q, ._, ._, ._ }, |
| 70279 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, | 70278 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 70280 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 70279 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 70281 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, | 70280 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| ... | @@ -70378,7 +70377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70378,7 +70377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70378 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70377 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70379 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, | 70378 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, |
| 70380 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, | 70379 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, |
| 70381 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70380 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70382 | .{ ._, ._r, .sh, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, | 70381 | .{ ._, ._r, .sh, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, |
| 70383 | } }, | 70382 | } }, |
| 70384 | }, .{ | 70383 | }, .{ |
| ... | @@ -70403,7 +70402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70403,7 +70402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70403 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70402 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70404 | .clobbers = .{ .eflags = true }, | 70403 | .clobbers = .{ .eflags = true }, |
| 70405 | .each = .{ .once = &.{ | 70404 | .each = .{ .once = &.{ |
| 70406 | .{ ._, ._, .bswap, .src0q, ._, ._, ._ }, | 70405 | .{ ._, .b_, .swap, .src0q, ._, ._, ._ }, |
| 70407 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, | 70406 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 70408 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 70407 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 70409 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, | 70408 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| ... | @@ -70646,10 +70645,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70646,10 +70645,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70646 | }, | 70645 | }, |
| 70647 | .extra_temps = .{ | 70646 | .extra_temps = .{ |
| 70648 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, | 70647 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, |
| 70649 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 70648 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70650 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70649 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70651 | .unused, | 70650 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 70652 | .unused, | 70651 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 70653 | .unused, | 70652 | .unused, |
| 70654 | .unused, | 70653 | .unused, |
| 70655 | .unused, | 70654 | .unused, |
| ... | @@ -70661,9 +70660,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70661,9 +70660,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70661 | .each = .{ .once = &.{ | 70660 | .each = .{ .once = &.{ |
| 70662 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp0), ._, ._ }, | 70661 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp0), ._, ._ }, |
| 70663 | .{ ._, .v_b, .gf2p8affineq, .dst0y, .src0y, .lea(.tmp2y), .ui(0) }, | 70662 | .{ ._, .v_b, .gf2p8affineq, .dst0y, .src0y, .lea(.tmp2y), .ui(0) }, |
| | 70663 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| 70664 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp1), ._, ._ }, | 70664 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp1), ._, ._ }, |
| 70665 | .{ ._, .vp_b, .shuf, .dst0y, .dst0y, .lea(.tmp2y), ._ }, | 70665 | .{ ._, .v_dqa, .mov, .tmp4x, .lea(.tmp2x), ._, ._ }, |
| 70666 | .{ ._, .v_pd, .perm, .dst0y, .dst0y, .ui(0b01_00_11_10), ._ }, | 70666 | .{ ._, .vp_b, .shuf, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 70667 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp4x, ._ }, |
| | 70668 | .{ ._, .v_f128, .insert, .dst0y, .tmp3y, .dst0x, .ui(1) }, |
| 70667 | } }, | 70669 | } }, |
| 70668 | }, .{ | 70670 | }, .{ |
| 70669 | .required_features = .{ .avx2, .gfni, null, null }, | 70671 | .required_features = .{ .avx2, .gfni, null, null }, |
| ... | @@ -70701,42 +70703,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70701,42 +70703,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70701 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, | 70703 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 70702 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 70704 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 70703 | } }, | 70705 | } }, |
| 70704 | }, .{ | | |
| 70705 | .required_features = .{ .avx, .gfni, null, null }, | | |
| 70706 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = 256 } }, .any, .any }, | | |
| 70707 | .patterns = &.{ | | |
| 70708 | .{ .src = .{ .to_mem, .none, .none } }, | | |
| 70709 | }, | | |
| 70710 | .extra_temps = .{ | | |
| 70711 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | | |
| 70712 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | | |
| 70713 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, | | |
| 70714 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | | |
| 70715 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | | |
| 70716 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | | |
| 70717 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | | |
| 70718 | .unused, | | |
| 70719 | .unused, | | |
| 70720 | .unused, | | |
| 70721 | .unused, | | |
| 70722 | }, | | |
| 70723 | .dst_temps = .{ .mem, .unused }, | | |
| 70724 | .clobbers = .{ .eflags = true }, | | |
| 70725 | .each = .{ .once = &.{ | | |
| 70726 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, | | |
| 70727 | .{ ._, .v_dqa, .mov, .tmp4y, .lea(.tmp0y), ._, ._ }, | | |
| 70728 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, | | |
| 70729 | .{ ._, .v_dqa, .mov, .tmp5y, .lea(.tmp0y), ._, ._ }, | | |
| 70730 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .dst0, .add_size), ._, ._ }, | | |
| 70731 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | | |
| 70732 | .{ .@"0:", .v_pd, .perm, .tmp6y, .lea(.tmp1y), .ui(0b01_00_11_10), ._ }, | | |
| 70733 | .{ ._, .v_b, .gf2p8affineq, .tmp6y, .tmp6y, .tmp4y, .ui(0) }, | | |
| 70734 | .{ ._, .vp_b, .shuf, .tmp6y, .tmp6y, .tmp5y, ._ }, | | |
| 70735 | .{ ._, .v_dqu, .mov, .memi(.dst0y, .tmp0), .tmp6y, ._, ._ }, | | |
| 70736 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 32), ._, ._ }, | | |
| 70737 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, | | |
| 70738 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | | |
| 70739 | } }, | | |
| 70740 | }, .{ | 70706 | }, .{ |
| 70741 | .required_features = .{ .avx, .gfni, null, null }, | 70707 | .required_features = .{ .avx, .gfni, null, null }, |
| 70742 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, | 70708 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| ... | @@ -70819,7 +70785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70819,7 +70785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70819 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70785 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70820 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70786 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70821 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70787 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70822 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70788 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70823 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70789 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70824 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70790 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 70825 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 70791 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -70870,7 +70836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70870,7 +70836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70870 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70836 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70871 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70837 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70872 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70838 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70873 | .{ ._, ._, .bswap, .tmp5q, ._, ._, ._ }, | 70839 | .{ ._, .b_, .swap, .tmp5q, ._, ._, ._ }, |
| 70874 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70840 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70875 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70841 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70876 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70842 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -70926,7 +70892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70926,7 +70892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70926 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70892 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70927 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70893 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70928 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70894 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70929 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70895 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70930 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70896 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70931 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70897 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 70932 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 70898 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -70981,7 +70947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70981,7 +70947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70981 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70947 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70982 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70948 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70983 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70949 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70984 | .{ ._, ._, .bswap, .tmp5q, ._, ._, ._ }, | 70950 | .{ ._, .b_, .swap, .tmp5q, ._, ._, ._ }, |
| 70985 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70951 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70986 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70952 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70987 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70953 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -71034,7 +71000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71034,7 +71000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71034 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 71000 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 71035 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 71001 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 71036 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 71002 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 71037 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 71003 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 71038 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 71004 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 71039 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 71005 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 71040 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 71006 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -71068,7 +71034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71068,7 +71034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71068 | .{ ._, ._, .mov, .tmp3q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71034 | .{ ._, ._, .mov, .tmp3q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71069 | .{ ._, ._, .mov, .tmp4q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71035 | .{ ._, ._, .mov, .tmp4q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71070 | .{ .@"0:", ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, | 71036 | .{ .@"0:", ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, |
| 71071 | .{ ._, ._, .bswap, .tmp5q, ._, ._, ._ }, | 71037 | .{ ._, .b_, .swap, .tmp5q, ._, ._, ._ }, |
| 71072 | .{ ._, ._, .mov, .tmp6q, .tmp5q, ._, ._ }, | 71038 | .{ ._, ._, .mov, .tmp6q, .tmp5q, ._, ._ }, |
| 71073 | .{ ._, ._, .@"and", .tmp6q, .tmp2q, ._, ._ }, | 71039 | .{ ._, ._, .@"and", .tmp6q, .tmp2q, ._, ._ }, |
| 71074 | .{ ._, ._r, .sh, .tmp5q, .ui(4), ._, ._ }, | 71040 | .{ ._, ._r, .sh, .tmp5q, .ui(4), ._, ._ }, |
| ... | @@ -71123,7 +71089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71123,7 +71089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71123 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71089 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71124 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71090 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71125 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71091 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71126 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71092 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71127 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71093 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71128 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71094 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71129 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71095 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71182,7 +71148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71182,7 +71148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71182 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71148 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71183 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71149 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71184 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71150 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71185 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71151 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71186 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71152 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71187 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71153 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71188 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71154 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71238,7 +71204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71238,7 +71204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71238 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71204 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71239 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71205 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71240 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71206 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71241 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71207 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71242 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71208 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71243 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71209 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71244 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71210 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71295,7 +71261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71295,7 +71261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71295 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71261 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71296 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71262 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71297 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71263 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71298 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71264 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71299 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71265 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71300 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71266 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71301 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71267 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71352,7 +71318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71352,7 +71318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71352 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71318 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71353 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71319 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71354 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71320 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71355 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71321 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71356 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71322 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71357 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71323 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71358 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71324 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71410,7 +71376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71410,7 +71376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71410 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71376 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71411 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71377 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71412 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71378 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71413 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71379 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71414 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71380 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71415 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71381 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71416 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71382 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71465,7 +71431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71465,7 +71431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71465 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71431 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71466 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71432 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71467 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71433 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71468 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71434 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71469 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71435 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71470 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71436 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71471 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71437 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71521,7 +71487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71521,7 +71487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71521 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71487 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71522 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71488 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71523 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71489 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71524 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71490 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71525 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71491 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71526 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71492 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71527 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71493 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -98883,7 +98849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98883,7 +98849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98883 | .clobbers = .{ .eflags = true }, | 98849 | .clobbers = .{ .eflags = true }, |
| 98884 | .each = .{ .once = &.{ | 98850 | .each = .{ .once = &.{ |
| 98885 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 98851 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 98886 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 98852 | .{ ._, .v_ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 98887 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 98853 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 98888 | .{ .@"0:", .v_ps, .cvtph2, .tmp3x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 98854 | .{ .@"0:", .v_ps, .cvtph2, .tmp3x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| 98889 | .{ ._, .v_, .cvttps2dq, .tmp3x, .tmp3x, ._, ._ }, | 98855 | .{ ._, .v_, .cvttps2dq, .tmp3x, .tmp3x, ._, ._ }, |
| ... | @@ -118968,26 +118934,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118968,26 +118934,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118968 | } }, | 118934 | } }, |
| 118969 | } }, | 118935 | } }, |
| 118970 | } ++ [_]Select.Case{ .{ | 118936 | } ++ [_]Select.Case{ .{ |
| 118971 | .required_features = .{ .sse, null, null, null }, | | |
| 118972 | .dst_constraints = .{ .{ .int = .byte }, .any }, | | |
| 118973 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 118974 | .patterns = &.{ | | |
| 118975 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 118976 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 118977 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 118978 | }, | | |
| 118979 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 118980 | .each = .{ .once = &.{} }, | | |
| 118981 | }, .{ | | |
| 118982 | .dst_constraints = .{ .{ .int = .byte }, .any }, | | |
| 118983 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 118984 | .patterns = &.{ | | |
| 118985 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 118986 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 118987 | }, | | |
| 118988 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 118989 | .each = .{ .once = &.{} }, | | |
| 118990 | }, .{ | | |
| 118991 | .required_features = .{ .avx, null, null, null }, | 118937 | .required_features = .{ .avx, null, null, null }, |
| 118992 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 118938 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 118993 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, | 118939 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| ... | @@ -119627,7 +119573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119627,7 +119573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119627 | .unused, | 119573 | .unused, |
| 119628 | .unused, | 119574 | .unused, |
| 119629 | }, | 119575 | }, |
| 119630 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 119576 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 119631 | .each = .{ .once = &.{ | 119577 | .each = .{ .once = &.{ |
| 119632 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 119578 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 119633 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 119579 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -119669,7 +119615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119669,7 +119615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119669 | .unused, | 119615 | .unused, |
| 119670 | .unused, | 119616 | .unused, |
| 119671 | }, | 119617 | }, |
| 119672 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 119618 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 119673 | .each = .{ .once = &.{ | 119619 | .each = .{ .once = &.{ |
| 119674 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 119620 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 119675 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 119621 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -119717,6 +119663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119717,6 +119663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119717 | .unused, | 119663 | .unused, |
| 119718 | }, | 119664 | }, |
| 119719 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119665 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119666 | .clobbers = .{ .eflags = true }, |
| 119720 | .each = .{ .once = &.{ | 119667 | .each = .{ .once = &.{ |
| 119721 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 119668 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 119722 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 119669 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -119755,6 +119702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119755,6 +119702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119755 | .unused, | 119702 | .unused, |
| 119756 | }, | 119703 | }, |
| 119757 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119704 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119705 | .clobbers = .{ .eflags = true }, |
| 119758 | .each = .{ .once = &.{ | 119706 | .each = .{ .once = &.{ |
| 119759 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 119707 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 119760 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 119708 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -119793,6 +119741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119793,6 +119741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119793 | .unused, | 119741 | .unused, |
| 119794 | }, | 119742 | }, |
| 119795 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119743 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119744 | .clobbers = .{ .eflags = true }, |
| 119796 | .each = .{ .once = &.{ | 119745 | .each = .{ .once = &.{ |
| 119797 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 119746 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 119798 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 119747 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -119838,6 +119787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119838,6 +119787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119838 | .unused, | 119787 | .unused, |
| 119839 | }, | 119788 | }, |
| 119840 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119789 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119790 | .clobbers = .{ .eflags = true }, |
| 119841 | .each = .{ .once = &.{ | 119791 | .each = .{ .once = &.{ |
| 119842 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 119792 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 119843 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 119793 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -119897,6 +119847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119897,6 +119847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119897 | .unused, | 119847 | .unused, |
| 119898 | }, | 119848 | }, |
| 119899 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119849 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119850 | .clobbers = .{ .eflags = true }, |
| 119900 | .each = .{ .once = &.{ | 119851 | .each = .{ .once = &.{ |
| 119901 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 119852 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 119902 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 119853 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -119948,6 +119899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119948,6 +119899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119948 | .unused, | 119899 | .unused, |
| 119949 | }, | 119900 | }, |
| 119950 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119901 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119902 | .clobbers = .{ .eflags = true }, |
| 119951 | .each = .{ .once = &.{ | 119903 | .each = .{ .once = &.{ |
| 119952 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 119904 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 119953 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 119905 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -119999,6 +119951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119999,6 +119951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119999 | .unused, | 119951 | .unused, |
| 120000 | }, | 119952 | }, |
| 120001 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 119953 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119954 | .clobbers = .{ .eflags = true }, |
| 120002 | .each = .{ .once = &.{ | 119955 | .each = .{ .once = &.{ |
| 120003 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 119956 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 120004 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 119957 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -120025,7 +119978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120025,7 +119978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120025 | }, .{ | 119978 | }, .{ |
| 120026 | .required_features = .{ .slow_incdec, null, null, null }, | 119979 | .required_features = .{ .slow_incdec, null, null, null }, |
| 120027 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 119980 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 120028 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 119981 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 120029 | .patterns = &.{ | 119982 | .patterns = &.{ |
| 120030 | .{ .src = .{ .to_mem, .none, .none } }, | 119983 | .{ .src = .{ .to_mem, .none, .none } }, |
| 120031 | }, | 119984 | }, |
| ... | @@ -120053,7 +120006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120053,7 +120006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120053 | } }, | 120006 | } }, |
| 120054 | }, .{ | 120007 | }, .{ |
| 120055 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 120008 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 120056 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 120009 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 120057 | .patterns = &.{ | 120010 | .patterns = &.{ |
| 120058 | .{ .src = .{ .to_mem, .none, .none } }, | 120011 | .{ .src = .{ .to_mem, .none, .none } }, |
| 120059 | }, | 120012 | }, |
| ... | @@ -120079,26 +120032,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120079,26 +120032,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120079 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, | 120032 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 120080 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | 120033 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 120081 | } }, | 120034 | } }, |
| 120082 | }, .{ | | |
| 120083 | .required_features = .{ .sse, null, null, null }, | | |
| 120084 | .dst_constraints = .{ .{ .int = .word }, .any }, | | |
| 120085 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 120086 | .patterns = &.{ | | |
| 120087 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 120088 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 120089 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 120090 | }, | | |
| 120091 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 120092 | .each = .{ .once = &.{} }, | | |
| 120093 | }, .{ | | |
| 120094 | .dst_constraints = .{ .{ .int = .word }, .any }, | | |
| 120095 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 120096 | .patterns = &.{ | | |
| 120097 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 120098 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 120099 | }, | | |
| 120100 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 120101 | .each = .{ .once = &.{} }, | | |
| 120102 | }, .{ | 120035 | }, .{ |
| 120103 | .required_features = .{ .avx, null, null, null }, | 120036 | .required_features = .{ .avx, null, null, null }, |
| 120104 | .dst_constraints = .{ .{ .int = .word }, .any }, | 120037 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -120573,7 +120506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120573,7 +120506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120573 | .unused, | 120506 | .unused, |
| 120574 | .unused, | 120507 | .unused, |
| 120575 | }, | 120508 | }, |
| 120576 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 120509 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 120577 | .each = .{ .once = &.{ | 120510 | .each = .{ .once = &.{ |
| 120578 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 120511 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 120579 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 120512 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -120613,7 +120546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120613,7 +120546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120613 | .unused, | 120546 | .unused, |
| 120614 | .unused, | 120547 | .unused, |
| 120615 | }, | 120548 | }, |
| 120616 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 120549 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 120617 | .each = .{ .once = &.{ | 120550 | .each = .{ .once = &.{ |
| 120618 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 120551 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 120619 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 120552 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -120659,6 +120592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120659,6 +120592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120659 | .unused, | 120592 | .unused, |
| 120660 | }, | 120593 | }, |
| 120661 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120594 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120595 | .clobbers = .{ .eflags = true }, |
| 120662 | .each = .{ .once = &.{ | 120596 | .each = .{ .once = &.{ |
| 120663 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 120597 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 120664 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 120598 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -120695,6 +120629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120695,6 +120629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120695 | .unused, | 120629 | .unused, |
| 120696 | }, | 120630 | }, |
| 120697 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120631 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120632 | .clobbers = .{ .eflags = true }, |
| 120698 | .each = .{ .once = &.{ | 120633 | .each = .{ .once = &.{ |
| 120699 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 120634 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 120700 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 120635 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -120731,6 +120666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120731,6 +120666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120731 | .unused, | 120666 | .unused, |
| 120732 | }, | 120667 | }, |
| 120733 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120668 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120669 | .clobbers = .{ .eflags = true }, |
| 120734 | .each = .{ .once = &.{ | 120670 | .each = .{ .once = &.{ |
| 120735 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 120671 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 120736 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 120672 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -120773,6 +120709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120773,6 +120709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120773 | .unused, | 120709 | .unused, |
| 120774 | }, | 120710 | }, |
| 120775 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120711 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120712 | .clobbers = .{ .eflags = true }, |
| 120776 | .each = .{ .once = &.{ | 120713 | .each = .{ .once = &.{ |
| 120777 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 120714 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 120778 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 120715 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -120830,6 +120767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120830,6 +120767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120830 | .unused, | 120767 | .unused, |
| 120831 | }, | 120768 | }, |
| 120832 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120769 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120770 | .clobbers = .{ .eflags = true }, |
| 120833 | .each = .{ .once = &.{ | 120771 | .each = .{ .once = &.{ |
| 120834 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 120772 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 120835 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 120773 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -120879,6 +120817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120879,6 +120817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120879 | .unused, | 120817 | .unused, |
| 120880 | }, | 120818 | }, |
| 120881 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120819 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120820 | .clobbers = .{ .eflags = true }, |
| 120882 | .each = .{ .once = &.{ | 120821 | .each = .{ .once = &.{ |
| 120883 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 120822 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 120884 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 120823 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -120928,6 +120867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120928,6 +120867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120928 | .unused, | 120867 | .unused, |
| 120929 | }, | 120868 | }, |
| 120930 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 120869 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120870 | .clobbers = .{ .eflags = true }, |
| 120931 | .each = .{ .once = &.{ | 120871 | .each = .{ .once = &.{ |
| 120932 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 120872 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 120933 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 120873 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -120950,7 +120890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120950,7 +120890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120950 | } }, | 120890 | } }, |
| 120951 | }, .{ | 120891 | }, .{ |
| 120952 | .dst_constraints = .{ .{ .int = .word }, .any }, | 120892 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 120953 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, | 120893 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 120954 | .patterns = &.{ | 120894 | .patterns = &.{ |
| 120955 | .{ .src = .{ .to_mem, .none, .none } }, | 120895 | .{ .src = .{ .to_mem, .none, .none } }, |
| 120956 | }, | 120896 | }, |
| ... | @@ -120976,26 +120916,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120976,26 +120916,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120976 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, | 120916 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 120977 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 120917 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 120978 | } }, | 120918 | } }, |
| 120979 | }, .{ | | |
| 120980 | .required_features = .{ .sse, null, null, null }, | | |
| 120981 | .dst_constraints = .{ .{ .int = .dword }, .any }, | | |
| 120982 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 120983 | .patterns = &.{ | | |
| 120984 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 120985 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 120986 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 120987 | }, | | |
| 120988 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 120989 | .each = .{ .once = &.{} }, | | |
| 120990 | }, .{ | | |
| 120991 | .dst_constraints = .{ .{ .int = .dword }, .any }, | | |
| 120992 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 120993 | .patterns = &.{ | | |
| 120994 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 120995 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 120996 | }, | | |
| 120997 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 120998 | .each = .{ .once = &.{} }, | | |
| 120999 | }, .{ | 120919 | }, .{ |
| 121000 | .required_features = .{ .avx, null, null, null }, | 120920 | .required_features = .{ .avx, null, null, null }, |
| 121001 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 120921 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -121316,7 +121236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121316,7 +121236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121316 | .unused, | 121236 | .unused, |
| 121317 | .unused, | 121237 | .unused, |
| 121318 | }, | 121238 | }, |
| 121319 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 121239 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121320 | .each = .{ .once = &.{ | 121240 | .each = .{ .once = &.{ |
| 121321 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 121241 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 121322 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 121242 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -121354,7 +121274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121354,7 +121274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121354 | .unused, | 121274 | .unused, |
| 121355 | .unused, | 121275 | .unused, |
| 121356 | }, | 121276 | }, |
| 121357 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 121277 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121358 | .each = .{ .once = &.{ | 121278 | .each = .{ .once = &.{ |
| 121359 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121279 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 121360 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 121280 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -121398,6 +121318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121398,6 +121318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121398 | .unused, | 121318 | .unused, |
| 121399 | }, | 121319 | }, |
| 121400 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121320 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121321 | .clobbers = .{ .eflags = true }, |
| 121401 | .each = .{ .once = &.{ | 121322 | .each = .{ .once = &.{ |
| 121402 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 121323 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 121403 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 121324 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -121432,6 +121353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121432,6 +121353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121432 | .unused, | 121353 | .unused, |
| 121433 | }, | 121354 | }, |
| 121434 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121355 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121356 | .clobbers = .{ .eflags = true }, |
| 121435 | .each = .{ .once = &.{ | 121357 | .each = .{ .once = &.{ |
| 121436 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 121358 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 121437 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 121359 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -121466,6 +121388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121466,6 +121388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121466 | .unused, | 121388 | .unused, |
| 121467 | }, | 121389 | }, |
| 121468 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121390 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121391 | .clobbers = .{ .eflags = true }, |
| 121469 | .each = .{ .once = &.{ | 121392 | .each = .{ .once = &.{ |
| 121470 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 121393 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 121471 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 121394 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -121505,6 +121428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121505,6 +121428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121505 | .unused, | 121428 | .unused, |
| 121506 | }, | 121429 | }, |
| 121507 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121430 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121431 | .clobbers = .{ .eflags = true }, |
| 121508 | .each = .{ .once = &.{ | 121432 | .each = .{ .once = &.{ |
| 121509 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121433 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 121510 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 121434 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -121560,6 +121484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121560,6 +121484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121560 | .unused, | 121484 | .unused, |
| 121561 | }, | 121485 | }, |
| 121562 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121486 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121487 | .clobbers = .{ .eflags = true }, |
| 121563 | .each = .{ .once = &.{ | 121488 | .each = .{ .once = &.{ |
| 121564 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121489 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 121565 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 121490 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -121607,6 +121532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121607,6 +121532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121607 | .unused, | 121532 | .unused, |
| 121608 | }, | 121533 | }, |
| 121609 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121534 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121535 | .clobbers = .{ .eflags = true }, |
| 121610 | .each = .{ .once = &.{ | 121536 | .each = .{ .once = &.{ |
| 121611 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121537 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 121612 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 121538 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -121654,6 +121580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121654,6 +121580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121654 | .unused, | 121580 | .unused, |
| 121655 | }, | 121581 | }, |
| 121656 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121582 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121583 | .clobbers = .{ .eflags = true }, |
| 121657 | .each = .{ .once = &.{ | 121584 | .each = .{ .once = &.{ |
| 121658 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121585 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 121659 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 121586 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -121673,7 +121600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121673,7 +121600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121673 | } }, | 121600 | } }, |
| 121674 | }, .{ | 121601 | }, .{ |
| 121675 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 121602 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 121676 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 121603 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 121677 | .patterns = &.{ | 121604 | .patterns = &.{ |
| 121678 | .{ .src = .{ .to_mem, .none, .none } }, | 121605 | .{ .src = .{ .to_mem, .none, .none } }, |
| 121679 | }, | 121606 | }, |
| ... | @@ -121699,27 +121626,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121699,27 +121626,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121699 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, | 121626 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 121700 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 121627 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 121701 | } }, | 121628 | } }, |
| 121702 | }, .{ | | |
| 121703 | .required_features = .{ .sse, null, null, null }, | | |
| 121704 | .dst_constraints = .{ .{ .int = .qword }, .any }, | | |
| 121705 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 121706 | .patterns = &.{ | | |
| 121707 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 121708 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 121709 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 121710 | }, | | |
| 121711 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 121712 | .each = .{ .once = &.{} }, | | |
| 121713 | }, .{ | | |
| 121714 | .required_features = .{ .@"64bit", null, null, null }, | | |
| 121715 | .dst_constraints = .{ .{ .int = .qword }, .any }, | | |
| 121716 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 121717 | .patterns = &.{ | | |
| 121718 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 121719 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 121720 | }, | | |
| 121721 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 121722 | .each = .{ .once = &.{} }, | | |
| 121723 | }, .{ | 121629 | }, .{ |
| 121724 | .required_features = .{ .avx, null, null, null }, | 121630 | .required_features = .{ .avx, null, null, null }, |
| 121725 | .dst_constraints = .{ .{ .int = .qword }, .any }, | 121631 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| ... | @@ -121898,7 +121804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121898,7 +121804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121898 | .unused, | 121804 | .unused, |
| 121899 | .unused, | 121805 | .unused, |
| 121900 | }, | 121806 | }, |
| 121901 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 121807 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121902 | .each = .{ .once = &.{ | 121808 | .each = .{ .once = &.{ |
| 121903 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 121809 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 121904 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 121810 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -121934,7 +121840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121934,7 +121840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121934 | .unused, | 121840 | .unused, |
| 121935 | .unused, | 121841 | .unused, |
| 121936 | }, | 121842 | }, |
| 121937 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 121843 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 121938 | .each = .{ .once = &.{ | 121844 | .each = .{ .once = &.{ |
| 121939 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121845 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 121940 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 121846 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -121976,6 +121882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -121976,6 +121882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121976 | .unused, | 121882 | .unused, |
| 121977 | }, | 121883 | }, |
| 121978 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121884 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121885 | .clobbers = .{ .eflags = true }, |
| 121979 | .each = .{ .once = &.{ | 121886 | .each = .{ .once = &.{ |
| 121980 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 121887 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 121981 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 121888 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -122008,6 +121915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122008,6 +121915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122008 | .unused, | 121915 | .unused, |
| 122009 | }, | 121916 | }, |
| 122010 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121917 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121918 | .clobbers = .{ .eflags = true }, |
| 122011 | .each = .{ .once = &.{ | 121919 | .each = .{ .once = &.{ |
| 122012 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 121920 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 122013 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 121921 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -122040,6 +121948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122040,6 +121948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122040 | .unused, | 121948 | .unused, |
| 122041 | }, | 121949 | }, |
| 122042 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121950 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121951 | .clobbers = .{ .eflags = true }, |
| 122043 | .each = .{ .once = &.{ | 121952 | .each = .{ .once = &.{ |
| 122044 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 121953 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 122045 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 121954 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -122077,6 +121986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122077,6 +121986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122077 | .unused, | 121986 | .unused, |
| 122078 | }, | 121987 | }, |
| 122079 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 121988 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121989 | .clobbers = .{ .eflags = true }, |
| 122080 | .each = .{ .once = &.{ | 121990 | .each = .{ .once = &.{ |
| 122081 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 121991 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122082 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 121992 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122130,6 +122040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122130,6 +122040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122130 | .unused, | 122040 | .unused, |
| 122131 | }, | 122041 | }, |
| 122132 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122042 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122043 | .clobbers = .{ .eflags = true }, |
| 122133 | .each = .{ .once = &.{ | 122044 | .each = .{ .once = &.{ |
| 122134 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122045 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122135 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 122046 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122175,6 +122086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122175,6 +122086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122175 | .unused, | 122086 | .unused, |
| 122176 | }, | 122087 | }, |
| 122177 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122088 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122089 | .clobbers = .{ .eflags = true }, |
| 122178 | .each = .{ .once = &.{ | 122090 | .each = .{ .once = &.{ |
| 122179 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122091 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122180 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 122092 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122220,6 +122132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122220,6 +122132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122220 | .unused, | 122132 | .unused, |
| 122221 | }, | 122133 | }, |
| 122222 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122134 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122135 | .clobbers = .{ .eflags = true }, |
| 122223 | .each = .{ .once = &.{ | 122136 | .each = .{ .once = &.{ |
| 122224 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122137 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122225 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 122138 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -122238,7 +122151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122238,7 +122151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122238 | }, .{ | 122151 | }, .{ |
| 122239 | .required_features = .{ .@"64bit", null, null, null }, | 122152 | .required_features = .{ .@"64bit", null, null, null }, |
| 122240 | .dst_constraints = .{ .{ .int = .qword }, .any }, | 122153 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 122241 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, | 122154 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 122242 | .patterns = &.{ | 122155 | .patterns = &.{ |
| 122243 | .{ .src = .{ .to_mem, .none, .none } }, | 122156 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122244 | }, | 122157 | }, |
| ... | @@ -122264,25 +122177,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122264,25 +122177,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122264 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 122177 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 122265 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 122178 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 122266 | } }, | 122179 | } }, |
| 122267 | }, .{ | | |
| 122268 | .required_features = .{ .sse, null, null, null }, | | |
| 122269 | .dst_constraints = .{ .{ .int = .xword }, .any }, | | |
| 122270 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122271 | .patterns = &.{ | | |
| 122272 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 122273 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 122274 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 122275 | }, | | |
| 122276 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122277 | .each = .{ .once = &.{} }, | | |
| 122278 | }, .{ | | |
| 122279 | .dst_constraints = .{ .{ .int = .xword }, .any }, | | |
| 122280 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122281 | .patterns = &.{ | | |
| 122282 | .{ .src = .{ .to_mut_mem, .none, .none } }, | | |
| 122283 | }, | | |
| 122284 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122285 | .each = .{ .once = &.{} }, | | |
| 122286 | }, .{ | 122180 | }, .{ |
| 122287 | .required_features = .{ .avx2, null, null, null }, | 122181 | .required_features = .{ .avx2, null, null, null }, |
| 122288 | .dst_constraints = .{ .{ .int = .xword }, .any }, | 122182 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| ... | @@ -122353,7 +122247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122353,7 +122247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122353 | .unused, | 122247 | .unused, |
| 122354 | .unused, | 122248 | .unused, |
| 122355 | }, | 122249 | }, |
| 122356 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 122250 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 122357 | .each = .{ .once = &.{ | 122251 | .each = .{ .once = &.{ |
| 122358 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 122252 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 122359 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 122253 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -122408,6 +122302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122408,6 +122302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122408 | .unused, | 122302 | .unused, |
| 122409 | }, | 122303 | }, |
| 122410 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122304 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122305 | .clobbers = .{ .eflags = true }, |
| 122411 | .each = .{ .once = &.{ | 122306 | .each = .{ .once = &.{ |
| 122412 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 122307 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 122413 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 122308 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -122438,6 +122333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122438,6 +122333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122438 | .unused, | 122333 | .unused, |
| 122439 | }, | 122334 | }, |
| 122440 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122335 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122336 | .clobbers = .{ .eflags = true }, |
| 122441 | .each = .{ .once = &.{ | 122337 | .each = .{ .once = &.{ |
| 122442 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 122338 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 122443 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 122339 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -122450,7 +122346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122450,7 +122346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122450 | }, .{ | 122346 | }, .{ |
| 122451 | .required_features = .{ .sse2, null, null, null }, | 122347 | .required_features = .{ .sse2, null, null, null }, |
| 122452 | .dst_constraints = .{ .{ .int = .xword }, .any }, | 122348 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| 122453 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 122349 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 122454 | .patterns = &.{ | 122350 | .patterns = &.{ |
| 122455 | .{ .src = .{ .to_mem, .none, .none } }, | 122351 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122456 | }, | 122352 | }, |
| ... | @@ -122468,6 +122364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122468,6 +122364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122468 | .unused, | 122364 | .unused, |
| 122469 | }, | 122365 | }, |
| 122470 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122366 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122367 | .clobbers = .{ .eflags = true }, |
| 122471 | .each = .{ .once = &.{ | 122368 | .each = .{ .once = &.{ |
| 122472 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 122369 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 122473 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 122370 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -122503,6 +122400,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122503,6 +122400,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122503 | .unused, | 122400 | .unused, |
| 122504 | }, | 122401 | }, |
| 122505 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122402 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122403 | .clobbers = .{ .eflags = true }, |
| 122506 | .each = .{ .once = &.{ | 122404 | .each = .{ .once = &.{ |
| 122507 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122405 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122508 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 122406 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122554,6 +122452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122554,6 +122452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122554 | .unused, | 122452 | .unused, |
| 122555 | }, | 122453 | }, |
| 122556 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122454 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122455 | .clobbers = .{ .eflags = true }, |
| 122557 | .each = .{ .once = &.{ | 122456 | .each = .{ .once = &.{ |
| 122558 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122457 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122559 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 122458 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122597,6 +122496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122597,6 +122496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122597 | .unused, | 122496 | .unused, |
| 122598 | }, | 122497 | }, |
| 122599 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122498 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122499 | .clobbers = .{ .eflags = true }, |
| 122600 | .each = .{ .once = &.{ | 122500 | .each = .{ .once = &.{ |
| 122601 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122501 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122602 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 122502 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122640,6 +122540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122640,6 +122540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122640 | .unused, | 122540 | .unused, |
| 122641 | }, | 122541 | }, |
| 122642 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122542 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122543 | .clobbers = .{ .eflags = true }, |
| 122643 | .each = .{ .once = &.{ | 122544 | .each = .{ .once = &.{ |
| 122644 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122545 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122645 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 122546 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -122653,25 +122554,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122653,25 +122554,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122653 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, | 122554 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 122654 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 122555 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 122655 | } }, | 122556 | } }, |
| 122656 | }, .{ | | |
| 122657 | .required_features = .{ .avx, null, null, null }, | | |
| 122658 | .dst_constraints = .{ .{ .int = .yword }, .any }, | | |
| 122659 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122660 | .patterns = &.{ | | |
| 122661 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 122662 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 122663 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 122664 | }, | | |
| 122665 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122666 | .each = .{ .once = &.{} }, | | |
| 122667 | }, .{ | | |
| 122668 | .dst_constraints = .{ .{ .int = .yword }, .any }, | | |
| 122669 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122670 | .patterns = &.{ | | |
| 122671 | .{ .src = .{ .to_mut_mem, .none, .none } }, | | |
| 122672 | }, | | |
| 122673 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122674 | .each = .{ .once = &.{} }, | | |
| 122675 | }, .{ | 122557 | }, .{ |
| 122676 | .required_features = .{ .avx512f, null, null, null }, | 122558 | .required_features = .{ .avx512f, null, null, null }, |
| 122677 | .dst_constraints = .{ .{ .int = .yword }, .any }, | 122559 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| ... | @@ -122679,7 +122561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122679,7 +122561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122679 | .patterns = &.{ | 122561 | .patterns = &.{ |
| 122680 | .{ .src = .{ .to_mem, .none, .none } }, | 122562 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122681 | }, | 122563 | }, |
| 122682 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 122564 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 122683 | .each = .{ .once = &.{ | 122565 | .each = .{ .once = &.{ |
| 122684 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 122566 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 122685 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 122567 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -122687,7 +122569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122687,7 +122569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122687 | }, .{ | 122569 | }, .{ |
| 122688 | .required_features = .{ .avx2, null, null, null }, | 122570 | .required_features = .{ .avx2, null, null, null }, |
| 122689 | .dst_constraints = .{ .{ .int = .yword }, .any }, | 122571 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| 122690 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, | 122572 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| 122691 | .patterns = &.{ | 122573 | .patterns = &.{ |
| 122692 | .{ .src = .{ .to_mem, .none, .none } }, | 122574 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122693 | }, | 122575 | }, |
| ... | @@ -122705,6 +122587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122705,6 +122587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122705 | .unused, | 122587 | .unused, |
| 122706 | }, | 122588 | }, |
| 122707 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122589 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122590 | .clobbers = .{ .eflags = true }, |
| 122708 | .each = .{ .once = &.{ | 122591 | .each = .{ .once = &.{ |
| 122709 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 122592 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 122710 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 122593 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -122715,7 +122598,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122715,7 +122598,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122715 | }, .{ | 122598 | }, .{ |
| 122716 | .required_features = .{ .avx, null, null, null }, | 122599 | .required_features = .{ .avx, null, null, null }, |
| 122717 | .dst_constraints = .{ .{ .int = .yword }, .any }, | 122600 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| 122718 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, | 122601 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| 122719 | .patterns = &.{ | 122602 | .patterns = &.{ |
| 122720 | .{ .src = .{ .to_mem, .none, .none } }, | 122603 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122721 | }, | 122604 | }, |
| ... | @@ -122733,6 +122616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122733,6 +122616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122733 | .unused, | 122616 | .unused, |
| 122734 | }, | 122617 | }, |
| 122735 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122618 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122619 | .clobbers = .{ .eflags = true }, |
| 122736 | .each = .{ .once = &.{ | 122620 | .each = .{ .once = &.{ |
| 122737 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 122621 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 122738 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 122622 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -122768,6 +122652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122768,6 +122652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122768 | .unused, | 122652 | .unused, |
| 122769 | }, | 122653 | }, |
| 122770 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122654 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122655 | .clobbers = .{ .eflags = true }, |
| 122771 | .each = .{ .once = &.{ | 122656 | .each = .{ .once = &.{ |
| 122772 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122657 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122773 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 122658 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122817,6 +122702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122817,6 +122702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122817 | .unused, | 122702 | .unused, |
| 122818 | }, | 122703 | }, |
| 122819 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122704 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122705 | .clobbers = .{ .eflags = true }, |
| 122820 | .each = .{ .once = &.{ | 122706 | .each = .{ .once = &.{ |
| 122821 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122707 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122822 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 122708 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122858,6 +122744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122858,6 +122744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122858 | .unused, | 122744 | .unused, |
| 122859 | }, | 122745 | }, |
| 122860 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 122746 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122747 | .clobbers = .{ .eflags = true }, |
| 122861 | .each = .{ .once = &.{ | 122748 | .each = .{ .once = &.{ |
| 122862 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 122749 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122863 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 122750 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -122871,14 +122758,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122871,14 +122758,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122871 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, | 122758 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 122872 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 122759 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 122873 | } }, | 122760 | } }, |
| 122874 | }, .{ | | |
| 122875 | .dst_constraints = .{ .any_int, .any }, | | |
| 122876 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122877 | .patterns = &.{ | | |
| 122878 | .{ .src = .{ .to_mut_mem, .none, .none } }, | | |
| 122879 | }, | | |
| 122880 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122881 | .each = .{ .once = &.{} }, | | |
| 122882 | }, .{ | 122761 | }, .{ |
| 122883 | .required_features = .{ .@"64bit", null, null, null }, | 122762 | .required_features = .{ .@"64bit", null, null, null }, |
| 122884 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, | 122763 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| ... | @@ -122920,26 +122799,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -122920,26 +122799,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122920 | }, | 122799 | }, |
| 122921 | .Min, .Max => unreachable, | 122800 | .Min, .Max => unreachable, |
| 122922 | .Add => comptime &.{ .{ | 122801 | .Add => comptime &.{ .{ |
| 122923 | .required_features = .{ .sse, null, null, null }, | | |
| 122924 | .dst_constraints = .{ .{ .int = .byte }, .any }, | | |
| 122925 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122926 | .patterns = &.{ | | |
| 122927 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 122928 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 122929 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 122930 | }, | | |
| 122931 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122932 | .each = .{ .once = &.{} }, | | |
| 122933 | }, .{ | | |
| 122934 | .dst_constraints = .{ .{ .int = .byte }, .any }, | | |
| 122935 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 122936 | .patterns = &.{ | | |
| 122937 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 122938 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 122939 | }, | | |
| 122940 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 122941 | .each = .{ .once = &.{} }, | | |
| 122942 | }, .{ | | |
| 122943 | .required_features = .{ .avx, null, null, null }, | 122802 | .required_features = .{ .avx, null, null, null }, |
| 122944 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 122803 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122945 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, | 122804 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| ... | @@ -123513,7 +123372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123513,7 +123372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123513 | .unused, | 123372 | .unused, |
| 123514 | .unused, | 123373 | .unused, |
| 123515 | }, | 123374 | }, |
| 123516 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 123375 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123517 | .each = .{ .once = &.{ | 123376 | .each = .{ .once = &.{ |
| 123518 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 123377 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 123519 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 123378 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -123548,7 +123407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123548,7 +123407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123548 | .unused, | 123407 | .unused, |
| 123549 | .unused, | 123408 | .unused, |
| 123550 | }, | 123409 | }, |
| 123551 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 123410 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123552 | .each = .{ .once = &.{ | 123411 | .each = .{ .once = &.{ |
| 123553 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 123412 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123554 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 123413 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -123588,6 +123447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123588,6 +123447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123588 | .unused, | 123447 | .unused, |
| 123589 | }, | 123448 | }, |
| 123590 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123449 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123450 | .clobbers = .{ .eflags = true }, |
| 123591 | .each = .{ .once = &.{ | 123451 | .each = .{ .once = &.{ |
| 123592 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 123452 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 123593 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 123453 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -123626,6 +123486,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123626,6 +123486,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123626 | .unused, | 123486 | .unused, |
| 123627 | }, | 123487 | }, |
| 123628 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123488 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123489 | .clobbers = .{ .eflags = true }, |
| 123629 | .each = .{ .once = &.{ | 123490 | .each = .{ .once = &.{ |
| 123630 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 123491 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 123631 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 123492 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -123662,6 +123523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123662,6 +123523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123662 | .unused, | 123523 | .unused, |
| 123663 | }, | 123524 | }, |
| 123664 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123525 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123526 | .clobbers = .{ .eflags = true }, |
| 123665 | .each = .{ .once = &.{ | 123527 | .each = .{ .once = &.{ |
| 123666 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 123528 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 123667 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 123529 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -123700,6 +123562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123700,6 +123562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123700 | .unused, | 123562 | .unused, |
| 123701 | }, | 123563 | }, |
| 123702 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123564 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123565 | .clobbers = .{ .eflags = true }, |
| 123703 | .each = .{ .once = &.{ | 123566 | .each = .{ .once = &.{ |
| 123704 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 123567 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123705 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 123568 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -123744,6 +123607,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123744,6 +123607,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123744 | .unused, | 123607 | .unused, |
| 123745 | }, | 123608 | }, |
| 123746 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123609 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123610 | .clobbers = .{ .eflags = true }, |
| 123747 | .each = .{ .once = &.{ | 123611 | .each = .{ .once = &.{ |
| 123748 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 123612 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123749 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 123613 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -123784,6 +123648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123784,6 +123648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123784 | .unused, | 123648 | .unused, |
| 123785 | }, | 123649 | }, |
| 123786 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123650 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123651 | .clobbers = .{ .eflags = true }, |
| 123787 | .each = .{ .once = &.{ | 123652 | .each = .{ .once = &.{ |
| 123788 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 123653 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123789 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 123654 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -123824,6 +123689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123824,6 +123689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123824 | .unused, | 123689 | .unused, |
| 123825 | }, | 123690 | }, |
| 123826 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 123691 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 123692 | .clobbers = .{ .eflags = true }, |
| 123827 | .each = .{ .once = &.{ | 123693 | .each = .{ .once = &.{ |
| 123828 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 123694 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123829 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 123695 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -123846,7 +123712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123846,7 +123712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123846 | }, .{ | 123712 | }, .{ |
| 123847 | .required_features = .{ .slow_incdec, null, null, null }, | 123713 | .required_features = .{ .slow_incdec, null, null, null }, |
| 123848 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 123714 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123849 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 123715 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 123850 | .patterns = &.{ | 123716 | .patterns = &.{ |
| 123851 | .{ .src = .{ .to_mem, .none, .none } }, | 123717 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123852 | }, | 123718 | }, |
| ... | @@ -123874,7 +123740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123874,7 +123740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123874 | } }, | 123740 | } }, |
| 123875 | }, .{ | 123741 | }, .{ |
| 123876 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 123742 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123877 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 123743 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 123878 | .patterns = &.{ | 123744 | .patterns = &.{ |
| 123879 | .{ .src = .{ .to_mem, .none, .none } }, | 123745 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123880 | }, | 123746 | }, |
| ... | @@ -123901,25 +123767,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123901,25 +123767,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123901 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | 123767 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 123902 | } }, | 123768 | } }, |
| 123903 | }, .{ | 123769 | }, .{ |
| 123904 | .required_features = .{ .sse, null, null, null }, | 123770 | .required_features = .{ .avx, .fast_hops, null, null }, |
| 123905 | .dst_constraints = .{ .{ .int = .word }, .any }, | | |
| 123906 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 123907 | .patterns = &.{ | | |
| 123908 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 123909 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 123910 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 123911 | }, | | |
| 123912 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 123913 | .each = .{ .once = &.{} }, | | |
| 123914 | }, .{ | | |
| 123915 | .dst_constraints = .{ .{ .int = .word }, .any }, | 123771 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123916 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | 123772 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 123917 | .patterns = &.{ | 123773 | .patterns = &.{ |
| 123918 | .{ .src = .{ .mut_mem, .none, .none } }, | 123774 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123919 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 123920 | }, | 123775 | }, |
| 123921 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 123776 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123922 | .each = .{ .once = &.{} }, | 123777 | .each = .{ .once = &.{ |
| | 123778 | .{ ._, .vph_w, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 123779 | } }, |
| 123923 | }, .{ | 123780 | }, .{ |
| 123924 | .required_features = .{ .avx, null, null, null }, | 123781 | .required_features = .{ .avx, null, null, null }, |
| 123925 | .dst_constraints = .{ .{ .int = .word }, .any }, | 123782 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -123945,6 +123802,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123945,6 +123802,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123945 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, | 123802 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 123946 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, | 123803 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123947 | } }, | 123804 | } }, |
| | 123805 | }, .{ |
| | 123806 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 123807 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 123808 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 123809 | .patterns = &.{ |
| | 123810 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123811 | }, |
| | 123812 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123813 | .each = .{ .once = &.{ |
| | 123814 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 123815 | } }, |
| 123948 | }, .{ | 123816 | }, .{ |
| 123949 | .required_features = .{ .sse2, null, null, null }, | 123817 | .required_features = .{ .sse2, null, null, null }, |
| 123950 | .dst_constraints = .{ .{ .int = .word }, .any }, | 123818 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -123971,6 +123839,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123971,6 +123839,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123971 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, | 123839 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 123972 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, | 123840 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123973 | } }, | 123841 | } }, |
| | 123842 | }, .{ |
| | 123843 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 123844 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 123845 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 123846 | .patterns = &.{ |
| | 123847 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123848 | }, |
| | 123849 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123850 | .each = .{ .once = &.{ |
| | 123851 | .{ ._, .vph_w, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 123852 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 123853 | } }, |
| 123974 | }, .{ | 123854 | }, .{ |
| 123975 | .required_features = .{ .avx, null, null, null }, | 123855 | .required_features = .{ .avx, null, null, null }, |
| 123976 | .dst_constraints = .{ .{ .int = .word }, .any }, | 123856 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -123998,6 +123878,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -123998,6 +123878,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 123998 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, | 123878 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 123999 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 123879 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124000 | } }, | 123880 | } }, |
| | 123881 | }, .{ |
| | 123882 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 123883 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 123884 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 123885 | .patterns = &.{ |
| | 123886 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123887 | }, |
| | 123888 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123889 | .each = .{ .once = &.{ |
| | 123890 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 123891 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 123892 | } }, |
| 124001 | }, .{ | 123893 | }, .{ |
| 124002 | .required_features = .{ .sse2, null, null, null }, | 123894 | .required_features = .{ .sse2, null, null, null }, |
| 124003 | .dst_constraints = .{ .{ .int = .word }, .any }, | 123895 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124026,6 +123918,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124026,6 +123918,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124026 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, | 123918 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 124027 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, | 123919 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124028 | } }, | 123920 | } }, |
| | 123921 | }, .{ |
| | 123922 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 123923 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 123924 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 123925 | .patterns = &.{ |
| | 123926 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123927 | }, |
| | 123928 | .extra_temps = .{ |
| | 123929 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 123930 | .unused, |
| | 123931 | .unused, |
| | 123932 | .unused, |
| | 123933 | .unused, |
| | 123934 | .unused, |
| | 123935 | .unused, |
| | 123936 | .unused, |
| | 123937 | .unused, |
| | 123938 | .unused, |
| | 123939 | .unused, |
| | 123940 | }, |
| | 123941 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123942 | .each = .{ .once = &.{ |
| | 123943 | .{ ._, .vph_w, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 123944 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| | 123945 | .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 123946 | } }, |
| 124029 | }, .{ | 123947 | }, .{ |
| 124030 | .required_features = .{ .avx, null, null, null }, | 123948 | .required_features = .{ .avx, null, null, null }, |
| 124031 | .dst_constraints = .{ .{ .int = .word }, .any }, | 123949 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124053,6 +123971,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124053,6 +123971,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124053 | .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ }, | 123971 | .{ ._, .vp_d, .srl, .dst0x, .src0x, .ui(16), ._ }, |
| 124054 | .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ }, | 123972 | .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 124055 | } }, | 123973 | } }, |
| | 123974 | }, .{ |
| | 123975 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 123976 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 123977 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 123978 | .patterns = &.{ |
| | 123979 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123980 | }, |
| | 123981 | .extra_temps = .{ |
| | 123982 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 123983 | .unused, |
| | 123984 | .unused, |
| | 123985 | .unused, |
| | 123986 | .unused, |
| | 123987 | .unused, |
| | 123988 | .unused, |
| | 123989 | .unused, |
| | 123990 | .unused, |
| | 123991 | .unused, |
| | 123992 | .unused, |
| | 123993 | }, |
| | 123994 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123995 | .each = .{ .once = &.{ |
| | 123996 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| | 123997 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 123998 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 123999 | } }, |
| 124056 | }, .{ | 124000 | }, .{ |
| 124057 | .required_features = .{ .sse2, null, null, null }, | 124001 | .required_features = .{ .sse2, null, null, null }, |
| 124058 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124002 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124080,6 +124024,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124080,6 +124024,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124080 | .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ }, | 124024 | .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ }, |
| 124081 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, | 124025 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124082 | } }, | 124026 | } }, |
| | 124027 | }, .{ |
| | 124028 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 124029 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124030 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124031 | .patterns = &.{ |
| | 124032 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124033 | }, |
| | 124034 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124035 | .each = .{ .once = &.{ |
| | 124036 | .{ ._, .vph_w, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 124037 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124038 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124039 | } }, |
| 124083 | }, .{ | 124040 | }, .{ |
| 124084 | .required_features = .{ .avx, null, null, null }, | 124041 | .required_features = .{ .avx, null, null, null }, |
| 124085 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124042 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124109,6 +124066,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124109,6 +124066,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124109 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, | 124066 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 124110 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 124067 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124111 | } }, | 124068 | } }, |
| | 124069 | }, .{ |
| | 124070 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 124071 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124072 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124073 | .patterns = &.{ |
| | 124074 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 124075 | }, |
| | 124076 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 124077 | .each = .{ .once = &.{ |
| | 124078 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 124079 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124080 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124081 | } }, |
| 124112 | }, .{ | 124082 | }, .{ |
| 124113 | .required_features = .{ .sse2, null, null, null }, | 124083 | .required_features = .{ .sse2, null, null, null }, |
| 124114 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124084 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124139,6 +124109,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124139,6 +124109,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124139 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, | 124109 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 124140 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, | 124110 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124141 | } }, | 124111 | } }, |
| | 124112 | }, .{ |
| | 124113 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 124114 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124115 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124116 | .patterns = &.{ |
| | 124117 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124118 | }, |
| | 124119 | .extra_temps = .{ |
| | 124120 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124121 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124122 | .unused, |
| | 124123 | .unused, |
| | 124124 | .unused, |
| | 124125 | .unused, |
| | 124126 | .unused, |
| | 124127 | .unused, |
| | 124128 | .unused, |
| | 124129 | .unused, |
| | 124130 | .unused, |
| | 124131 | }, |
| | 124132 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124133 | .each = .{ .once = &.{ |
| | 124134 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124135 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 124136 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124137 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124138 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124139 | } }, |
| 124142 | }, .{ | 124140 | }, .{ |
| 124143 | .required_features = .{ .avx, null, null, null }, | 124141 | .required_features = .{ .avx, null, null, null }, |
| 124144 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124142 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124170,6 +124168,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124170,6 +124168,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124170 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, | 124168 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 124171 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 124169 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124172 | } }, | 124170 | } }, |
| | 124171 | }, .{ |
| | 124172 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 124173 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124174 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124175 | .patterns = &.{ |
| | 124176 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 124177 | }, |
| | 124178 | .extra_temps = .{ |
| | 124179 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124180 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124181 | .unused, |
| | 124182 | .unused, |
| | 124183 | .unused, |
| | 124184 | .unused, |
| | 124185 | .unused, |
| | 124186 | .unused, |
| | 124187 | .unused, |
| | 124188 | .unused, |
| | 124189 | .unused, |
| | 124190 | }, |
| | 124191 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 124192 | .each = .{ .once = &.{ |
| | 124193 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124194 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 124195 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124196 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124197 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124198 | } }, |
| 124173 | }, .{ | 124199 | }, .{ |
| 124174 | .required_features = .{ .sse2, null, null, null }, | 124200 | .required_features = .{ .sse2, null, null, null }, |
| 124175 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124201 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124202,6 +124228,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124202,6 +124228,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124202 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, | 124228 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 124203 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, | 124229 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 124204 | } }, | 124230 | } }, |
| | 124231 | }, .{ |
| | 124232 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 124233 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124234 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124235 | .patterns = &.{ |
| | 124236 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124237 | }, |
| | 124238 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124239 | .each = .{ .once = &.{ |
| | 124240 | .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 124241 | .{ ._, .vp_w, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 124242 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124243 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124244 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124245 | } }, |
| 124205 | }, .{ | 124246 | }, .{ |
| 124206 | .required_features = .{ .avx2, null, null, null }, | 124247 | .required_features = .{ .avx2, null, null, null }, |
| 124207 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124248 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124233,6 +124274,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124233,6 +124274,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124233 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, | 124274 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 124234 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 124275 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124235 | } }, | 124276 | } }, |
| | 124277 | }, .{ |
| | 124278 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 124279 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124280 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124281 | .patterns = &.{ |
| | 124282 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124283 | }, |
| | 124284 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124285 | .each = .{ .once = &.{ |
| | 124286 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 124287 | .{ ._, .vp_w, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 124288 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124289 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124290 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124291 | } }, |
| 124236 | }, .{ | 124292 | }, .{ |
| 124237 | .required_features = .{ .avx, null, null, null }, | 124293 | .required_features = .{ .avx, null, null, null }, |
| 124238 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124294 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124264,6 +124320,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124264,6 +124320,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124264 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, | 124320 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 124265 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 124321 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124266 | } }, | 124322 | } }, |
| | 124323 | }, .{ |
| | 124324 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 124325 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124326 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124327 | .patterns = &.{ |
| | 124328 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124329 | }, |
| | 124330 | .extra_temps = .{ |
| | 124331 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124332 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124333 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 124334 | .unused, |
| | 124335 | .unused, |
| | 124336 | .unused, |
| | 124337 | .unused, |
| | 124338 | .unused, |
| | 124339 | .unused, |
| | 124340 | .unused, |
| | 124341 | .unused, |
| | 124342 | }, |
| | 124343 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124344 | .each = .{ .once = &.{ |
| | 124345 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124346 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 124347 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124348 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124349 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124350 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124351 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124352 | } }, |
| 124267 | }, .{ | 124353 | }, .{ |
| 124268 | .required_features = .{ .avx2, null, null, null }, | 124354 | .required_features = .{ .avx2, null, null, null }, |
| 124269 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124355 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124297,6 +124383,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124297,6 +124383,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124297 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, | 124383 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 124298 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 124384 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124299 | } }, | 124385 | } }, |
| | 124386 | }, .{ |
| | 124387 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 124388 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124389 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124390 | .patterns = &.{ |
| | 124391 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124392 | }, |
| | 124393 | .extra_temps = .{ |
| | 124394 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124395 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124396 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 124397 | .unused, |
| | 124398 | .unused, |
| | 124399 | .unused, |
| | 124400 | .unused, |
| | 124401 | .unused, |
| | 124402 | .unused, |
| | 124403 | .unused, |
| | 124404 | .unused, |
| | 124405 | }, |
| | 124406 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124407 | .each = .{ .once = &.{ |
| | 124408 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124409 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 124410 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124411 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124412 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124413 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124414 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124415 | } }, |
| 124300 | }, .{ | 124416 | }, .{ |
| 124301 | .required_features = .{ .avx, null, null, null }, | 124417 | .required_features = .{ .avx, null, null, null }, |
| 124302 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124418 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124350,7 +124466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124350,7 +124466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124350 | .unused, | 124466 | .unused, |
| 124351 | .unused, | 124467 | .unused, |
| 124352 | }, | 124468 | }, |
| 124353 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 124469 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124354 | .each = .{ .once = &.{ | 124470 | .each = .{ .once = &.{ |
| 124355 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 124471 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 124356 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 124472 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -124383,7 +124499,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124383,7 +124499,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124383 | .unused, | 124499 | .unused, |
| 124384 | .unused, | 124500 | .unused, |
| 124385 | }, | 124501 | }, |
| 124386 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 124502 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124387 | .each = .{ .once = &.{ | 124503 | .each = .{ .once = &.{ |
| 124388 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 124504 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124389 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 124505 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -124400,6 +124516,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124400,6 +124516,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124400 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, | 124516 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 124401 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 124517 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124402 | } }, | 124518 | } }, |
| | 124519 | }, .{ |
| | 124520 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 124521 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124522 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124523 | .patterns = &.{ |
| | 124524 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124525 | }, |
| | 124526 | .extra_temps = .{ |
| | 124527 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124528 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 124529 | .unused, |
| | 124530 | .unused, |
| | 124531 | .unused, |
| | 124532 | .unused, |
| | 124533 | .unused, |
| | 124534 | .unused, |
| | 124535 | .unused, |
| | 124536 | .unused, |
| | 124537 | .unused, |
| | 124538 | }, |
| | 124539 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124540 | .clobbers = .{ .eflags = true }, |
| | 124541 | .each = .{ .once = &.{ |
| | 124542 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 124543 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 124544 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124545 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 124546 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124547 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 124548 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124549 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124550 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124551 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124552 | } }, |
| 124403 | }, .{ | 124553 | }, .{ |
| 124404 | .required_features = .{ .avx2, null, null, null }, | 124554 | .required_features = .{ .avx2, null, null, null }, |
| 124405 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124555 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124421,6 +124571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124421,6 +124571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124421 | .unused, | 124571 | .unused, |
| 124422 | }, | 124572 | }, |
| 124423 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124573 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124574 | .clobbers = .{ .eflags = true }, |
| 124424 | .each = .{ .once = &.{ | 124575 | .each = .{ .once = &.{ |
| 124425 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 124576 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 124426 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 124577 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -124436,6 +124587,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124436,6 +124587,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124436 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, | 124587 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 124437 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, | 124588 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124438 | } }, | 124589 | } }, |
| | 124590 | }, .{ |
| | 124591 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 124592 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124593 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124594 | .patterns = &.{ |
| | 124595 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124596 | }, |
| | 124597 | .extra_temps = .{ |
| | 124598 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124599 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 124600 | .unused, |
| | 124601 | .unused, |
| | 124602 | .unused, |
| | 124603 | .unused, |
| | 124604 | .unused, |
| | 124605 | .unused, |
| | 124606 | .unused, |
| | 124607 | .unused, |
| | 124608 | .unused, |
| | 124609 | }, |
| | 124610 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124611 | .clobbers = .{ .eflags = true }, |
| | 124612 | .each = .{ .once = &.{ |
| | 124613 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124614 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124615 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 124616 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124617 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124618 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124619 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124620 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124621 | } }, |
| 124439 | }, .{ | 124622 | }, .{ |
| 124440 | .required_features = .{ .avx, null, null, null }, | 124623 | .required_features = .{ .avx, null, null, null }, |
| 124441 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124624 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124457,6 +124640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124457,6 +124640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124457 | .unused, | 124640 | .unused, |
| 124458 | }, | 124641 | }, |
| 124459 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124642 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124643 | .clobbers = .{ .eflags = true }, |
| 124460 | .each = .{ .once = &.{ | 124644 | .each = .{ .once = &.{ |
| 124461 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 124645 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 124462 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 124646 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -124470,6 +124654,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124470,6 +124654,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124470 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, | 124654 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 124471 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, | 124655 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124472 | } }, | 124656 | } }, |
| | 124657 | }, .{ |
| | 124658 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 124659 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124660 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124661 | .patterns = &.{ |
| | 124662 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124663 | }, |
| | 124664 | .extra_temps = .{ |
| | 124665 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124666 | .unused, |
| | 124667 | .unused, |
| | 124668 | .unused, |
| | 124669 | .unused, |
| | 124670 | .unused, |
| | 124671 | .unused, |
| | 124672 | .unused, |
| | 124673 | .unused, |
| | 124674 | .unused, |
| | 124675 | .unused, |
| | 124676 | }, |
| | 124677 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124678 | .clobbers = .{ .eflags = true }, |
| | 124679 | .each = .{ .once = &.{ |
| | 124680 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124681 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124682 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124683 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124684 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124685 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124686 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124687 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124688 | } }, |
| 124473 | }, .{ | 124689 | }, .{ |
| 124474 | .required_features = .{ .sse2, null, null, null }, | 124690 | .required_features = .{ .sse2, null, null, null }, |
| 124475 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124691 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124491,6 +124707,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124491,6 +124707,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124491 | .unused, | 124707 | .unused, |
| 124492 | }, | 124708 | }, |
| 124493 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124709 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124710 | .clobbers = .{ .eflags = true }, |
| 124494 | .each = .{ .once = &.{ | 124711 | .each = .{ .once = &.{ |
| 124495 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 124712 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 124496 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 124713 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -124526,6 +124743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124526,6 +124743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124526 | .unused, | 124743 | .unused, |
| 124527 | }, | 124744 | }, |
| 124528 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124745 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124746 | .clobbers = .{ .eflags = true }, |
| 124529 | .each = .{ .once = &.{ | 124747 | .each = .{ .once = &.{ |
| 124530 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 124748 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124531 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 124749 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -124547,6 +124765,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124547,6 +124765,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124547 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, | 124765 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 124548 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 124766 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124549 | } }, | 124767 | } }, |
| | 124768 | }, .{ |
| | 124769 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 124770 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124771 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124772 | .patterns = &.{ |
| | 124773 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124774 | }, |
| | 124775 | .extra_temps = .{ |
| | 124776 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124777 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124778 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 124779 | .unused, |
| | 124780 | .unused, |
| | 124781 | .unused, |
| | 124782 | .unused, |
| | 124783 | .unused, |
| | 124784 | .unused, |
| | 124785 | .unused, |
| | 124786 | .unused, |
| | 124787 | }, |
| | 124788 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124789 | .clobbers = .{ .eflags = true }, |
| | 124790 | .each = .{ .once = &.{ |
| | 124791 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124792 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124793 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 124794 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124795 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124796 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 124797 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124798 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124799 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124800 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124801 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124802 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124803 | } }, |
| 124550 | }, .{ | 124804 | }, .{ |
| 124551 | .required_features = .{ .avx2, null, null, null }, | 124805 | .required_features = .{ .avx2, null, null, null }, |
| 124552 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124806 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124568,6 +124822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124568,6 +124822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124568 | .unused, | 124822 | .unused, |
| 124569 | }, | 124823 | }, |
| 124570 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124824 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124825 | .clobbers = .{ .eflags = true }, |
| 124571 | .each = .{ .once = &.{ | 124826 | .each = .{ .once = &.{ |
| 124572 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 124827 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124573 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 124828 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -124585,6 +124840,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124585,6 +124840,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124585 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, | 124840 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 124586 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 124841 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124587 | } }, | 124842 | } }, |
| | 124843 | }, .{ |
| | 124844 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 124845 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124846 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 124847 | .patterns = &.{ |
| | 124848 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124849 | }, |
| | 124850 | .extra_temps = .{ |
| | 124851 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124852 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124853 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 124854 | .unused, |
| | 124855 | .unused, |
| | 124856 | .unused, |
| | 124857 | .unused, |
| | 124858 | .unused, |
| | 124859 | .unused, |
| | 124860 | .unused, |
| | 124861 | .unused, |
| | 124862 | }, |
| | 124863 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124864 | .clobbers = .{ .eflags = true }, |
| | 124865 | .each = .{ .once = &.{ |
| | 124866 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124867 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124868 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 124869 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124870 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124871 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124872 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 124873 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124874 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124875 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124876 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124877 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 124878 | } }, |
| 124588 | }, .{ | 124879 | }, .{ |
| 124589 | .required_features = .{ .avx, null, null, null }, | 124880 | .required_features = .{ .avx, null, null, null }, |
| 124590 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124881 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124606,6 +124897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124606,6 +124897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124606 | .unused, | 124897 | .unused, |
| 124607 | }, | 124898 | }, |
| 124608 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124899 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124900 | .clobbers = .{ .eflags = true }, |
| 124609 | .each = .{ .once = &.{ | 124901 | .each = .{ .once = &.{ |
| 124610 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 124902 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124611 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 124903 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -124623,6 +124915,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124623,6 +124915,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124623 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, | 124915 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 124624 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 124916 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124625 | } }, | 124917 | } }, |
| | 124918 | }, .{ |
| | 124919 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 124920 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 124921 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 124922 | .patterns = &.{ |
| | 124923 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124924 | }, |
| | 124925 | .extra_temps = .{ |
| | 124926 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124927 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124928 | .unused, |
| | 124929 | .unused, |
| | 124930 | .unused, |
| | 124931 | .unused, |
| | 124932 | .unused, |
| | 124933 | .unused, |
| | 124934 | .unused, |
| | 124935 | .unused, |
| | 124936 | .unused, |
| | 124937 | }, |
| | 124938 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124939 | .clobbers = .{ .eflags = true }, |
| | 124940 | .each = .{ .once = &.{ |
| | 124941 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124942 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 124943 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 124944 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 124945 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124946 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124947 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124948 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124949 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124950 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 124951 | } }, |
| 124626 | }, .{ | 124952 | }, .{ |
| 124627 | .required_features = .{ .sse2, null, null, null }, | 124953 | .required_features = .{ .sse2, null, null, null }, |
| 124628 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124954 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -124644,6 +124970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124644,6 +124970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124644 | .unused, | 124970 | .unused, |
| 124645 | }, | 124971 | }, |
| 124646 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 124972 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124973 | .clobbers = .{ .eflags = true }, |
| 124647 | .each = .{ .once = &.{ | 124974 | .each = .{ .once = &.{ |
| 124648 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 124975 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124649 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 124976 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -124662,7 +124989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124662,7 +124989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124662 | } }, | 124989 | } }, |
| 124663 | }, .{ | 124990 | }, .{ |
| 124664 | .dst_constraints = .{ .{ .int = .word }, .any }, | 124991 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 124665 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, | 124992 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 124666 | .patterns = &.{ | 124993 | .patterns = &.{ |
| 124667 | .{ .src = .{ .to_mem, .none, .none } }, | 124994 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124668 | }, | 124995 | }, |
| ... | @@ -124689,25 +125016,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124689,25 +125016,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124689 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 125016 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124690 | } }, | 125017 | } }, |
| 124691 | }, .{ | 125018 | }, .{ |
| 124692 | .required_features = .{ .sse, null, null, null }, | 125019 | .required_features = .{ .avx, .fast_hops, null, null }, |
| 124693 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125020 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124694 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | 125021 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 124695 | .patterns = &.{ | | |
| 124696 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 124697 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 124698 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 124699 | }, | | |
| 124700 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 124701 | .each = .{ .once = &.{} }, | | |
| 124702 | }, .{ | | |
| 124703 | .dst_constraints = .{ .{ .int = .dword }, .any }, | | |
| 124704 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 124705 | .patterns = &.{ | 125022 | .patterns = &.{ |
| 124706 | .{ .src = .{ .mut_mem, .none, .none } }, | 125023 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124707 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 124708 | }, | 125024 | }, |
| 124709 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 125025 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124710 | .each = .{ .once = &.{} }, | 125026 | .each = .{ .once = &.{ |
| | 125027 | .{ ._, .vph_d, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 125028 | } }, |
| 124711 | }, .{ | 125029 | }, .{ |
| 124712 | .required_features = .{ .avx, null, null, null }, | 125030 | .required_features = .{ .avx, null, null, null }, |
| 124713 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125031 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124733,6 +125051,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124733,6 +125051,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124733 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, | 125051 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124734 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, | 125052 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124735 | } }, | 125053 | } }, |
| | 125054 | }, .{ |
| | 125055 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 125056 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125057 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 125058 | .patterns = &.{ |
| | 125059 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125060 | }, |
| | 125061 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125062 | .each = .{ .once = &.{ |
| | 125063 | .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ }, |
| | 125064 | } }, |
| 124736 | }, .{ | 125065 | }, .{ |
| 124737 | .required_features = .{ .sse2, null, null, null }, | 125066 | .required_features = .{ .sse2, null, null, null }, |
| 124738 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125067 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124758,6 +125087,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124758,6 +125087,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124758 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, | 125087 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124759 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, | 125088 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124760 | } }, | 125089 | } }, |
| | 125090 | }, .{ |
| | 125091 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 125092 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125093 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125094 | .patterns = &.{ |
| | 125095 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125096 | }, |
| | 125097 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125098 | .each = .{ .once = &.{ |
| | 125099 | .{ ._, .vph_d, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 125100 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125101 | } }, |
| 124761 | }, .{ | 125102 | }, .{ |
| 124762 | .required_features = .{ .avx, null, null, null }, | 125103 | .required_features = .{ .avx, null, null, null }, |
| 124763 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125104 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124785,6 +125126,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124785,6 +125126,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124785 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125126 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124786 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 125127 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124787 | } }, | 125128 | } }, |
| | 125129 | }, .{ |
| | 125130 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 125131 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125132 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125133 | .patterns = &.{ |
| | 125134 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125135 | }, |
| | 125136 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125137 | .each = .{ .once = &.{ |
| | 125138 | .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ }, |
| | 125139 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 125140 | } }, |
| 124788 | }, .{ | 125141 | }, .{ |
| 124789 | .required_features = .{ .sse2, null, null, null }, | 125142 | .required_features = .{ .sse2, null, null, null }, |
| 124790 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125143 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124812,6 +125165,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124812,6 +125165,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124812 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125165 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124813 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, | 125166 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124814 | } }, | 125167 | } }, |
| | 125168 | }, .{ |
| | 125169 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 125170 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125171 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125172 | .patterns = &.{ |
| | 125173 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125174 | }, |
| | 125175 | .extra_temps = .{ |
| | 125176 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125177 | .unused, |
| | 125178 | .unused, |
| | 125179 | .unused, |
| | 125180 | .unused, |
| | 125181 | .unused, |
| | 125182 | .unused, |
| | 125183 | .unused, |
| | 125184 | .unused, |
| | 125185 | .unused, |
| | 125186 | .unused, |
| | 125187 | }, |
| | 125188 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125189 | .each = .{ .once = &.{ |
| | 125190 | .{ ._, .vph_d, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 125191 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| | 125192 | .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 125193 | } }, |
| 124815 | }, .{ | 125194 | }, .{ |
| 124816 | .required_features = .{ .avx, null, null, null }, | 125195 | .required_features = .{ .avx, null, null, null }, |
| 124817 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125196 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124839,6 +125218,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124839,6 +125218,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124839 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, | 125218 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124840 | .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ }, | 125219 | .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 124841 | } }, | 125220 | } }, |
| | 125221 | }, .{ |
| | 125222 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 125223 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125224 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125225 | .patterns = &.{ |
| | 125226 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125227 | }, |
| | 125228 | .extra_temps = .{ |
| | 125229 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125230 | .unused, |
| | 125231 | .unused, |
| | 125232 | .unused, |
| | 125233 | .unused, |
| | 125234 | .unused, |
| | 125235 | .unused, |
| | 125236 | .unused, |
| | 125237 | .unused, |
| | 125238 | .unused, |
| | 125239 | .unused, |
| | 125240 | }, |
| | 125241 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125242 | .each = .{ .once = &.{ |
| | 125243 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| | 125244 | .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ }, |
| | 125245 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 125246 | } }, |
| 124842 | }, .{ | 125247 | }, .{ |
| 124843 | .required_features = .{ .sse2, null, null, null }, | 125248 | .required_features = .{ .sse2, null, null, null }, |
| 124844 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125249 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124866,6 +125271,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124866,6 +125271,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124866 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, | 125271 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124867 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, | 125272 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124868 | } }, | 125273 | } }, |
| | 125274 | }, .{ |
| | 125275 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 125276 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125277 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125278 | .patterns = &.{ |
| | 125279 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125280 | }, |
| | 125281 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125282 | .each = .{ .once = &.{ |
| | 125283 | .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 125284 | .{ ._, .vp_d, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 125285 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125286 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125287 | } }, |
| 124869 | }, .{ | 125288 | }, .{ |
| 124870 | .required_features = .{ .avx2, null, null, null }, | 125289 | .required_features = .{ .avx2, null, null, null }, |
| 124871 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125290 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124895,6 +125314,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124895,6 +125314,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124895 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125314 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124896 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 125315 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124897 | } }, | 125316 | } }, |
| | 125317 | }, .{ |
| | 125318 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 125319 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125320 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125321 | .patterns = &.{ |
| | 125322 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125323 | }, |
| | 125324 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125325 | .each = .{ .once = &.{ |
| | 125326 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 125327 | .{ ._, .vp_d, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 125328 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125329 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125330 | } }, |
| 124898 | }, .{ | 125331 | }, .{ |
| 124899 | .required_features = .{ .avx, null, null, null }, | 125332 | .required_features = .{ .avx, null, null, null }, |
| 124900 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125333 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124924,6 +125357,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124924,6 +125357,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124924 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125357 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124925 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 125358 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124926 | } }, | 125359 | } }, |
| | 125360 | }, .{ |
| | 125361 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 125362 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125363 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125364 | .patterns = &.{ |
| | 125365 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125366 | }, |
| | 125367 | .extra_temps = .{ |
| | 125368 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125369 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 125370 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 125371 | .unused, |
| | 125372 | .unused, |
| | 125373 | .unused, |
| | 125374 | .unused, |
| | 125375 | .unused, |
| | 125376 | .unused, |
| | 125377 | .unused, |
| | 125378 | .unused, |
| | 125379 | }, |
| | 125380 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125381 | .each = .{ .once = &.{ |
| | 125382 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125383 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 125384 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 125385 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125386 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125387 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125388 | } }, |
| 124927 | }, .{ | 125389 | }, .{ |
| 124928 | .required_features = .{ .avx2, null, null, null }, | 125390 | .required_features = .{ .avx2, null, null, null }, |
| 124929 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125391 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -124955,6 +125417,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -124955,6 +125417,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 124955 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125417 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124956 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 125418 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124957 | } }, | 125419 | } }, |
| | 125420 | }, .{ |
| | 125421 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 125422 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125423 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125424 | .patterns = &.{ |
| | 125425 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125426 | }, |
| | 125427 | .extra_temps = .{ |
| | 125428 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125429 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 125430 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125431 | .unused, |
| | 125432 | .unused, |
| | 125433 | .unused, |
| | 125434 | .unused, |
| | 125435 | .unused, |
| | 125436 | .unused, |
| | 125437 | .unused, |
| | 125438 | .unused, |
| | 125439 | }, |
| | 125440 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125441 | .each = .{ .once = &.{ |
| | 125442 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125443 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 125444 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 125445 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125446 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125447 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125448 | } }, |
| 124958 | }, .{ | 125449 | }, .{ |
| 124959 | .required_features = .{ .avx, null, null, null }, | 125450 | .required_features = .{ .avx, null, null, null }, |
| 124960 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125451 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125006,7 +125497,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125006,7 +125497,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125006 | .unused, | 125497 | .unused, |
| 125007 | .unused, | 125498 | .unused, |
| 125008 | }, | 125499 | }, |
| 125009 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 125500 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125501 | .clobbers = .{ .eflags = true }, |
| 125010 | .each = .{ .once = &.{ | 125502 | .each = .{ .once = &.{ |
| 125011 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 125503 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 125012 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 125504 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -125037,7 +125529,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125037,7 +125529,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125037 | .unused, | 125529 | .unused, |
| 125038 | .unused, | 125530 | .unused, |
| 125039 | }, | 125531 | }, |
| 125040 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 125532 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125533 | .clobbers = .{ .eflags = true }, |
| 125041 | .each = .{ .once = &.{ | 125534 | .each = .{ .once = &.{ |
| 125042 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 125535 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125043 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 125536 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -125052,6 +125545,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125052,6 +125545,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125052 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125545 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 125053 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 125546 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125054 | } }, | 125547 | } }, |
| | 125548 | }, .{ |
| | 125549 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 125550 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125551 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125552 | .patterns = &.{ |
| | 125553 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125554 | }, |
| | 125555 | .extra_temps = .{ |
| | 125556 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125557 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125558 | .unused, |
| | 125559 | .unused, |
| | 125560 | .unused, |
| | 125561 | .unused, |
| | 125562 | .unused, |
| | 125563 | .unused, |
| | 125564 | .unused, |
| | 125565 | .unused, |
| | 125566 | .unused, |
| | 125567 | }, |
| | 125568 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125569 | .clobbers = .{ .eflags = true }, |
| | 125570 | .each = .{ .once = &.{ |
| | 125571 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 125572 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 125573 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 125574 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 125575 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125576 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 125577 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 125578 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125579 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125580 | } }, |
| 125055 | }, .{ | 125581 | }, .{ |
| 125056 | .required_features = .{ .avx2, null, null, null }, | 125582 | .required_features = .{ .avx2, null, null, null }, |
| 125057 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125583 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125073,6 +125599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125073,6 +125599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125073 | .unused, | 125599 | .unused, |
| 125074 | }, | 125600 | }, |
| 125075 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 125601 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125602 | .clobbers = .{ .eflags = true }, |
| 125076 | .each = .{ .once = &.{ | 125603 | .each = .{ .once = &.{ |
| 125077 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 125604 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 125078 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 125605 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -125086,6 +125613,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125086,6 +125613,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125086 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125613 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 125087 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, | 125614 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 125088 | } }, | 125615 | } }, |
| | 125616 | }, .{ |
| | 125617 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 125618 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125619 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125620 | .patterns = &.{ |
| | 125621 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125622 | }, |
| | 125623 | .extra_temps = .{ |
| | 125624 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125625 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125626 | .unused, |
| | 125627 | .unused, |
| | 125628 | .unused, |
| | 125629 | .unused, |
| | 125630 | .unused, |
| | 125631 | .unused, |
| | 125632 | .unused, |
| | 125633 | .unused, |
| | 125634 | .unused, |
| | 125635 | }, |
| | 125636 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125637 | .clobbers = .{ .eflags = true }, |
| | 125638 | .each = .{ .once = &.{ |
| | 125639 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 125640 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 125641 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 125642 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 125643 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125644 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 125645 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125646 | } }, |
| 125089 | }, .{ | 125647 | }, .{ |
| 125090 | .required_features = .{ .avx, null, null, null }, | 125648 | .required_features = .{ .avx, null, null, null }, |
| 125091 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125649 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125107,6 +125665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125107,6 +125665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125107 | .unused, | 125665 | .unused, |
| 125108 | }, | 125666 | }, |
| 125109 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 125667 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125668 | .clobbers = .{ .eflags = true }, |
| 125110 | .each = .{ .once = &.{ | 125669 | .each = .{ .once = &.{ |
| 125111 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 125670 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 125112 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 125671 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -125118,6 +125677,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125118,6 +125677,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125118 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125677 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 125119 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, | 125678 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 125120 | } }, | 125679 | } }, |
| | 125680 | }, .{ |
| | 125681 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 125682 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125683 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125684 | .patterns = &.{ |
| | 125685 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125686 | }, |
| | 125687 | .extra_temps = .{ |
| | 125688 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125689 | .unused, |
| | 125690 | .unused, |
| | 125691 | .unused, |
| | 125692 | .unused, |
| | 125693 | .unused, |
| | 125694 | .unused, |
| | 125695 | .unused, |
| | 125696 | .unused, |
| | 125697 | .unused, |
| | 125698 | .unused, |
| | 125699 | }, |
| | 125700 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125701 | .clobbers = .{ .eflags = true }, |
| | 125702 | .each = .{ .once = &.{ |
| | 125703 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 125704 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 125705 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 125706 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 125707 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125708 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 125709 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 125710 | } }, |
| 125121 | }, .{ | 125711 | }, .{ |
| 125122 | .required_features = .{ .sse2, null, null, null }, | 125712 | .required_features = .{ .sse2, null, null, null }, |
| 125123 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125713 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125139,6 +125729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125139,6 +125729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125139 | .unused, | 125729 | .unused, |
| 125140 | }, | 125730 | }, |
| 125141 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 125731 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125732 | .clobbers = .{ .eflags = true }, |
| 125142 | .each = .{ .once = &.{ | 125733 | .each = .{ .once = &.{ |
| 125143 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 125734 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 125144 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 125735 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -125171,6 +125762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125171,6 +125762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125171 | .unused, | 125762 | .unused, |
| 125172 | }, | 125763 | }, |
| 125173 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 125764 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125765 | .clobbers = .{ .eflags = true }, |
| 125174 | .each = .{ .once = &.{ | 125766 | .each = .{ .once = &.{ |
| 125175 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 125767 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125176 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 125768 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -125190,6 +125782,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125190,6 +125782,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125190 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125782 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 125191 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 125783 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125192 | } }, | 125784 | } }, |
| | 125785 | }, .{ |
| | 125786 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 125787 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125788 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125789 | .patterns = &.{ |
| | 125790 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125791 | }, |
| | 125792 | .extra_temps = .{ |
| | 125793 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125794 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 125795 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125796 | .unused, |
| | 125797 | .unused, |
| | 125798 | .unused, |
| | 125799 | .unused, |
| | 125800 | .unused, |
| | 125801 | .unused, |
| | 125802 | .unused, |
| | 125803 | .unused, |
| | 125804 | }, |
| | 125805 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125806 | .clobbers = .{ .eflags = true }, |
| | 125807 | .each = .{ .once = &.{ |
| | 125808 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125809 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 125810 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 125811 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 125812 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 125813 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 125814 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125815 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 125816 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125817 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125818 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125819 | } }, |
| 125193 | }, .{ | 125820 | }, .{ |
| 125194 | .required_features = .{ .avx2, null, null, null }, | 125821 | .required_features = .{ .avx2, null, null, null }, |
| 125195 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125822 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125211,6 +125838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125211,6 +125838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125211 | .unused, | 125838 | .unused, |
| 125212 | }, | 125839 | }, |
| 125213 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 125840 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125841 | .clobbers = .{ .eflags = true }, |
| 125214 | .each = .{ .once = &.{ | 125842 | .each = .{ .once = &.{ |
| 125215 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 125843 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125216 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 125844 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -125226,6 +125854,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125226,6 +125854,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125226 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125854 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 125227 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 125855 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125228 | } }, | 125856 | } }, |
| | 125857 | }, .{ |
| | 125858 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 125859 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125860 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 125861 | .patterns = &.{ |
| | 125862 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125863 | }, |
| | 125864 | .extra_temps = .{ |
| | 125865 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125866 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 125867 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 125868 | .unused, |
| | 125869 | .unused, |
| | 125870 | .unused, |
| | 125871 | .unused, |
| | 125872 | .unused, |
| | 125873 | .unused, |
| | 125874 | .unused, |
| | 125875 | .unused, |
| | 125876 | }, |
| | 125877 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125878 | .clobbers = .{ .eflags = true }, |
| | 125879 | .each = .{ .once = &.{ |
| | 125880 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125881 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 125882 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 125883 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 125884 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 125885 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125886 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 125887 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 125888 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125889 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125890 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 125891 | } }, |
| 125229 | }, .{ | 125892 | }, .{ |
| 125230 | .required_features = .{ .avx, null, null, null }, | 125893 | .required_features = .{ .avx, null, null, null }, |
| 125231 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125894 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125262,6 +125925,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125262,6 +125925,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125262 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, | 125925 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 125263 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 125926 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125264 | } }, | 125927 | } }, |
| | 125928 | }, .{ |
| | 125929 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 125930 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 125931 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 125932 | .patterns = &.{ |
| | 125933 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125934 | }, |
| | 125935 | .extra_temps = .{ |
| | 125936 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125937 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 125938 | .unused, |
| | 125939 | .unused, |
| | 125940 | .unused, |
| | 125941 | .unused, |
| | 125942 | .unused, |
| | 125943 | .unused, |
| | 125944 | .unused, |
| | 125945 | .unused, |
| | 125946 | .unused, |
| | 125947 | }, |
| | 125948 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125949 | .clobbers = .{ .eflags = true }, |
| | 125950 | .each = .{ .once = &.{ |
| | 125951 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125952 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125953 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 125954 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 125955 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 125956 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 125957 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125958 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 125959 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 125960 | } }, |
| 125265 | }, .{ | 125961 | }, .{ |
| 125266 | .required_features = .{ .sse2, null, null, null }, | 125962 | .required_features = .{ .sse2, null, null, null }, |
| 125267 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125963 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -125283,6 +125979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125283,6 +125979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125283 | .unused, | 125979 | .unused, |
| 125284 | }, | 125980 | }, |
| 125285 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 125981 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125982 | .clobbers = .{ .eflags = true }, |
| 125286 | .each = .{ .once = &.{ | 125983 | .each = .{ .once = &.{ |
| 125287 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 125984 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125288 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 125985 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -125298,7 +125995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125298,7 +125995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125298 | } }, | 125995 | } }, |
| 125299 | }, .{ | 125996 | }, .{ |
| 125300 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 125997 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 125301 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 125998 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 125302 | .patterns = &.{ | 125999 | .patterns = &.{ |
| 125303 | .{ .src = .{ .to_mem, .none, .none } }, | 126000 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125304 | }, | 126001 | }, |
| ... | @@ -125324,27 +126021,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125324,27 +126021,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125324 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, | 126021 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 125325 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 126022 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125326 | } }, | 126023 | } }, |
| 125327 | }, .{ | | |
| 125328 | .required_features = .{ .sse, null, null, null }, | | |
| 125329 | .dst_constraints = .{ .{ .int = .qword }, .any }, | | |
| 125330 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125331 | .patterns = &.{ | | |
| 125332 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 125333 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 125334 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 125335 | }, | | |
| 125336 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125337 | .each = .{ .once = &.{} }, | | |
| 125338 | }, .{ | | |
| 125339 | .required_features = .{ .@"64bit", null, null, null }, | | |
| 125340 | .dst_constraints = .{ .{ .int = .qword }, .any }, | | |
| 125341 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125342 | .patterns = &.{ | | |
| 125343 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 125344 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | | |
| 125345 | }, | | |
| 125346 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125347 | .each = .{ .once = &.{} }, | | |
| 125348 | }, .{ | 126024 | }, .{ |
| 125349 | .required_features = .{ .avx, null, null, null }, | 126025 | .required_features = .{ .avx, null, null, null }, |
| 125350 | .dst_constraints = .{ .{ .int = .qword }, .any }, | 126026 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| ... | @@ -125523,7 +126199,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125523,7 +126199,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125523 | .unused, | 126199 | .unused, |
| 125524 | .unused, | 126200 | .unused, |
| 125525 | }, | 126201 | }, |
| 125526 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 126202 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125527 | .each = .{ .once = &.{ | 126203 | .each = .{ .once = &.{ |
| 125528 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 126204 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 125529 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 126205 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -125552,7 +126228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125552,7 +126228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125552 | .unused, | 126228 | .unused, |
| 125553 | .unused, | 126229 | .unused, |
| 125554 | }, | 126230 | }, |
| 125555 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 126231 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125556 | .each = .{ .once = &.{ | 126232 | .each = .{ .once = &.{ |
| 125557 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 126233 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125558 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 126234 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| ... | @@ -125586,6 +126262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125586,6 +126262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125586 | .unused, | 126262 | .unused, |
| 125587 | }, | 126263 | }, |
| 125588 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126264 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126265 | .clobbers = .{ .eflags = true }, |
| 125589 | .each = .{ .once = &.{ | 126266 | .each = .{ .once = &.{ |
| 125590 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 126267 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 125591 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 126268 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -125618,6 +126295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125618,6 +126295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125618 | .unused, | 126295 | .unused, |
| 125619 | }, | 126296 | }, |
| 125620 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126297 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126298 | .clobbers = .{ .eflags = true }, |
| 125621 | .each = .{ .once = &.{ | 126299 | .each = .{ .once = &.{ |
| 125622 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 126300 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 125623 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 126301 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -125648,6 +126326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125648,6 +126326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125648 | .unused, | 126326 | .unused, |
| 125649 | }, | 126327 | }, |
| 125650 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126328 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126329 | .clobbers = .{ .eflags = true }, |
| 125651 | .each = .{ .once = &.{ | 126330 | .each = .{ .once = &.{ |
| 125652 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 126331 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 125653 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 126332 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -125678,6 +126357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125678,6 +126357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125678 | .unused, | 126357 | .unused, |
| 125679 | }, | 126358 | }, |
| 125680 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126359 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126360 | .clobbers = .{ .eflags = true }, |
| 125681 | .each = .{ .once = &.{ | 126361 | .each = .{ .once = &.{ |
| 125682 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 126362 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125683 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 126363 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -125716,6 +126396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125716,6 +126396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125716 | .unused, | 126396 | .unused, |
| 125717 | }, | 126397 | }, |
| 125718 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126398 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126399 | .clobbers = .{ .eflags = true }, |
| 125719 | .each = .{ .once = &.{ | 126400 | .each = .{ .once = &.{ |
| 125720 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 126401 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125721 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 126402 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -125750,6 +126431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125750,6 +126431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125750 | .unused, | 126431 | .unused, |
| 125751 | }, | 126432 | }, |
| 125752 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126433 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126434 | .clobbers = .{ .eflags = true }, |
| 125753 | .each = .{ .once = &.{ | 126435 | .each = .{ .once = &.{ |
| 125754 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 126436 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125755 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 126437 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -125784,6 +126466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125784,6 +126466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125784 | .unused, | 126466 | .unused, |
| 125785 | }, | 126467 | }, |
| 125786 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 126468 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126469 | .clobbers = .{ .eflags = true }, |
| 125787 | .each = .{ .once = &.{ | 126470 | .each = .{ .once = &.{ |
| 125788 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 126471 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125789 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 126472 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -125798,7 +126481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125798,7 +126481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125798 | }, .{ | 126481 | }, .{ |
| 125799 | .required_features = .{ .@"64bit", null, null, null }, | 126482 | .required_features = .{ .@"64bit", null, null, null }, |
| 125800 | .dst_constraints = .{ .{ .int = .qword }, .any }, | 126483 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125801 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, | 126484 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 125802 | .patterns = &.{ | 126485 | .patterns = &.{ |
| 125803 | .{ .src = .{ .to_mem, .none, .none } }, | 126486 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125804 | }, | 126487 | }, |
| ... | @@ -125824,52 +126507,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125824,52 +126507,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125824 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 126507 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 125825 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 126508 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125826 | } }, | 126509 | } }, |
| 125827 | }, .{ | | |
| 125828 | .required_features = .{ .sse, null, null, null }, | | |
| 125829 | .dst_constraints = .{ .{ .int = .xword }, .any }, | | |
| 125830 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125831 | .patterns = &.{ | | |
| 125832 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 125833 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 125834 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 125835 | }, | | |
| 125836 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125837 | .each = .{ .once = &.{} }, | | |
| 125838 | }, .{ | | |
| 125839 | .dst_constraints = .{ .{ .int = .xword }, .any }, | | |
| 125840 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125841 | .patterns = &.{ | | |
| 125842 | .{ .src = .{ .to_mut_mem, .none, .none } }, | | |
| 125843 | }, | | |
| 125844 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125845 | .each = .{ .once = &.{} }, | | |
| 125846 | }, .{ | | |
| 125847 | .required_features = .{ .avx, null, null, null }, | | |
| 125848 | .dst_constraints = .{ .{ .int = .yword }, .any }, | | |
| 125849 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125850 | .patterns = &.{ | | |
| 125851 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 125852 | .{ .src = .{ .mut_gpr, .none, .none } }, | | |
| 125853 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 125854 | }, | | |
| 125855 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125856 | .each = .{ .once = &.{} }, | | |
| 125857 | }, .{ | | |
| 125858 | .dst_constraints = .{ .{ .int = .yword }, .any }, | | |
| 125859 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125860 | .patterns = &.{ | | |
| 125861 | .{ .src = .{ .to_mut_mem, .none, .none } }, | | |
| 125862 | }, | | |
| 125863 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125864 | .each = .{ .once = &.{} }, | | |
| 125865 | }, .{ | | |
| 125866 | .dst_constraints = .{ .any_int, .any }, | | |
| 125867 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, | | |
| 125868 | .patterns = &.{ | | |
| 125869 | .{ .src = .{ .to_mut_mem, .none, .none } }, | | |
| 125870 | }, | | |
| 125871 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 125872 | .each = .{ .once = &.{} }, | | |
| 125873 | }, .{ | 126510 | }, .{ |
| 125874 | .required_features = .{ .@"64bit", null, null, null }, | 126511 | .required_features = .{ .@"64bit", null, null, null }, |
| 125875 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, | 126512 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| ... | @@ -125910,26 +126547,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -125910,26 +126547,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 125910 | } }, | 126547 | } }, |
| 125911 | } }, | 126548 | } }, |
| 125912 | .Mul => comptime &.{ .{ | 126549 | .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 }, | 126550 | .required_features = .{ .avx, null, null, null }, |
| 125934 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 126551 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 125935 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, | 126552 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| ... | @@ -126528,7 +127145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126528,7 +127145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126528 | .unused, | 127145 | .unused, |
| 126529 | .unused, | 127146 | .unused, |
| 126530 | }, | 127147 | }, |
| 126531 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 127148 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126532 | .each = .{ .once = &.{ | 127149 | .each = .{ .once = &.{ |
| 126533 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 127150 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 126534 | .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ }, | 127151 | .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| ... | @@ -126566,7 +127183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126566,7 +127183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126566 | .unused, | 127183 | .unused, |
| 126567 | .unused, | 127184 | .unused, |
| 126568 | }, | 127185 | }, |
| 126569 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 127186 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 126570 | .each = .{ .once = &.{ | 127187 | .each = .{ .once = &.{ |
| 126571 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 127188 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126572 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 127189 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -126610,6 +127227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126610,6 +127227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126610 | .unused, | 127227 | .unused, |
| 126611 | }, | 127228 | }, |
| 126612 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127229 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127230 | .clobbers = .{ .eflags = true }, |
| 126613 | .each = .{ .once = &.{ | 127231 | .each = .{ .once = &.{ |
| 126614 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_unaligned_size), ._, ._ }, | 127232 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_unaligned_size), ._, ._ }, |
| 126615 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 127233 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -126649,6 +127267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126649,6 +127267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126649 | .unused, | 127267 | .unused, |
| 126650 | }, | 127268 | }, |
| 126651 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127269 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127270 | .clobbers = .{ .eflags = true }, |
| 126652 | .each = .{ .once = &.{ | 127271 | .each = .{ .once = &.{ |
| 126653 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, | 127272 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| 126654 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 127273 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -126686,6 +127305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126686,6 +127305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126686 | .unused, | 127305 | .unused, |
| 126687 | }, | 127306 | }, |
| 126688 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127307 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127308 | .clobbers = .{ .eflags = true }, |
| 126689 | .each = .{ .once = &.{ | 127309 | .each = .{ .once = &.{ |
| 126690 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, | 127310 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| 126691 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 127311 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -126725,6 +127345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126725,6 +127345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126725 | .unused, | 127345 | .unused, |
| 126726 | }, | 127346 | }, |
| 126727 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127347 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127348 | .clobbers = .{ .eflags = true }, |
| 126728 | .each = .{ .once = &.{ | 127349 | .each = .{ .once = &.{ |
| 126729 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, | 127350 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| 126730 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 127351 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -126765,6 +127386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126765,6 +127386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126765 | .unused, | 127386 | .unused, |
| 126766 | }, | 127387 | }, |
| 126767 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127388 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127389 | .clobbers = .{ .eflags = true }, |
| 126768 | .each = .{ .once = &.{ | 127390 | .each = .{ .once = &.{ |
| 126769 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 127391 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126770 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 127392 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -126815,6 +127437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126815,6 +127437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126815 | .unused, | 127437 | .unused, |
| 126816 | }, | 127438 | }, |
| 126817 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127439 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127440 | .clobbers = .{ .eflags = true }, |
| 126818 | .each = .{ .once = &.{ | 127441 | .each = .{ .once = &.{ |
| 126819 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 127442 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126820 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, | 127443 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -126857,6 +127480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126857,6 +127480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126857 | .unused, | 127480 | .unused, |
| 126858 | }, | 127481 | }, |
| 126859 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127482 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127483 | .clobbers = .{ .eflags = true }, |
| 126860 | .each = .{ .once = &.{ | 127484 | .each = .{ .once = &.{ |
| 126861 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 127485 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126862 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, | 127486 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -126903,6 +127527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126903,6 +127527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126903 | .unused, | 127527 | .unused, |
| 126904 | }, | 127528 | }, |
| 126905 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127529 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127530 | .clobbers = .{ .eflags = true }, |
| 126906 | .each = .{ .once = &.{ | 127531 | .each = .{ .once = &.{ |
| 126907 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 127532 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126908 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 127533 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -126946,6 +127571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126946,6 +127571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126946 | .unused, | 127571 | .unused, |
| 126947 | }, | 127572 | }, |
| 126948 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 127573 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127574 | .clobbers = .{ .eflags = true }, |
| 126949 | .each = .{ .once = &.{ | 127575 | .each = .{ .once = &.{ |
| 126950 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 127576 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 126951 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 127577 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -126972,7 +127598,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -126972,7 +127598,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126972 | }, .{ | 127598 | }, .{ |
| 126973 | .required_features = .{ .slow_incdec, null, null, null }, | 127599 | .required_features = .{ .slow_incdec, null, null, null }, |
| 126974 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 127600 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 126975 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 127601 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 126976 | .patterns = &.{ | 127602 | .patterns = &.{ |
| 126977 | .{ .src = .{ .to_mem, .none, .none } }, | 127603 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126978 | }, | 127604 | }, |
| ... | @@ -127000,7 +127626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127000,7 +127626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127000 | } }, | 127626 | } }, |
| 127001 | }, .{ | 127627 | }, .{ |
| 127002 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 127628 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 127003 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 127629 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 127004 | .patterns = &.{ | 127630 | .patterns = &.{ |
| 127005 | .{ .src = .{ .to_mem, .none, .none } }, | 127631 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127006 | }, | 127632 | }, |
| ... | @@ -127026,26 +127652,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127026,26 +127652,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127026 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, | 127652 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 127027 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | 127653 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 127028 | } }, | 127654 | } }, |
| 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 | }, .{ | 127655 | }, .{ |
| 127050 | .required_features = .{ .avx, null, null, null }, | 127656 | .required_features = .{ .avx, null, null, null }, |
| 127051 | .dst_constraints = .{ .{ .int = .word }, .any }, | 127657 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| ... | @@ -127489,7 +128095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127489,7 +128095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127489 | .unused, | 128095 | .unused, |
| 127490 | .unused, | 128096 | .unused, |
| 127491 | }, | 128097 | }, |
| 127492 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 128098 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127493 | .each = .{ .once = &.{ | 128099 | .each = .{ .once = &.{ |
| 127494 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 128100 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 127495 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 128101 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -127522,7 +128128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127522,7 +128128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127522 | .unused, | 128128 | .unused, |
| 127523 | .unused, | 128129 | .unused, |
| 127524 | }, | 128130 | }, |
| 127525 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 128131 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127526 | .each = .{ .once = &.{ | 128132 | .each = .{ .once = &.{ |
| 127527 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128133 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127528 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 128134 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -127562,6 +128168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127562,6 +128168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127562 | .unused, | 128168 | .unused, |
| 127563 | }, | 128169 | }, |
| 127564 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128170 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128171 | .clobbers = .{ .eflags = true }, |
| 127565 | .each = .{ .once = &.{ | 128172 | .each = .{ .once = &.{ |
| 127566 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 128173 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 127567 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 128174 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -127598,6 +128205,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127598,6 +128205,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127598 | .unused, | 128205 | .unused, |
| 127599 | }, | 128206 | }, |
| 127600 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128207 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128208 | .clobbers = .{ .eflags = true }, |
| 127601 | .each = .{ .once = &.{ | 128209 | .each = .{ .once = &.{ |
| 127602 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 128210 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 127603 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 128211 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -127632,6 +128240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127632,6 +128240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127632 | .unused, | 128240 | .unused, |
| 127633 | }, | 128241 | }, |
| 127634 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128242 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128243 | .clobbers = .{ .eflags = true }, |
| 127635 | .each = .{ .once = &.{ | 128244 | .each = .{ .once = &.{ |
| 127636 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 128245 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 127637 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 128246 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -127667,6 +128276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127667,6 +128276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127667 | .unused, | 128276 | .unused, |
| 127668 | }, | 128277 | }, |
| 127669 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128278 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128279 | .clobbers = .{ .eflags = true }, |
| 127670 | .each = .{ .once = &.{ | 128280 | .each = .{ .once = &.{ |
| 127671 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128281 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127672 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 128282 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -127711,6 +128321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127711,6 +128321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127711 | .unused, | 128321 | .unused, |
| 127712 | }, | 128322 | }, |
| 127713 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128323 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128324 | .clobbers = .{ .eflags = true }, |
| 127714 | .each = .{ .once = &.{ | 128325 | .each = .{ .once = &.{ |
| 127715 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128326 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127716 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, | 128327 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -127750,6 +128361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127750,6 +128361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127750 | .unused, | 128361 | .unused, |
| 127751 | }, | 128362 | }, |
| 127752 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128363 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128364 | .clobbers = .{ .eflags = true }, |
| 127753 | .each = .{ .once = &.{ | 128365 | .each = .{ .once = &.{ |
| 127754 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128366 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127755 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, | 128367 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -127791,6 +128403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127791,6 +128403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127791 | .unused, | 128403 | .unused, |
| 127792 | }, | 128404 | }, |
| 127793 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128405 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128406 | .clobbers = .{ .eflags = true }, |
| 127794 | .each = .{ .once = &.{ | 128407 | .each = .{ .once = &.{ |
| 127795 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128408 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 127796 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 128409 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -127811,7 +128424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127811,7 +128424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127811 | } }, | 128424 | } }, |
| 127812 | }, .{ | 128425 | }, .{ |
| 127813 | .dst_constraints = .{ .{ .int = .word }, .any }, | 128426 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 127814 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, | 128427 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 127815 | .patterns = &.{ | 128428 | .patterns = &.{ |
| 127816 | .{ .src = .{ .to_mem, .none, .none } }, | 128429 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127817 | }, | 128430 | }, |
| ... | @@ -127837,26 +128450,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -127837,26 +128450,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 127837 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, | 128450 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 127838 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 128451 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 127839 | } }, | 128452 | } }, |
| 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 | }, .{ | 128453 | }, .{ |
| 127861 | .required_features = .{ .avx, null, null, null }, | 128454 | .required_features = .{ .avx, null, null, null }, |
| 127862 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 128455 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| ... | @@ -128163,7 +128756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128163,7 +128756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128163 | .unused, | 128756 | .unused, |
| 128164 | .unused, | 128757 | .unused, |
| 128165 | }, | 128758 | }, |
| 128166 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 128759 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128167 | .each = .{ .once = &.{ | 128760 | .each = .{ .once = &.{ |
| 128168 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, | 128761 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 128169 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, | 128762 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| ... | @@ -128194,7 +128787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128194,7 +128787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128194 | .unused, | 128787 | .unused, |
| 128195 | .unused, | 128788 | .unused, |
| 128196 | }, | 128789 | }, |
| 128197 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 128790 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 128198 | .each = .{ .once = &.{ | 128791 | .each = .{ .once = &.{ |
| 128199 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128792 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128200 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 128793 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -128232,6 +128825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128232,6 +128825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128232 | .unused, | 128825 | .unused, |
| 128233 | }, | 128826 | }, |
| 128234 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128827 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128828 | .clobbers = .{ .eflags = true }, |
| 128235 | .each = .{ .once = &.{ | 128829 | .each = .{ .once = &.{ |
| 128236 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, | 128830 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 128237 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, | 128831 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| ... | @@ -128266,6 +128860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128266,6 +128860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128266 | .unused, | 128860 | .unused, |
| 128267 | }, | 128861 | }, |
| 128268 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128862 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128863 | .clobbers = .{ .eflags = true }, |
| 128269 | .each = .{ .once = &.{ | 128864 | .each = .{ .once = &.{ |
| 128270 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 128865 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 128271 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 128866 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -128298,6 +128893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128298,6 +128893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128298 | .unused, | 128893 | .unused, |
| 128299 | }, | 128894 | }, |
| 128300 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128895 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128896 | .clobbers = .{ .eflags = true }, |
| 128301 | .each = .{ .once = &.{ | 128897 | .each = .{ .once = &.{ |
| 128302 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 128898 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 128303 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 128899 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -128330,6 +128926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128330,6 +128926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128330 | .unused, | 128926 | .unused, |
| 128331 | }, | 128927 | }, |
| 128332 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128928 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128929 | .clobbers = .{ .eflags = true }, |
| 128333 | .each = .{ .once = &.{ | 128930 | .each = .{ .once = &.{ |
| 128334 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 128931 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 128335 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, | 128932 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| ... | @@ -128365,6 +128962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128365,6 +128962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128365 | .unused, | 128962 | .unused, |
| 128366 | }, | 128963 | }, |
| 128367 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 128964 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128965 | .clobbers = .{ .eflags = true }, |
| 128368 | .each = .{ .once = &.{ | 128966 | .each = .{ .once = &.{ |
| 128369 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 128967 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128370 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, | 128968 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -128407,6 +129005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128407,6 +129005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128407 | .unused, | 129005 | .unused, |
| 128408 | }, | 129006 | }, |
| 128409 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 129007 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129008 | .clobbers = .{ .eflags = true }, |
| 128410 | .each = .{ .once = &.{ | 129009 | .each = .{ .once = &.{ |
| 128411 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 129010 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128412 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, | 129011 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -128444,6 +129043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128444,6 +129043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128444 | .unused, | 129043 | .unused, |
| 128445 | }, | 129044 | }, |
| 128446 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 129045 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129046 | .clobbers = .{ .eflags = true }, |
| 128447 | .each = .{ .once = &.{ | 129047 | .each = .{ .once = &.{ |
| 128448 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 129048 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128449 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, | 129049 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| ... | @@ -128483,6 +129083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128483,6 +129083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128483 | .unused, | 129083 | .unused, |
| 128484 | }, | 129084 | }, |
| 128485 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 129085 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129086 | .clobbers = .{ .eflags = true }, |
| 128486 | .each = .{ .once = &.{ | 129087 | .each = .{ .once = &.{ |
| 128487 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 129088 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128488 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 129089 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -128519,6 +129120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128519,6 +129120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128519 | .unused, | 129120 | .unused, |
| 128520 | }, | 129121 | }, |
| 128521 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 129122 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129123 | .clobbers = .{ .eflags = true }, |
| 128522 | .each = .{ .once = &.{ | 129124 | .each = .{ .once = &.{ |
| 128523 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 129125 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 128524 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 129126 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -128539,7 +129141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128539,7 +129141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128539 | } }, | 129141 | } }, |
| 128540 | }, .{ | 129142 | }, .{ |
| 128541 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 129143 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 128542 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 129144 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 128543 | .patterns = &.{ | 129145 | .patterns = &.{ |
| 128544 | .{ .src = .{ .to_mem, .none, .none } }, | 129146 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128545 | }, | 129147 | }, |
| ... | @@ -128565,31 +129167,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128565,31 +129167,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128565 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, | 129167 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 128566 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 129168 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128567 | } }, | 129169 | } }, |
| 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 | }, .{ | 129170 | }, .{ |
| 128590 | .required_features = .{ .@"64bit", null, null, null }, | 129171 | .required_features = .{ .@"64bit", null, null, null }, |
| 128591 | .dst_constraints = .{ .{ .int = .qword }, .any }, | 129172 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 128592 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, | 129173 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 128593 | .patterns = &.{ | 129174 | .patterns = &.{ |
| 128594 | .{ .src = .{ .to_mem, .none, .none } }, | 129175 | .{ .src = .{ .to_mem, .none, .none } }, |
| 128595 | }, | 129176 | }, |
| ... | @@ -128615,52 +129196,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128615,52 +129196,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128615 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 129196 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 128616 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 129197 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 128617 | } }, | 129198 | } }, |
| 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 | }, .{ | 129199 | }, .{ |
| 128665 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, | 129200 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 128666 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, | 129201 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| ... | @@ -128937,6 +129472,2289 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -128937,6 +129472,2289 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 128937 | } | 129472 | } |
| 128938 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); | 129473 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| 128939 | }, | 129474 | }, |
| | 129475 | .reduce_optimized => |air_tag| if (use_old) try cg.airReduce(inst) else fallback: { |
| | 129476 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| | 129477 | switch (reduce.operation) { |
| | 129478 | .And, .Or, .Xor => unreachable, |
| | 129479 | .Min, .Max => break :fallback try cg.airReduce(inst), |
| | 129480 | .Add => {}, |
| | 129481 | .Mul => break :fallback try cg.airReduce(inst), |
| | 129482 | } |
| | 129483 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| | 129484 | var res: [1]Temp = undefined; |
| | 129485 | cg.select(&res, &.{cg.typeOfIndex(inst)}, &ops, switch (reduce.operation) { |
| | 129486 | .And, .Or, .Xor => unreachable, |
| | 129487 | .Min, .Max => unreachable, |
| | 129488 | .Add => comptime &.{ .{ |
| | 129489 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129490 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129491 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 129492 | .patterns = &.{ |
| | 129493 | .{ .src = .{ .mem, .none, .none } }, |
| | 129494 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129495 | }, |
| | 129496 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129497 | .each = .{ .once = &.{ |
| | 129498 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 129499 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 129500 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129501 | } }, |
| | 129502 | }, .{ |
| | 129503 | .required_features = .{ .f16c, null, null, null }, |
| | 129504 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129505 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 129506 | .patterns = &.{ |
| | 129507 | .{ .src = .{ .mem, .none, .none } }, |
| | 129508 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129509 | }, |
| | 129510 | .extra_temps = .{ |
| | 129511 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 129512 | .unused, |
| | 129513 | .unused, |
| | 129514 | .unused, |
| | 129515 | .unused, |
| | 129516 | .unused, |
| | 129517 | .unused, |
| | 129518 | .unused, |
| | 129519 | .unused, |
| | 129520 | .unused, |
| | 129521 | .unused, |
| | 129522 | }, |
| | 129523 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129524 | .each = .{ .once = &.{ |
| | 129525 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 129526 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129527 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129528 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129529 | } }, |
| | 129530 | }, .{ |
| | 129531 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129532 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129533 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 129534 | .patterns = &.{ |
| | 129535 | .{ .src = .{ .mem, .none, .none } }, |
| | 129536 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129537 | }, |
| | 129538 | .extra_temps = .{ |
| | 129539 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 129540 | .unused, |
| | 129541 | .unused, |
| | 129542 | .unused, |
| | 129543 | .unused, |
| | 129544 | .unused, |
| | 129545 | .unused, |
| | 129546 | .unused, |
| | 129547 | .unused, |
| | 129548 | .unused, |
| | 129549 | .unused, |
| | 129550 | }, |
| | 129551 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129552 | .each = .{ .once = &.{ |
| | 129553 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 129554 | .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 129555 | .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129556 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 129557 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129558 | } }, |
| | 129559 | }, .{ |
| | 129560 | .required_features = .{ .f16c, null, null, null }, |
| | 129561 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129562 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 129563 | .patterns = &.{ |
| | 129564 | .{ .src = .{ .mem, .none, .none } }, |
| | 129565 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129566 | }, |
| | 129567 | .extra_temps = .{ |
| | 129568 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 129569 | .unused, |
| | 129570 | .unused, |
| | 129571 | .unused, |
| | 129572 | .unused, |
| | 129573 | .unused, |
| | 129574 | .unused, |
| | 129575 | .unused, |
| | 129576 | .unused, |
| | 129577 | .unused, |
| | 129578 | .unused, |
| | 129579 | }, |
| | 129580 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129581 | .each = .{ .once = &.{ |
| | 129582 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 129583 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129584 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129585 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129586 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129587 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129588 | } }, |
| | 129589 | }, .{ |
| | 129590 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129591 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129592 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 129593 | .patterns = &.{ |
| | 129594 | .{ .src = .{ .mem, .none, .none } }, |
| | 129595 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129596 | }, |
| | 129597 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129598 | .each = .{ .once = &.{ |
| | 129599 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 129600 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 129601 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 129602 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129603 | } }, |
| | 129604 | }, .{ |
| | 129605 | .required_features = .{ .f16c, null, null, null }, |
| | 129606 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129607 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 129608 | .patterns = &.{ |
| | 129609 | .{ .src = .{ .mem, .none, .none } }, |
| | 129610 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129611 | }, |
| | 129612 | .extra_temps = .{ |
| | 129613 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 129614 | .unused, |
| | 129615 | .unused, |
| | 129616 | .unused, |
| | 129617 | .unused, |
| | 129618 | .unused, |
| | 129619 | .unused, |
| | 129620 | .unused, |
| | 129621 | .unused, |
| | 129622 | .unused, |
| | 129623 | .unused, |
| | 129624 | }, |
| | 129625 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129626 | .each = .{ .once = &.{ |
| | 129627 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 129628 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129629 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129630 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129631 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129632 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129633 | } }, |
| | 129634 | }, .{ |
| | 129635 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129636 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129637 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 129638 | .patterns = &.{ |
| | 129639 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129640 | }, |
| | 129641 | .extra_temps = .{ |
| | 129642 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129643 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129644 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129645 | .unused, |
| | 129646 | .unused, |
| | 129647 | .unused, |
| | 129648 | .unused, |
| | 129649 | .unused, |
| | 129650 | .unused, |
| | 129651 | .unused, |
| | 129652 | .unused, |
| | 129653 | }, |
| | 129654 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129655 | .each = .{ .once = &.{ |
| | 129656 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129657 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 129658 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 129659 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129660 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129661 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129662 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129663 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129664 | } }, |
| | 129665 | }, .{ |
| | 129666 | .required_features = .{ .f16c, null, null, null }, |
| | 129667 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129668 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 129669 | .patterns = &.{ |
| | 129670 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129671 | }, |
| | 129672 | .extra_temps = .{ |
| | 129673 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129674 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129675 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129676 | .unused, |
| | 129677 | .unused, |
| | 129678 | .unused, |
| | 129679 | .unused, |
| | 129680 | .unused, |
| | 129681 | .unused, |
| | 129682 | .unused, |
| | 129683 | .unused, |
| | 129684 | }, |
| | 129685 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129686 | .each = .{ .once = &.{ |
| | 129687 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129688 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 129689 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 129690 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129691 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129692 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129693 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129694 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129695 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129696 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129697 | } }, |
| | 129698 | }, .{ |
| | 129699 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129700 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129701 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 129702 | .patterns = &.{ |
| | 129703 | .{ .src = .{ .mem, .none, .none } }, |
| | 129704 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129705 | }, |
| | 129706 | .extra_temps = .{ |
| | 129707 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129708 | .unused, |
| | 129709 | .unused, |
| | 129710 | .unused, |
| | 129711 | .unused, |
| | 129712 | .unused, |
| | 129713 | .unused, |
| | 129714 | .unused, |
| | 129715 | .unused, |
| | 129716 | .unused, |
| | 129717 | .unused, |
| | 129718 | }, |
| | 129719 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129720 | .each = .{ .once = &.{ |
| | 129721 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 129722 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129723 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129724 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 129725 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129726 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129727 | } }, |
| | 129728 | }, .{ |
| | 129729 | .required_features = .{ .f16c, null, null, null }, |
| | 129730 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129731 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 129732 | .patterns = &.{ |
| | 129733 | .{ .src = .{ .mem, .none, .none } }, |
| | 129734 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129735 | }, |
| | 129736 | .extra_temps = .{ |
| | 129737 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129738 | .unused, |
| | 129739 | .unused, |
| | 129740 | .unused, |
| | 129741 | .unused, |
| | 129742 | .unused, |
| | 129743 | .unused, |
| | 129744 | .unused, |
| | 129745 | .unused, |
| | 129746 | .unused, |
| | 129747 | .unused, |
| | 129748 | }, |
| | 129749 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129750 | .each = .{ .once = &.{ |
| | 129751 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 129752 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 129753 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129754 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129755 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129756 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129757 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129758 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129759 | } }, |
| | 129760 | }, .{ |
| | 129761 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129762 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129763 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 129764 | .patterns = &.{ |
| | 129765 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129766 | }, |
| | 129767 | .extra_temps = .{ |
| | 129768 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129769 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129770 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129771 | .unused, |
| | 129772 | .unused, |
| | 129773 | .unused, |
| | 129774 | .unused, |
| | 129775 | .unused, |
| | 129776 | .unused, |
| | 129777 | .unused, |
| | 129778 | .unused, |
| | 129779 | }, |
| | 129780 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129781 | .each = .{ .once = &.{ |
| | 129782 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129783 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 129784 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129785 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 129786 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 129787 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 129788 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129789 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129790 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129791 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129792 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129793 | } }, |
| | 129794 | }, .{ |
| | 129795 | .required_features = .{ .f16c, null, null, null }, |
| | 129796 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129797 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 129798 | .patterns = &.{ |
| | 129799 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129800 | }, |
| | 129801 | .extra_temps = .{ |
| | 129802 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129803 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129804 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129805 | .unused, |
| | 129806 | .unused, |
| | 129807 | .unused, |
| | 129808 | .unused, |
| | 129809 | .unused, |
| | 129810 | .unused, |
| | 129811 | .unused, |
| | 129812 | .unused, |
| | 129813 | }, |
| | 129814 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129815 | .each = .{ .once = &.{ |
| | 129816 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129817 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 129818 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129819 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 129820 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 129821 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 129822 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129823 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129824 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129825 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129826 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129827 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129828 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129829 | } }, |
| | 129830 | }, .{ |
| | 129831 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129832 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129833 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 129834 | .patterns = &.{ |
| | 129835 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129836 | }, |
| | 129837 | .extra_temps = .{ |
| | 129838 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129839 | .unused, |
| | 129840 | .unused, |
| | 129841 | .unused, |
| | 129842 | .unused, |
| | 129843 | .unused, |
| | 129844 | .unused, |
| | 129845 | .unused, |
| | 129846 | .unused, |
| | 129847 | .unused, |
| | 129848 | .unused, |
| | 129849 | }, |
| | 129850 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129851 | .each = .{ .once = &.{ |
| | 129852 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 129853 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 129854 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 129855 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 129856 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129857 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 129858 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 129859 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129860 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129861 | } }, |
| | 129862 | }, .{ |
| | 129863 | .required_features = .{ .f16c, null, null, null }, |
| | 129864 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129865 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 129866 | .patterns = &.{ |
| | 129867 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129868 | }, |
| | 129869 | .extra_temps = .{ |
| | 129870 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129871 | .unused, |
| | 129872 | .unused, |
| | 129873 | .unused, |
| | 129874 | .unused, |
| | 129875 | .unused, |
| | 129876 | .unused, |
| | 129877 | .unused, |
| | 129878 | .unused, |
| | 129879 | .unused, |
| | 129880 | .unused, |
| | 129881 | }, |
| | 129882 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129883 | .each = .{ .once = &.{ |
| | 129884 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 129885 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 129886 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 129887 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 129888 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 129889 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129890 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129891 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129892 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129893 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 129894 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129895 | } }, |
| | 129896 | }, .{ |
| | 129897 | .required_features = .{ .avx512f, .f16c, null, null }, |
| | 129898 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129899 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 129900 | .patterns = &.{ |
| | 129901 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129902 | }, |
| | 129903 | .extra_temps = .{ |
| | 129904 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129905 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129906 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129907 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129908 | .unused, |
| | 129909 | .unused, |
| | 129910 | .unused, |
| | 129911 | .unused, |
| | 129912 | .unused, |
| | 129913 | .unused, |
| | 129914 | .unused, |
| | 129915 | }, |
| | 129916 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129917 | .each = .{ .once = &.{ |
| | 129918 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129919 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 129920 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 129921 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 129922 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 129923 | .{ ._, .v_f128, .extract, .tmp3x, .tmp2y, .ui(1), ._ }, |
| | 129924 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 129925 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 129926 | .{ ._, .v_ps, .add, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 129927 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129928 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 129929 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 129930 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 129931 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 129932 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129933 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129934 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129935 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129936 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129937 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129938 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129939 | } }, |
| | 129940 | }, .{ |
| | 129941 | .required_features = .{ .avx512f, .f16c, null, null }, |
| | 129942 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129943 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 129944 | .patterns = &.{ |
| | 129945 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129946 | }, |
| | 129947 | .extra_temps = .{ |
| | 129948 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129949 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129950 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129951 | .unused, |
| | 129952 | .unused, |
| | 129953 | .unused, |
| | 129954 | .unused, |
| | 129955 | .unused, |
| | 129956 | .unused, |
| | 129957 | .unused, |
| | 129958 | .unused, |
| | 129959 | }, |
| | 129960 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129961 | .each = .{ .once = &.{ |
| | 129962 | .{ ._, .v_ps, .mova, .tmp1y, .memd(.src0y, 32), ._, ._ }, |
| | 129963 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 129964 | .{ ._, .v_f128, .extract, .tmp2x, .tmp1y, .ui(1), ._ }, |
| | 129965 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 129966 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 129967 | .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .tmp2y, ._ }, |
| | 129968 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 129969 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 129970 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 129971 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 129972 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 129973 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 129974 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 129975 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 129976 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 129977 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 129978 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 129979 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 129980 | } }, |
| | 129981 | }, .{ |
| | 129982 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 129983 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 129984 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 129985 | .patterns = &.{ |
| | 129986 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129987 | }, |
| | 129988 | .extra_temps = .{ |
| | 129989 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129990 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 129991 | .unused, |
| | 129992 | .unused, |
| | 129993 | .unused, |
| | 129994 | .unused, |
| | 129995 | .unused, |
| | 129996 | .unused, |
| | 129997 | .unused, |
| | 129998 | .unused, |
| | 129999 | .unused, |
| | 130000 | }, |
| | 130001 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130002 | .clobbers = .{ .eflags = true }, |
| | 130003 | .each = .{ .once = &.{ |
| | 130004 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 130005 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 130006 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130007 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 130008 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130009 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130010 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130011 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130012 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 130013 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130014 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130015 | } }, |
| | 130016 | }, .{ |
| | 130017 | .required_features = .{ .f16c, null, null, null }, |
| | 130018 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130019 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 130020 | .patterns = &.{ |
| | 130021 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130022 | }, |
| | 130023 | .extra_temps = .{ |
| | 130024 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130025 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130026 | .unused, |
| | 130027 | .unused, |
| | 130028 | .unused, |
| | 130029 | .unused, |
| | 130030 | .unused, |
| | 130031 | .unused, |
| | 130032 | .unused, |
| | 130033 | .unused, |
| | 130034 | .unused, |
| | 130035 | }, |
| | 130036 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130037 | .clobbers = .{ .eflags = true }, |
| | 130038 | .each = .{ .once = &.{ |
| | 130039 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 130040 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 130041 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130042 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 130043 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130044 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130045 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 130046 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130047 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 130048 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130049 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130050 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130051 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130052 | } }, |
| | 130053 | }, .{ |
| | 130054 | .required_features = .{ .avx512f, .f16c, null, null }, |
| | 130055 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130056 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 130057 | .patterns = &.{ |
| | 130058 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130059 | }, |
| | 130060 | .extra_temps = .{ |
| | 130061 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130062 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130063 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130064 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130065 | .unused, |
| | 130066 | .unused, |
| | 130067 | .unused, |
| | 130068 | .unused, |
| | 130069 | .unused, |
| | 130070 | .unused, |
| | 130071 | .unused, |
| | 130072 | }, |
| | 130073 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130074 | .clobbers = .{ .eflags = true }, |
| | 130075 | .each = .{ .once = &.{ |
| | 130076 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130077 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130078 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 130079 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 130080 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130081 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 130082 | .{ ._, .v_f128, .extract, .tmp3x, .tmp2y, .ui(1), ._ }, |
| | 130083 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 130084 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 130085 | .{ ._, .v_ps, .add, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 130086 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130087 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130088 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 130089 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 130090 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130091 | .{ .@"0:", .v_ps, .cvtph2, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130092 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130093 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130094 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130095 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130096 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130097 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 130098 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130099 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130100 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130101 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130102 | } }, |
| | 130103 | }, .{ |
| | 130104 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 130105 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130106 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 130107 | .patterns = &.{ |
| | 130108 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130109 | }, |
| | 130110 | .extra_temps = .{ |
| | 130111 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130112 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130113 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130114 | .unused, |
| | 130115 | .unused, |
| | 130116 | .unused, |
| | 130117 | .unused, |
| | 130118 | .unused, |
| | 130119 | .unused, |
| | 130120 | .unused, |
| | 130121 | .unused, |
| | 130122 | }, |
| | 130123 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130124 | .clobbers = .{ .eflags = true }, |
| | 130125 | .each = .{ .once = &.{ |
| | 130126 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130127 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130128 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 130129 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130130 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130131 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130132 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 130133 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130134 | .{ .@"0:", .v_ps, .cvtph2, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130135 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130136 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130137 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130138 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130139 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130140 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130141 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130142 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130143 | } }, |
| | 130144 | }, .{ |
| | 130145 | .required_features = .{ .f16c, null, null, null }, |
| | 130146 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130147 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 130148 | .patterns = &.{ |
| | 130149 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130150 | }, |
| | 130151 | .extra_temps = .{ |
| | 130152 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130153 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130154 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130155 | .unused, |
| | 130156 | .unused, |
| | 130157 | .unused, |
| | 130158 | .unused, |
| | 130159 | .unused, |
| | 130160 | .unused, |
| | 130161 | .unused, |
| | 130162 | .unused, |
| | 130163 | }, |
| | 130164 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130165 | .clobbers = .{ .eflags = true }, |
| | 130166 | .each = .{ .once = &.{ |
| | 130167 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130168 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130169 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 130170 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130171 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130172 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130173 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 130174 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130175 | .{ .@"0:", .v_ps, .cvtph2, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130176 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130177 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130178 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130179 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130180 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130181 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| | 130182 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130183 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130184 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130185 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130186 | } }, |
| | 130187 | }, .{ |
| | 130188 | .required_features = .{ .avx, null, null, null }, |
| | 130189 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130190 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 130191 | .patterns = &.{ |
| | 130192 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130193 | }, |
| | 130194 | .call_frame = .{ .alignment = .@"16" }, |
| | 130195 | .extra_temps = .{ |
| | 130196 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130197 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 130198 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 130199 | .unused, |
| | 130200 | .unused, |
| | 130201 | .unused, |
| | 130202 | .unused, |
| | 130203 | .unused, |
| | 130204 | .unused, |
| | 130205 | .unused, |
| | 130206 | .unused, |
| | 130207 | }, |
| | 130208 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 130209 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 130210 | .each = .{ .once = &.{ |
| | 130211 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 130212 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 130213 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 130214 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 130215 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 130216 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 130217 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 130218 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130219 | } }, |
| | 130220 | }, .{ |
| | 130221 | .required_features = .{ .sse2, null, null, null }, |
| | 130222 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130223 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 130224 | .patterns = &.{ |
| | 130225 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130226 | }, |
| | 130227 | .call_frame = .{ .alignment = .@"16" }, |
| | 130228 | .extra_temps = .{ |
| | 130229 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130230 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 130231 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 130232 | .unused, |
| | 130233 | .unused, |
| | 130234 | .unused, |
| | 130235 | .unused, |
| | 130236 | .unused, |
| | 130237 | .unused, |
| | 130238 | .unused, |
| | 130239 | .unused, |
| | 130240 | }, |
| | 130241 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 130242 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 130243 | .each = .{ .once = &.{ |
| | 130244 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 130245 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 130246 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 130247 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 130248 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 130249 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 130250 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 130251 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130252 | } }, |
| | 130253 | }, .{ |
| | 130254 | .required_features = .{ .sse, null, null, null }, |
| | 130255 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130256 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 130257 | .patterns = &.{ |
| | 130258 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130259 | }, |
| | 130260 | .call_frame = .{ .alignment = .@"16" }, |
| | 130261 | .extra_temps = .{ |
| | 130262 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130263 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 130264 | .{ .type = .f32, .kind = .mem }, |
| | 130265 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 130266 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 130267 | .unused, |
| | 130268 | .unused, |
| | 130269 | .unused, |
| | 130270 | .unused, |
| | 130271 | .unused, |
| | 130272 | .unused, |
| | 130273 | }, |
| | 130274 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 130275 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 130276 | .each = .{ .once = &.{ |
| | 130277 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 130278 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 130279 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 130280 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 130281 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 130282 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 130283 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 130284 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 130285 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 130286 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130287 | } }, |
| | 130288 | }, .{ |
| | 130289 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130290 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130291 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 130292 | .patterns = &.{ |
| | 130293 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130294 | }, |
| | 130295 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130296 | .each = .{ .once = &.{ |
| | 130297 | .{ ._, .vh_ps, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 130298 | } }, |
| | 130299 | }, .{ |
| | 130300 | .required_features = .{ .avx, null, null, null }, |
| | 130301 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130302 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 130303 | .patterns = &.{ |
| | 130304 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130305 | }, |
| | 130306 | .extra_temps = .{ |
| | 130307 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130308 | .unused, |
| | 130309 | .unused, |
| | 130310 | .unused, |
| | 130311 | .unused, |
| | 130312 | .unused, |
| | 130313 | .unused, |
| | 130314 | .unused, |
| | 130315 | .unused, |
| | 130316 | .unused, |
| | 130317 | .unused, |
| | 130318 | }, |
| | 130319 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130320 | .each = .{ .once = &.{ |
| | 130321 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) }, |
| | 130322 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 130323 | } }, |
| | 130324 | }, .{ |
| | 130325 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 130326 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130327 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 130328 | .patterns = &.{ |
| | 130329 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 130330 | }, |
| | 130331 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 130332 | .each = .{ .once = &.{ |
| | 130333 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 130334 | } }, |
| | 130335 | }, .{ |
| | 130336 | .required_features = .{ .sse, null, null, null }, |
| | 130337 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130338 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 130339 | .patterns = &.{ |
| | 130340 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 130341 | }, |
| | 130342 | .extra_temps = .{ |
| | 130343 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130344 | .unused, |
| | 130345 | .unused, |
| | 130346 | .unused, |
| | 130347 | .unused, |
| | 130348 | .unused, |
| | 130349 | .unused, |
| | 130350 | .unused, |
| | 130351 | .unused, |
| | 130352 | .unused, |
| | 130353 | .unused, |
| | 130354 | }, |
| | 130355 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 130356 | .each = .{ .once = &.{ |
| | 130357 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 130358 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ }, |
| | 130359 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 130360 | } }, |
| | 130361 | }, .{ |
| | 130362 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130363 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130364 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130365 | .patterns = &.{ |
| | 130366 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130367 | }, |
| | 130368 | .extra_temps = .{ |
| | 130369 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130370 | .unused, |
| | 130371 | .unused, |
| | 130372 | .unused, |
| | 130373 | .unused, |
| | 130374 | .unused, |
| | 130375 | .unused, |
| | 130376 | .unused, |
| | 130377 | .unused, |
| | 130378 | .unused, |
| | 130379 | .unused, |
| | 130380 | }, |
| | 130381 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130382 | .each = .{ .once = &.{ |
| | 130383 | .{ ._, .vh_ps, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 130384 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 130385 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 130386 | } }, |
| | 130387 | }, .{ |
| | 130388 | .required_features = .{ .avx, null, null, null }, |
| | 130389 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130390 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130391 | .patterns = &.{ |
| | 130392 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130393 | }, |
| | 130394 | .extra_temps = .{ |
| | 130395 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130396 | .unused, |
| | 130397 | .unused, |
| | 130398 | .unused, |
| | 130399 | .unused, |
| | 130400 | .unused, |
| | 130401 | .unused, |
| | 130402 | .unused, |
| | 130403 | .unused, |
| | 130404 | .unused, |
| | 130405 | .unused, |
| | 130406 | }, |
| | 130407 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130408 | .each = .{ .once = &.{ |
| | 130409 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 130410 | .{ ._, .v_ps, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 130411 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01_01_01_01) }, |
| | 130412 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 130413 | } }, |
| | 130414 | }, .{ |
| | 130415 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 130416 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130417 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130418 | .patterns = &.{ |
| | 130419 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 130420 | }, |
| | 130421 | .extra_temps = .{ |
| | 130422 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130423 | .unused, |
| | 130424 | .unused, |
| | 130425 | .unused, |
| | 130426 | .unused, |
| | 130427 | .unused, |
| | 130428 | .unused, |
| | 130429 | .unused, |
| | 130430 | .unused, |
| | 130431 | .unused, |
| | 130432 | .unused, |
| | 130433 | }, |
| | 130434 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 130435 | .each = .{ .once = &.{ |
| | 130436 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 130437 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 130438 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 130439 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 130440 | } }, |
| | 130441 | }, .{ |
| | 130442 | .required_features = .{ .sse, null, null, null }, |
| | 130443 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130444 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130445 | .patterns = &.{ |
| | 130446 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 130447 | }, |
| | 130448 | .extra_temps = .{ |
| | 130449 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130450 | .unused, |
| | 130451 | .unused, |
| | 130452 | .unused, |
| | 130453 | .unused, |
| | 130454 | .unused, |
| | 130455 | .unused, |
| | 130456 | .unused, |
| | 130457 | .unused, |
| | 130458 | .unused, |
| | 130459 | .unused, |
| | 130460 | }, |
| | 130461 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 130462 | .each = .{ .once = &.{ |
| | 130463 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 130464 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 130465 | .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ }, |
| | 130466 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| | 130467 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 130468 | } }, |
| | 130469 | }, .{ |
| | 130470 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130471 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130472 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130473 | .patterns = &.{ |
| | 130474 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130475 | }, |
| | 130476 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130477 | .each = .{ .once = &.{ |
| | 130478 | .{ ._, .vh_ps, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 130479 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 130480 | } }, |
| | 130481 | }, .{ |
| | 130482 | .required_features = .{ .avx, null, null, null }, |
| | 130483 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130484 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130485 | .patterns = &.{ |
| | 130486 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130487 | }, |
| | 130488 | .extra_temps = .{ |
| | 130489 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130490 | .unused, |
| | 130491 | .unused, |
| | 130492 | .unused, |
| | 130493 | .unused, |
| | 130494 | .unused, |
| | 130495 | .unused, |
| | 130496 | .unused, |
| | 130497 | .unused, |
| | 130498 | .unused, |
| | 130499 | .unused, |
| | 130500 | }, |
| | 130501 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130502 | .each = .{ .once = &.{ |
| | 130503 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 130504 | .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 130505 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) }, |
| | 130506 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 130507 | } }, |
| | 130508 | }, .{ |
| | 130509 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 130510 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130511 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130512 | .patterns = &.{ |
| | 130513 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 130514 | }, |
| | 130515 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 130516 | .each = .{ .once = &.{ |
| | 130517 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 130518 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 130519 | } }, |
| | 130520 | }, .{ |
| | 130521 | .required_features = .{ .sse, null, null, null }, |
| | 130522 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130523 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130524 | .patterns = &.{ |
| | 130525 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 130526 | }, |
| | 130527 | .extra_temps = .{ |
| | 130528 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130529 | .unused, |
| | 130530 | .unused, |
| | 130531 | .unused, |
| | 130532 | .unused, |
| | 130533 | .unused, |
| | 130534 | .unused, |
| | 130535 | .unused, |
| | 130536 | .unused, |
| | 130537 | .unused, |
| | 130538 | .unused, |
| | 130539 | }, |
| | 130540 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 130541 | .each = .{ .once = &.{ |
| | 130542 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 130543 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 130544 | .{ ._, ._ps, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 130545 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 130546 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ }, |
| | 130547 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 130548 | } }, |
| | 130549 | }, .{ |
| | 130550 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130551 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130552 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130553 | .patterns = &.{ |
| | 130554 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130555 | }, |
| | 130556 | .extra_temps = .{ |
| | 130557 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130558 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130559 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130560 | .unused, |
| | 130561 | .unused, |
| | 130562 | .unused, |
| | 130563 | .unused, |
| | 130564 | .unused, |
| | 130565 | .unused, |
| | 130566 | .unused, |
| | 130567 | .unused, |
| | 130568 | }, |
| | 130569 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130570 | .each = .{ .once = &.{ |
| | 130571 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130572 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 130573 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130574 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130575 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130576 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130577 | } }, |
| | 130578 | }, .{ |
| | 130579 | .required_features = .{ .avx, null, null, null }, |
| | 130580 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130581 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130582 | .patterns = &.{ |
| | 130583 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130584 | }, |
| | 130585 | .extra_temps = .{ |
| | 130586 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130587 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130588 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130589 | .unused, |
| | 130590 | .unused, |
| | 130591 | .unused, |
| | 130592 | .unused, |
| | 130593 | .unused, |
| | 130594 | .unused, |
| | 130595 | .unused, |
| | 130596 | .unused, |
| | 130597 | }, |
| | 130598 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130599 | .each = .{ .once = &.{ |
| | 130600 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130601 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 130602 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130603 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130604 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 130605 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130606 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130607 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130608 | } }, |
| | 130609 | }, .{ |
| | 130610 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130611 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130612 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130613 | .patterns = &.{ |
| | 130614 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130615 | }, |
| | 130616 | .extra_temps = .{ |
| | 130617 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130618 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130619 | .unused, |
| | 130620 | .unused, |
| | 130621 | .unused, |
| | 130622 | .unused, |
| | 130623 | .unused, |
| | 130624 | .unused, |
| | 130625 | .unused, |
| | 130626 | .unused, |
| | 130627 | .unused, |
| | 130628 | }, |
| | 130629 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130630 | .each = .{ .once = &.{ |
| | 130631 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130632 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130633 | .{ ._, .v_f128, .extract, .tmp1x, .src0y, .ui(1), ._ }, |
| | 130634 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp1x, ._ }, |
| | 130635 | } }, |
| | 130636 | }, .{ |
| | 130637 | .required_features = .{ .avx, null, null, null }, |
| | 130638 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130639 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130640 | .patterns = &.{ |
| | 130641 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130642 | }, |
| | 130643 | .extra_temps = .{ |
| | 130644 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130645 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130646 | .unused, |
| | 130647 | .unused, |
| | 130648 | .unused, |
| | 130649 | .unused, |
| | 130650 | .unused, |
| | 130651 | .unused, |
| | 130652 | .unused, |
| | 130653 | .unused, |
| | 130654 | .unused, |
| | 130655 | }, |
| | 130656 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130657 | .each = .{ .once = &.{ |
| | 130658 | .{ ._, .v_f128, .extract, .tmp1x, .src0y, .ui(1), ._ }, |
| | 130659 | .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp1x, ._ }, |
| | 130660 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 130661 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130662 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130663 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130664 | } }, |
| | 130665 | }, .{ |
| | 130666 | .required_features = .{ .avx512f, null, null, null }, |
| | 130667 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130668 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 130669 | .patterns = &.{ |
| | 130670 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130671 | }, |
| | 130672 | .extra_temps = .{ |
| | 130673 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130674 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130675 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130676 | .unused, |
| | 130677 | .unused, |
| | 130678 | .unused, |
| | 130679 | .unused, |
| | 130680 | .unused, |
| | 130681 | .unused, |
| | 130682 | .unused, |
| | 130683 | .unused, |
| | 130684 | }, |
| | 130685 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130686 | .each = .{ .once = &.{ |
| | 130687 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130688 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 130689 | .{ ._, .v_ps, .mova, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 130690 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130691 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 130692 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130693 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130694 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130695 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 130696 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130697 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130698 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130699 | } }, |
| | 130700 | }, .{ |
| | 130701 | .required_features = .{ .avx512f, null, null, null }, |
| | 130702 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130703 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 130704 | .patterns = &.{ |
| | 130705 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130706 | }, |
| | 130707 | .extra_temps = .{ |
| | 130708 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130709 | .unused, |
| | 130710 | .unused, |
| | 130711 | .unused, |
| | 130712 | .unused, |
| | 130713 | .unused, |
| | 130714 | .unused, |
| | 130715 | .unused, |
| | 130716 | .unused, |
| | 130717 | .unused, |
| | 130718 | .unused, |
| | 130719 | }, |
| | 130720 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130721 | .each = .{ .once = &.{ |
| | 130722 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 130723 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 130724 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 130725 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 130726 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 130727 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 130728 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 130729 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130730 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 130731 | } }, |
| | 130732 | }, .{ |
| | 130733 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130734 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130735 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130736 | .patterns = &.{ |
| | 130737 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130738 | }, |
| | 130739 | .extra_temps = .{ |
| | 130740 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130741 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130742 | .unused, |
| | 130743 | .unused, |
| | 130744 | .unused, |
| | 130745 | .unused, |
| | 130746 | .unused, |
| | 130747 | .unused, |
| | 130748 | .unused, |
| | 130749 | .unused, |
| | 130750 | .unused, |
| | 130751 | }, |
| | 130752 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130753 | .clobbers = .{ .eflags = true }, |
| | 130754 | .each = .{ .once = &.{ |
| | 130755 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 130756 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 130757 | .{ .@"0:", .v_ps, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 130758 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 130759 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130760 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130761 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 130762 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 130763 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130764 | } }, |
| | 130765 | }, .{ |
| | 130766 | .required_features = .{ .avx, null, null, null }, |
| | 130767 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130768 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130769 | .patterns = &.{ |
| | 130770 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130771 | }, |
| | 130772 | .extra_temps = .{ |
| | 130773 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130774 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130775 | .unused, |
| | 130776 | .unused, |
| | 130777 | .unused, |
| | 130778 | .unused, |
| | 130779 | .unused, |
| | 130780 | .unused, |
| | 130781 | .unused, |
| | 130782 | .unused, |
| | 130783 | .unused, |
| | 130784 | }, |
| | 130785 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130786 | .clobbers = .{ .eflags = true }, |
| | 130787 | .each = .{ .once = &.{ |
| | 130788 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 130789 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 130790 | .{ .@"0:", .v_ps, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 130791 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 130792 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130793 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 130794 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130795 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 130796 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130797 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130798 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 130799 | } }, |
| | 130800 | }, .{ |
| | 130801 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 130802 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130803 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130804 | .patterns = &.{ |
| | 130805 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130806 | }, |
| | 130807 | .extra_temps = .{ |
| | 130808 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130809 | .unused, |
| | 130810 | .unused, |
| | 130811 | .unused, |
| | 130812 | .unused, |
| | 130813 | .unused, |
| | 130814 | .unused, |
| | 130815 | .unused, |
| | 130816 | .unused, |
| | 130817 | .unused, |
| | 130818 | .unused, |
| | 130819 | }, |
| | 130820 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130821 | .clobbers = .{ .eflags = true }, |
| | 130822 | .each = .{ .once = &.{ |
| | 130823 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 130824 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 130825 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130826 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130827 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130828 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 130829 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 130830 | } }, |
| | 130831 | }, .{ |
| | 130832 | .required_features = .{ .sse, null, null, null }, |
| | 130833 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130834 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130835 | .patterns = &.{ |
| | 130836 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130837 | }, |
| | 130838 | .extra_temps = .{ |
| | 130839 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130840 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130841 | .unused, |
| | 130842 | .unused, |
| | 130843 | .unused, |
| | 130844 | .unused, |
| | 130845 | .unused, |
| | 130846 | .unused, |
| | 130847 | .unused, |
| | 130848 | .unused, |
| | 130849 | .unused, |
| | 130850 | }, |
| | 130851 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130852 | .clobbers = .{ .eflags = true }, |
| | 130853 | .each = .{ .once = &.{ |
| | 130854 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 130855 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 130856 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130857 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130858 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130859 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 130860 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 130861 | .{ ._, ._ps, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 130862 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 130863 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01_01_01_01), ._ }, |
| | 130864 | .{ ._, ._ss, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 130865 | } }, |
| | 130866 | }, .{ |
| | 130867 | .required_features = .{ .avx512f, null, null, null }, |
| | 130868 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130869 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 130870 | .patterns = &.{ |
| | 130871 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130872 | }, |
| | 130873 | .extra_temps = .{ |
| | 130874 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130875 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130876 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130877 | .unused, |
| | 130878 | .unused, |
| | 130879 | .unused, |
| | 130880 | .unused, |
| | 130881 | .unused, |
| | 130882 | .unused, |
| | 130883 | .unused, |
| | 130884 | .unused, |
| | 130885 | }, |
| | 130886 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130887 | .clobbers = .{ .eflags = true }, |
| | 130888 | .each = .{ .once = &.{ |
| | 130889 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130890 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130891 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 130892 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 130893 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130894 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 130895 | .{ .@"0:", .v_ps, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 130896 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 130897 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 130898 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130899 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130900 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130901 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130902 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 130903 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130904 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130905 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130906 | } }, |
| | 130907 | }, .{ |
| | 130908 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 130909 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130910 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130911 | .patterns = &.{ |
| | 130912 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130913 | }, |
| | 130914 | .extra_temps = .{ |
| | 130915 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130916 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130917 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130918 | .unused, |
| | 130919 | .unused, |
| | 130920 | .unused, |
| | 130921 | .unused, |
| | 130922 | .unused, |
| | 130923 | .unused, |
| | 130924 | .unused, |
| | 130925 | .unused, |
| | 130926 | }, |
| | 130927 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130928 | .clobbers = .{ .eflags = true }, |
| | 130929 | .each = .{ .once = &.{ |
| | 130930 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130931 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130932 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 130933 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130934 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130935 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130936 | .{ .@"0:", .v_ps, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 130937 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130938 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130939 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 130940 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 130941 | } }, |
| | 130942 | }, .{ |
| | 130943 | .required_features = .{ .avx, null, null, null }, |
| | 130944 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130945 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 130946 | .patterns = &.{ |
| | 130947 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130948 | }, |
| | 130949 | .extra_temps = .{ |
| | 130950 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130951 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130952 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130953 | .unused, |
| | 130954 | .unused, |
| | 130955 | .unused, |
| | 130956 | .unused, |
| | 130957 | .unused, |
| | 130958 | .unused, |
| | 130959 | .unused, |
| | 130960 | .unused, |
| | 130961 | }, |
| | 130962 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130963 | .clobbers = .{ .eflags = true }, |
| | 130964 | .each = .{ .once = &.{ |
| | 130965 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130966 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130967 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 130968 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130969 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 130970 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130971 | .{ .@"0:", .v_ps, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 130972 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130973 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130974 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 130975 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130976 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| | 130977 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130978 | } }, |
| | 130979 | }, .{ |
| | 130980 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 130981 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 130982 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 130983 | .patterns = &.{ |
| | 130984 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130985 | }, |
| | 130986 | .extra_temps = .{ |
| | 130987 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130988 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130989 | .unused, |
| | 130990 | .unused, |
| | 130991 | .unused, |
| | 130992 | .unused, |
| | 130993 | .unused, |
| | 130994 | .unused, |
| | 130995 | .unused, |
| | 130996 | .unused, |
| | 130997 | .unused, |
| | 130998 | }, |
| | 130999 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131000 | .clobbers = .{ .eflags = true }, |
| | 131001 | .each = .{ .once = &.{ |
| | 131002 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131003 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131004 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 131005 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 131006 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131007 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131008 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131009 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 131010 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 131011 | } }, |
| | 131012 | }, .{ |
| | 131013 | .required_features = .{ .sse, null, null, null }, |
| | 131014 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131015 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131016 | .patterns = &.{ |
| | 131017 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131018 | }, |
| | 131019 | .extra_temps = .{ |
| | 131020 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131021 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131022 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131023 | .unused, |
| | 131024 | .unused, |
| | 131025 | .unused, |
| | 131026 | .unused, |
| | 131027 | .unused, |
| | 131028 | .unused, |
| | 131029 | .unused, |
| | 131030 | .unused, |
| | 131031 | }, |
| | 131032 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131033 | .clobbers = .{ .eflags = true }, |
| | 131034 | .each = .{ .once = &.{ |
| | 131035 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131036 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131037 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 131038 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 131039 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131040 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131041 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131042 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| | 131043 | .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ }, |
| | 131044 | .{ ._, ._ps, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 131045 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131046 | .{ ._, ._ps, .shuf, .tmp2x, .tmp2x, .ui(0b01_01_01_01), ._ }, |
| | 131047 | .{ ._, ._ss, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 131048 | } }, |
| | 131049 | }, .{ |
| | 131050 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 131051 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131052 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131053 | .patterns = &.{ |
| | 131054 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131055 | }, |
| | 131056 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131057 | .each = .{ .once = &.{ |
| | 131058 | .{ ._, .vh_pd, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 131059 | } }, |
| | 131060 | }, .{ |
| | 131061 | .required_features = .{ .avx, null, null, null }, |
| | 131062 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131063 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131064 | .patterns = &.{ |
| | 131065 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131066 | }, |
| | 131067 | .extra_temps = .{ |
| | 131068 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131069 | .unused, |
| | 131070 | .unused, |
| | 131071 | .unused, |
| | 131072 | .unused, |
| | 131073 | .unused, |
| | 131074 | .unused, |
| | 131075 | .unused, |
| | 131076 | .unused, |
| | 131077 | .unused, |
| | 131078 | .unused, |
| | 131079 | }, |
| | 131080 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131081 | .each = .{ .once = &.{ |
| | 131082 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 131083 | .{ ._, .v_sd, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 131084 | } }, |
| | 131085 | }, .{ |
| | 131086 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 131087 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131088 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131089 | .patterns = &.{ |
| | 131090 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131091 | }, |
| | 131092 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131093 | .each = .{ .once = &.{ |
| | 131094 | .{ ._, .h_pd, .add, .dst0x, .src0x, ._, ._ }, |
| | 131095 | } }, |
| | 131096 | }, .{ |
| | 131097 | .required_features = .{ .sse2, null, null, null }, |
| | 131098 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131099 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131100 | .patterns = &.{ |
| | 131101 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131102 | }, |
| | 131103 | .extra_temps = .{ |
| | 131104 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131105 | .unused, |
| | 131106 | .unused, |
| | 131107 | .unused, |
| | 131108 | .unused, |
| | 131109 | .unused, |
| | 131110 | .unused, |
| | 131111 | .unused, |
| | 131112 | .unused, |
| | 131113 | .unused, |
| | 131114 | .unused, |
| | 131115 | }, |
| | 131116 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131117 | .each = .{ .once = &.{ |
| | 131118 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 131119 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 131120 | .{ ._, ._sd, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 131121 | } }, |
| | 131122 | }, .{ |
| | 131123 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 131124 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131125 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131126 | .patterns = &.{ |
| | 131127 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131128 | }, |
| | 131129 | .extra_temps = .{ |
| | 131130 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131131 | .unused, |
| | 131132 | .unused, |
| | 131133 | .unused, |
| | 131134 | .unused, |
| | 131135 | .unused, |
| | 131136 | .unused, |
| | 131137 | .unused, |
| | 131138 | .unused, |
| | 131139 | .unused, |
| | 131140 | .unused, |
| | 131141 | }, |
| | 131142 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131143 | .each = .{ .once = &.{ |
| | 131144 | .{ ._, .vh_pd, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 131145 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 131146 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 131147 | } }, |
| | 131148 | }, .{ |
| | 131149 | .required_features = .{ .avx, null, null, null }, |
| | 131150 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131151 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131152 | .patterns = &.{ |
| | 131153 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131154 | }, |
| | 131155 | .extra_temps = .{ |
| | 131156 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131157 | .unused, |
| | 131158 | .unused, |
| | 131159 | .unused, |
| | 131160 | .unused, |
| | 131161 | .unused, |
| | 131162 | .unused, |
| | 131163 | .unused, |
| | 131164 | .unused, |
| | 131165 | .unused, |
| | 131166 | .unused, |
| | 131167 | }, |
| | 131168 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131169 | .each = .{ .once = &.{ |
| | 131170 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 131171 | .{ ._, .v_pd, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 131172 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 131173 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 131174 | } }, |
| | 131175 | }, .{ |
| | 131176 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 131177 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131178 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131179 | .patterns = &.{ |
| | 131180 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131181 | }, |
| | 131182 | .extra_temps = .{ |
| | 131183 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131184 | .unused, |
| | 131185 | .unused, |
| | 131186 | .unused, |
| | 131187 | .unused, |
| | 131188 | .unused, |
| | 131189 | .unused, |
| | 131190 | .unused, |
| | 131191 | .unused, |
| | 131192 | .unused, |
| | 131193 | .unused, |
| | 131194 | }, |
| | 131195 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131196 | .each = .{ .once = &.{ |
| | 131197 | .{ ._, .vh_pd, .add, .dst0y, .src0y, .src0y, ._ }, |
| | 131198 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 131199 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 131200 | } }, |
| | 131201 | }, .{ |
| | 131202 | .required_features = .{ .avx, null, null, null }, |
| | 131203 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131204 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131205 | .patterns = &.{ |
| | 131206 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131207 | }, |
| | 131208 | .extra_temps = .{ |
| | 131209 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131210 | .unused, |
| | 131211 | .unused, |
| | 131212 | .unused, |
| | 131213 | .unused, |
| | 131214 | .unused, |
| | 131215 | .unused, |
| | 131216 | .unused, |
| | 131217 | .unused, |
| | 131218 | .unused, |
| | 131219 | .unused, |
| | 131220 | }, |
| | 131221 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131222 | .each = .{ .once = &.{ |
| | 131223 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 131224 | .{ ._, .v_pd, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 131225 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 131226 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 131227 | } }, |
| | 131228 | }, .{ |
| | 131229 | .required_features = .{ .avx512f, null, null, null }, |
| | 131230 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131231 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 131232 | .patterns = &.{ |
| | 131233 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131234 | }, |
| | 131235 | .extra_temps = .{ |
| | 131236 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 131237 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131238 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131239 | .unused, |
| | 131240 | .unused, |
| | 131241 | .unused, |
| | 131242 | .unused, |
| | 131243 | .unused, |
| | 131244 | .unused, |
| | 131245 | .unused, |
| | 131246 | .unused, |
| | 131247 | }, |
| | 131248 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131249 | .each = .{ .once = &.{ |
| | 131250 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131251 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 131252 | .{ ._, .v_pd, .mova, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 131253 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131254 | .{ ._, .v_pd, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 131255 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 131256 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 131257 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131258 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 131259 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131260 | } }, |
| | 131261 | }, .{ |
| | 131262 | .required_features = .{ .avx512f, null, null, null }, |
| | 131263 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131264 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 131265 | .patterns = &.{ |
| | 131266 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131267 | }, |
| | 131268 | .extra_temps = .{ |
| | 131269 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131270 | .unused, |
| | 131271 | .unused, |
| | 131272 | .unused, |
| | 131273 | .unused, |
| | 131274 | .unused, |
| | 131275 | .unused, |
| | 131276 | .unused, |
| | 131277 | .unused, |
| | 131278 | .unused, |
| | 131279 | .unused, |
| | 131280 | }, |
| | 131281 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131282 | .each = .{ .once = &.{ |
| | 131283 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 131284 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 131285 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 131286 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 131287 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 131288 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 131289 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 131290 | } }, |
| | 131291 | }, .{ |
| | 131292 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 131293 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131294 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131295 | .patterns = &.{ |
| | 131296 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131297 | }, |
| | 131298 | .extra_temps = .{ |
| | 131299 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131300 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131301 | .unused, |
| | 131302 | .unused, |
| | 131303 | .unused, |
| | 131304 | .unused, |
| | 131305 | .unused, |
| | 131306 | .unused, |
| | 131307 | .unused, |
| | 131308 | .unused, |
| | 131309 | .unused, |
| | 131310 | }, |
| | 131311 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131312 | .clobbers = .{ .eflags = true }, |
| | 131313 | .each = .{ .once = &.{ |
| | 131314 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 131315 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 131316 | .{ .@"0:", .v_pd, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 131317 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 131318 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131319 | .{ ._, .vh_pd, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 131320 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 131321 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 131322 | } }, |
| | 131323 | }, .{ |
| | 131324 | .required_features = .{ .avx, null, null, null }, |
| | 131325 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131326 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131327 | .patterns = &.{ |
| | 131328 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131329 | }, |
| | 131330 | .extra_temps = .{ |
| | 131331 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131332 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131333 | .unused, |
| | 131334 | .unused, |
| | 131335 | .unused, |
| | 131336 | .unused, |
| | 131337 | .unused, |
| | 131338 | .unused, |
| | 131339 | .unused, |
| | 131340 | .unused, |
| | 131341 | .unused, |
| | 131342 | }, |
| | 131343 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131344 | .clobbers = .{ .eflags = true }, |
| | 131345 | .each = .{ .once = &.{ |
| | 131346 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 131347 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 131348 | .{ .@"0:", .v_pd, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 131349 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 131350 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131351 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 131352 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 131353 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 131354 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 131355 | } }, |
| | 131356 | }, .{ |
| | 131357 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 131358 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131359 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131360 | .patterns = &.{ |
| | 131361 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131362 | }, |
| | 131363 | .extra_temps = .{ |
| | 131364 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131365 | .unused, |
| | 131366 | .unused, |
| | 131367 | .unused, |
| | 131368 | .unused, |
| | 131369 | .unused, |
| | 131370 | .unused, |
| | 131371 | .unused, |
| | 131372 | .unused, |
| | 131373 | .unused, |
| | 131374 | .unused, |
| | 131375 | }, |
| | 131376 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131377 | .clobbers = .{ .eflags = true }, |
| | 131378 | .each = .{ .once = &.{ |
| | 131379 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131380 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131381 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131382 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131383 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131384 | .{ ._, .h_pd, .add, .dst0x, .dst0x, ._, ._ }, |
| | 131385 | } }, |
| | 131386 | }, .{ |
| | 131387 | .required_features = .{ .sse2, null, null, null }, |
| | 131388 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131389 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131390 | .patterns = &.{ |
| | 131391 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131392 | }, |
| | 131393 | .extra_temps = .{ |
| | 131394 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131395 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131396 | .unused, |
| | 131397 | .unused, |
| | 131398 | .unused, |
| | 131399 | .unused, |
| | 131400 | .unused, |
| | 131401 | .unused, |
| | 131402 | .unused, |
| | 131403 | .unused, |
| | 131404 | .unused, |
| | 131405 | }, |
| | 131406 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131407 | .clobbers = .{ .eflags = true }, |
| | 131408 | .each = .{ .once = &.{ |
| | 131409 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131410 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131411 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131412 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131413 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131414 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 131415 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 131416 | .{ ._, ._sd, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 131417 | } }, |
| | 131418 | }, .{ |
| | 131419 | .required_features = .{ .avx512f, null, null, null }, |
| | 131420 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131421 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 131422 | .patterns = &.{ |
| | 131423 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131424 | }, |
| | 131425 | .extra_temps = .{ |
| | 131426 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131427 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131428 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 131429 | .unused, |
| | 131430 | .unused, |
| | 131431 | .unused, |
| | 131432 | .unused, |
| | 131433 | .unused, |
| | 131434 | .unused, |
| | 131435 | .unused, |
| | 131436 | .unused, |
| | 131437 | }, |
| | 131438 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131439 | .clobbers = .{ .eflags = true }, |
| | 131440 | .each = .{ .once = &.{ |
| | 131441 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131442 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131443 | .{ ._, .v_pd, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 131444 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 131445 | .{ ._, .v_pd, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131446 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 131447 | .{ .@"0:", .v_pd, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 131448 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 131449 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 131450 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131451 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 131452 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 131453 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131454 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 131455 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131456 | } }, |
| | 131457 | }, .{ |
| | 131458 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 131459 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131460 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131461 | .patterns = &.{ |
| | 131462 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131463 | }, |
| | 131464 | .extra_temps = .{ |
| | 131465 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131466 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131467 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131468 | .unused, |
| | 131469 | .unused, |
| | 131470 | .unused, |
| | 131471 | .unused, |
| | 131472 | .unused, |
| | 131473 | .unused, |
| | 131474 | .unused, |
| | 131475 | .unused, |
| | 131476 | }, |
| | 131477 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131478 | .clobbers = .{ .eflags = true }, |
| | 131479 | .each = .{ .once = &.{ |
| | 131480 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131481 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131482 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 131483 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131484 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 131485 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131486 | .{ .@"0:", .v_pd, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 131487 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131488 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131489 | .{ ._, .vh_pd, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 131490 | } }, |
| | 131491 | }, .{ |
| | 131492 | .required_features = .{ .avx, null, null, null }, |
| | 131493 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131494 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 131495 | .patterns = &.{ |
| | 131496 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131497 | }, |
| | 131498 | .extra_temps = .{ |
| | 131499 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131500 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131501 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131502 | .unused, |
| | 131503 | .unused, |
| | 131504 | .unused, |
| | 131505 | .unused, |
| | 131506 | .unused, |
| | 131507 | .unused, |
| | 131508 | .unused, |
| | 131509 | .unused, |
| | 131510 | }, |
| | 131511 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131512 | .clobbers = .{ .eflags = true }, |
| | 131513 | .each = .{ .once = &.{ |
| | 131514 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131515 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131516 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 131517 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131518 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 131519 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131520 | .{ .@"0:", .v_pd, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 131521 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131522 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131523 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 131524 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 131525 | } }, |
| | 131526 | }, .{ |
| | 131527 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 131528 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131529 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131530 | .patterns = &.{ |
| | 131531 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131532 | }, |
| | 131533 | .extra_temps = .{ |
| | 131534 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131535 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131536 | .unused, |
| | 131537 | .unused, |
| | 131538 | .unused, |
| | 131539 | .unused, |
| | 131540 | .unused, |
| | 131541 | .unused, |
| | 131542 | .unused, |
| | 131543 | .unused, |
| | 131544 | .unused, |
| | 131545 | }, |
| | 131546 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131547 | .clobbers = .{ .eflags = true }, |
| | 131548 | .each = .{ .once = &.{ |
| | 131549 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131550 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131551 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 131552 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 131553 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131554 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131555 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131556 | .{ ._, .h_pd, .add, .dst0x, .dst0x, ._, ._ }, |
| | 131557 | } }, |
| | 131558 | }, .{ |
| | 131559 | .required_features = .{ .sse2, null, null, null }, |
| | 131560 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131561 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 131562 | .patterns = &.{ |
| | 131563 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131564 | }, |
| | 131565 | .extra_temps = .{ |
| | 131566 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131567 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131568 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 131569 | .unused, |
| | 131570 | .unused, |
| | 131571 | .unused, |
| | 131572 | .unused, |
| | 131573 | .unused, |
| | 131574 | .unused, |
| | 131575 | .unused, |
| | 131576 | .unused, |
| | 131577 | }, |
| | 131578 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131579 | .clobbers = .{ .eflags = true }, |
| | 131580 | .each = .{ .once = &.{ |
| | 131581 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131582 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131583 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 131584 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 131585 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131586 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131587 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131588 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| | 131589 | .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ }, |
| | 131590 | .{ ._, ._pd, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 131591 | } }, |
| | 131592 | }, .{ |
| | 131593 | .required_features = .{ .x87, null, null, null }, |
| | 131594 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 131595 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 131596 | .patterns = &.{ |
| | 131597 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131598 | }, |
| | 131599 | .extra_temps = .{ |
| | 131600 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 131601 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 131602 | .unused, |
| | 131603 | .unused, |
| | 131604 | .unused, |
| | 131605 | .unused, |
| | 131606 | .unused, |
| | 131607 | .unused, |
| | 131608 | .unused, |
| | 131609 | .unused, |
| | 131610 | .unused, |
| | 131611 | }, |
| | 131612 | .dst_temps = .{ .mem, .unused }, |
| | 131613 | .clobbers = .{ .eflags = true }, |
| | 131614 | .each = .{ .once = &.{ |
| | 131615 | .{ ._, ._, .mov, .tmp0p, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 131616 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 131617 | .{ .@"0:", .f_, .add, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 131618 | .{ ._, ._, .sub, .tmp0p, .si(8), ._, ._ }, |
| | 131619 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131620 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 131621 | } }, |
| | 131622 | }, .{ |
| | 131623 | .required_features = .{ .x87, null, null, null }, |
| | 131624 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 131625 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .tbyte } }, .any, .any }, |
| | 131626 | .patterns = &.{ |
| | 131627 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131628 | }, |
| | 131629 | .extra_temps = .{ |
| | 131630 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 131631 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 131632 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 131633 | .unused, |
| | 131634 | .unused, |
| | 131635 | .unused, |
| | 131636 | .unused, |
| | 131637 | .unused, |
| | 131638 | .unused, |
| | 131639 | .unused, |
| | 131640 | .unused, |
| | 131641 | }, |
| | 131642 | .dst_temps = .{ .mem, .unused }, |
| | 131643 | .clobbers = .{ .eflags = true }, |
| | 131644 | .each = .{ .once = &.{ |
| | 131645 | .{ ._, ._, .mov, .tmp0p, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131646 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 131647 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 131648 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 131649 | .{ ._, ._, .sub, .tmp0p, .si(16), ._, ._ }, |
| | 131650 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131651 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 131652 | } }, |
| | 131653 | }, .{ |
| | 131654 | .required_features = .{ .avx, null, null, null }, |
| | 131655 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 131656 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 131657 | .patterns = &.{ |
| | 131658 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131659 | }, |
| | 131660 | .call_frame = .{ .alignment = .@"16" }, |
| | 131661 | .extra_temps = .{ |
| | 131662 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131663 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 131664 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 131665 | .unused, |
| | 131666 | .unused, |
| | 131667 | .unused, |
| | 131668 | .unused, |
| | 131669 | .unused, |
| | 131670 | .unused, |
| | 131671 | .unused, |
| | 131672 | .unused, |
| | 131673 | }, |
| | 131674 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 131675 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 131676 | .each = .{ .once = &.{ |
| | 131677 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131678 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131679 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131680 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 131681 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131682 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131683 | } }, |
| | 131684 | }, .{ |
| | 131685 | .required_features = .{ .sse2, null, null, null }, |
| | 131686 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 131687 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 131688 | .patterns = &.{ |
| | 131689 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131690 | }, |
| | 131691 | .call_frame = .{ .alignment = .@"16" }, |
| | 131692 | .extra_temps = .{ |
| | 131693 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131694 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 131695 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 131696 | .unused, |
| | 131697 | .unused, |
| | 131698 | .unused, |
| | 131699 | .unused, |
| | 131700 | .unused, |
| | 131701 | .unused, |
| | 131702 | .unused, |
| | 131703 | .unused, |
| | 131704 | }, |
| | 131705 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 131706 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 131707 | .each = .{ .once = &.{ |
| | 131708 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131709 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131710 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131711 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 131712 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131713 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131714 | } }, |
| | 131715 | }, .{ |
| | 131716 | .required_features = .{ .sse, null, null, null }, |
| | 131717 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 131718 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 131719 | .patterns = &.{ |
| | 131720 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131721 | }, |
| | 131722 | .call_frame = .{ .alignment = .@"16" }, |
| | 131723 | .extra_temps = .{ |
| | 131724 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131725 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 131726 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 131727 | .unused, |
| | 131728 | .unused, |
| | 131729 | .unused, |
| | 131730 | .unused, |
| | 131731 | .unused, |
| | 131732 | .unused, |
| | 131733 | .unused, |
| | 131734 | .unused, |
| | 131735 | }, |
| | 131736 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 131737 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 131738 | .each = .{ .once = &.{ |
| | 131739 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131740 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131741 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131742 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 131743 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131744 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131745 | } }, |
| | 131746 | } }, |
| | 131747 | .Mul => unreachable, |
| | 131748 | }) catch |err| switch (err) { |
| | 131749 | error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{ |
| | 131750 | @tagName(air_tag), |
| | 131751 | cg.typeOf(reduce.operand).fmt(pt), |
| | 131752 | ops[0].tracking(cg), |
| | 131753 | }), |
| | 131754 | else => |e| return e, |
| | 131755 | }; |
| | 131756 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| | 131757 | }, |
| 128940 | .splat => |air_tag| if (use_old) try cg.airSplat(inst) else fallback: { | 131758 | .splat => |air_tag| if (use_old) try cg.airSplat(inst) else fallback: { |
| 128941 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 131759 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 128942 | if (cg.typeOf(ty_op.operand).toIntern() == .bool_type) break :fallback try cg.airSplat(inst); | 131760 | if (cg.typeOf(ty_op.operand).toIntern() == .bool_type) break :fallback try cg.airSplat(inst); |
| ... | @@ -137624,7 +140442,7 @@ fn genByteSwap( | ... | @@ -137624,7 +140442,7 @@ fn genByteSwap( |
| 137624 | return src_mcv; | 140442 | return src_mcv; |
| 137625 | }, | 140443 | }, |
| 137626 | 3...8 => if (src_mcv.isRegister() and self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { | 140444 | 3...8 => if (src_mcv.isRegister() and self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { |
| 137627 | try self.genUnOpMir(.{ ._, .bswap }, src_ty, src_mcv); | 140445 | try self.genUnOpMir(.{ .b_, .swap }, src_ty, src_mcv); |
| 137628 | return src_mcv; | 140446 | return src_mcv; |
| 137629 | }, | 140447 | }, |
| 137630 | 9...16 => { | 140448 | 9...16 => { |
| ... | @@ -137635,7 +140453,7 @@ fn genByteSwap( | ... | @@ -137635,7 +140453,7 @@ fn genByteSwap( |
| 137635 | break :mat_src_mcv .{ .load_frame = .{ .index = frame_index } }; | 140453 | break :mat_src_mcv .{ .load_frame = .{ .index = frame_index } }; |
| 137636 | }, | 140454 | }, |
| 137637 | .register_pair => |src_regs| if (self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { | 140455 | .register_pair => |src_regs| if (self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { |
| 137638 | for (src_regs) |src_reg| try self.asmRegister(.{ ._, .bswap }, src_reg.to64()); | 140456 | for (src_regs) |src_reg| try self.asmRegister(.{ .b_, .swap }, src_reg.to64()); |
| 137639 | return .{ .register_pair = .{ src_regs[1], src_regs[0] } }; | 140457 | return .{ .register_pair = .{ src_regs[1], src_regs[0] } }; |
| 137640 | } else src_mcv, | 140458 | } else src_mcv, |
| 137641 | else => src_mcv, | 140459 | else => src_mcv, |
| ... | @@ -137649,18 +140467,18 @@ fn genByteSwap( | ... | @@ -137649,18 +140467,18 @@ fn genByteSwap( |
| 137649 | for (dst_regs, 0..) |dst_reg, limb_index| { | 140467 | for (dst_regs, 0..) |dst_reg, limb_index| { |
| 137650 | if (mat_src_mcv.isBase()) { | 140468 | if (mat_src_mcv.isBase()) { |
| 137651 | try self.asmRegisterMemory( | 140469 | try self.asmRegisterMemory( |
| 137652 | .{ ._, if (has_movbe) .movbe else .mov }, | 140470 | .{ if (has_movbe) ._be else ._, .mov }, |
| 137653 | dst_reg.to64(), | 140471 | dst_reg.to64(), |
| 137654 | try mat_src_mcv.address().offset(@intCast(limb_index * 8)).deref().mem(self, .{ .size = .qword }), | 140472 | try mat_src_mcv.address().offset(@intCast(limb_index * 8)).deref().mem(self, .{ .size = .qword }), |
| 137655 | ); | 140473 | ); |
| 137656 | if (!has_movbe) try self.asmRegister(.{ ._, .bswap }, dst_reg.to64()); | 140474 | if (!has_movbe) try self.asmRegister(.{ .b_, .swap }, dst_reg.to64()); |
| 137657 | } else { | 140475 | } else { |
| 137658 | try self.asmRegisterRegister( | 140476 | try self.asmRegisterRegister( |
| 137659 | .{ ._, .mov }, | 140477 | .{ ._, .mov }, |
| 137660 | dst_reg.to64(), | 140478 | dst_reg.to64(), |
| 137661 | mat_src_mcv.register_pair[limb_index].to64(), | 140479 | mat_src_mcv.register_pair[limb_index].to64(), |
| 137662 | ); | 140480 | ); |
| 137663 | try self.asmRegister(.{ ._, .bswap }, dst_reg.to64()); | 140481 | try self.asmRegister(.{ .b_, .swap }, dst_reg.to64()); |
| 137664 | } | 140482 | } |
| 137665 | } | 140483 | } |
| 137666 | return .{ .register_pair = .{ dst_regs[1], dst_regs[0] } }; | 140484 | return .{ .register_pair = .{ dst_regs[1], dst_regs[0] } }; |
| ... | @@ -137679,7 +140497,7 @@ fn genByteSwap( | ... | @@ -137679,7 +140497,7 @@ fn genByteSwap( |
| 137679 | | 140497 | |
| 137680 | const loop: Mir.Inst.Index = @intCast(self.mir_instructions.len); | 140498 | const loop: Mir.Inst.Index = @intCast(self.mir_instructions.len); |
| 137681 | try self.asmRegisterMemory( | 140499 | try self.asmRegisterMemory( |
| 137682 | .{ ._, if (has_movbe) .movbe else .mov }, | 140500 | .{ if (has_movbe) ._be else ._, .mov }, |
| 137683 | temp_regs[2].to64(), | 140501 | temp_regs[2].to64(), |
| 137684 | .{ | 140502 | .{ |
| 137685 | .base = .{ .frame = dst_mcv.load_frame.index }, | 140503 | .base = .{ .frame = dst_mcv.load_frame.index }, |
| ... | @@ -137692,7 +140510,7 @@ fn genByteSwap( | ... | @@ -137692,7 +140510,7 @@ fn genByteSwap( |
| 137692 | }, | 140510 | }, |
| 137693 | ); | 140511 | ); |
| 137694 | try self.asmRegisterMemory( | 140512 | try self.asmRegisterMemory( |
| 137695 | .{ ._, if (has_movbe) .movbe else .mov }, | 140513 | .{ if (has_movbe) ._be else ._, .mov }, |
| 137696 | temp_regs[3].to64(), | 140514 | temp_regs[3].to64(), |
| 137697 | .{ | 140515 | .{ |
| 137698 | .base = .{ .frame = dst_mcv.load_frame.index }, | 140516 | .base = .{ .frame = dst_mcv.load_frame.index }, |
| ... | @@ -137705,8 +140523,8 @@ fn genByteSwap( | ... | @@ -137705,8 +140523,8 @@ fn genByteSwap( |
| 137705 | }, | 140523 | }, |
| 137706 | ); | 140524 | ); |
| 137707 | if (!has_movbe) { | 140525 | if (!has_movbe) { |
| 137708 | try self.asmRegister(.{ ._, .bswap }, temp_regs[2].to64()); | 140526 | try self.asmRegister(.{ .b_, .swap }, temp_regs[2].to64()); |
| 137709 | try self.asmRegister(.{ ._, .bswap }, temp_regs[3].to64()); | 140527 | try self.asmRegister(.{ .b_, .swap }, temp_regs[3].to64()); |
| 137710 | } | 140528 | } |
| 137711 | try self.asmMemoryRegister(.{ ._, .mov }, .{ | 140529 | try self.asmMemoryRegister(.{ ._, .mov }, .{ |
| 137712 | .base = .{ .frame = dst_mcv.load_frame.index }, | 140530 | .base = .{ .frame = dst_mcv.load_frame.index }, |
| ... | @@ -137751,9 +140569,9 @@ fn genByteSwap( | ... | @@ -137751,9 +140569,9 @@ fn genByteSwap( |
| 137751 | switch (abi_size) { | 140569 | switch (abi_size) { |
| 137752 | else => unreachable, | 140570 | else => unreachable, |
| 137753 | 2 => try self.genBinOpMir(.{ ._l, .ro }, src_ty, dst_mcv, .{ .immediate = 8 }), | 140571 | 2 => try self.genBinOpMir(.{ ._l, .ro }, src_ty, dst_mcv, .{ .immediate = 8 }), |
| 137754 | 3...8 => try self.genUnOpMir(.{ ._, .bswap }, src_ty, dst_mcv), | 140572 | 3...8 => try self.genUnOpMir(.{ .b_, .swap }, src_ty, dst_mcv), |
| 137755 | } | 140573 | } |
| 137756 | } else try self.genBinOpMir(.{ ._, .movbe }, src_ty, dst_mcv, src_mcv); | 140574 | } else try self.genBinOpMir(.{ ._be, .mov }, src_ty, dst_mcv, src_mcv); |
| 137757 | return dst_mcv; | 140575 | return dst_mcv; |
| 137758 | } | 140576 | } |
| 137759 | | 140577 | |
| ... | @@ -145626,16 +148444,16 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -145626,16 +148444,16 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 145626 | .{ ._, .pseudo } | 148444 | .{ ._, .pseudo } |
| 145627 | else for (std.enums.values(Mir.Inst.Fixes)) |fixes| { | 148445 | else for (std.enums.values(Mir.Inst.Fixes)) |fixes| { |
| 145628 | const fixes_name = @tagName(fixes); | 148446 | const fixes_name = @tagName(fixes); |
| 145629 | const space_i = std.mem.indexOfScalar(u8, fixes_name, ' '); | 148447 | const space_index = std.mem.indexOfScalar(u8, fixes_name, ' '); |
| 145630 | const fixes_prefix = if (space_i) |i| | 148448 | const fixes_prefix = if (space_index) |index| |
| 145631 | std.meta.stringToEnum(encoder.Instruction.Prefix, fixes_name[0..i]).? | 148449 | std.meta.stringToEnum(encoder.Instruction.Prefix, fixes_name[0..index]).? |
| 145632 | else | 148450 | else |
| 145633 | .none; | 148451 | .none; |
| 145634 | if (fixes_prefix != prefix) continue; | 148452 | if (fixes_prefix != prefix) continue; |
| 145635 | const pattern = fixes_name[if (space_i) |i| i + " ".len else 0..]; | 148453 | const pattern = fixes_name[if (space_index) |index| index + " ".len else 0..]; |
| 145636 | const wildcard_i = std.mem.indexOfScalar(u8, pattern, '_').?; | 148454 | const wildcard_index = std.mem.indexOfScalar(u8, pattern, '_').?; |
| 145637 | const mnem_prefix = pattern[0..wildcard_i]; | 148455 | const mnem_prefix = pattern[0..wildcard_index]; |
| 145638 | const mnem_suffix = pattern[wildcard_i + "_".len ..]; | 148456 | const mnem_suffix = pattern[wildcard_index + "_".len ..]; |
| 145639 | if (!std.mem.startsWith(u8, mnem_name, mnem_prefix)) continue; | 148457 | if (!std.mem.startsWith(u8, mnem_name, mnem_prefix)) continue; |
| 145640 | if (!std.mem.endsWith(u8, mnem_name, mnem_suffix)) continue; | 148458 | if (!std.mem.endsWith(u8, mnem_name, mnem_suffix)) continue; |
| 145641 | break .{ fixes, std.meta.stringToEnum( | 148459 | break .{ fixes, std.meta.stringToEnum( |
| ... | @@ -157348,7 +160166,6 @@ const Select = struct { | ... | @@ -157348,7 +160166,6 @@ const Select = struct { |
| 157348 | bool, | 160166 | bool, |
| 157349 | bool_vec: Memory.Size, | 160167 | bool_vec: Memory.Size, |
| 157350 | exact_bool_vec: u16, | 160168 | exact_bool_vec: u16, |
| 157351 | vec_len: u32, | | |
| 157352 | ptr_any_bool_vec, | 160169 | ptr_any_bool_vec, |
| 157353 | ptr_bool_vec: Memory.Size, | 160170 | ptr_bool_vec: Memory.Size, |
| 157354 | remainder_bool_vec: OfIsSizes, | 160171 | remainder_bool_vec: OfIsSizes, |
| ... | @@ -157390,8 +160207,11 @@ const Select = struct { | ... | @@ -157390,8 +160207,11 @@ const Select = struct { |
| 157390 | float: Memory.Size, | 160207 | float: Memory.Size, |
| 157391 | scalar_any_float: Memory.Size, | 160208 | scalar_any_float: Memory.Size, |
| 157392 | scalar_float: OfIsSizes, | 160209 | scalar_float: OfIsSizes, |
| | 160210 | exclusive_scalar_float: OfIsSizes, |
| | 160211 | exact_scalar_float: OfIsSizes, |
| 157393 | multiple_scalar_any_float: Memory.Size, | 160212 | multiple_scalar_any_float: Memory.Size, |
| 157394 | multiple_scalar_float: OfIsSizes, | 160213 | multiple_scalar_float: OfIsSizes, |
| | 160214 | unaligned_multiple_scalar_float: OfIsSizes, |
| 157395 | exact_int: u16, | 160215 | exact_int: u16, |
| 157396 | exact_signed_int: u16, | 160216 | exact_signed_int: u16, |
| 157397 | exact_unsigned_int: u16, | 160217 | exact_unsigned_int: u16, |
| ... | @@ -157435,7 +160255,6 @@ const Select = struct { | ... | @@ -157435,7 +160255,6 @@ const Select = struct { |
| 157435 | size.bitSize(cg.target) >= ty.vectorLen(zcu), | 160255 | size.bitSize(cg.target) >= ty.vectorLen(zcu), |
| 157436 | .exact_bool_vec => |size| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and | 160256 | .exact_bool_vec => |size| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and |
| 157437 | size == ty.vectorLen(zcu), | 160257 | size == ty.vectorLen(zcu), |
| 157438 | .vec_len => |len| ty.isVector(zcu) and ty.vectorLen(zcu) == len, | | |
| 157439 | .ptr_any_bool_vec => switch (zcu.intern_pool.indexToKey(ty.childType(zcu).toIntern())) { | 160258 | .ptr_any_bool_vec => switch (zcu.intern_pool.indexToKey(ty.childType(zcu).toIntern())) { |
| 157440 | .vector_type => |vector_type| vector_type.child == .bool_type, | 160259 | .vector_type => |vector_type| vector_type.child == .bool_type, |
| 157441 | else => false, | 160260 | else => false, |
| ... | @@ -157559,10 +160378,16 @@ const Select = struct { | ... | @@ -157559,10 +160378,16 @@ const Select = struct { |
| 157559 | cg.floatBits(ty.scalarType(zcu)) != null, | 160378 | cg.floatBits(ty.scalarType(zcu)) != null, |
| 157560 | .scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and | 160379 | .scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and |
| 157561 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, | 160380 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| | 160381 | .exclusive_scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and |
| | 160382 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| | 160383 | .exact_scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and |
| | 160384 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| 157562 | .multiple_scalar_any_float => |size| ty.abiSize(zcu) % @divExact(size.bitSize(cg.target), 8) == 0 and | 160385 | .multiple_scalar_any_float => |size| ty.abiSize(zcu) % @divExact(size.bitSize(cg.target), 8) == 0 and |
| 157563 | cg.floatBits(ty.scalarType(zcu)) != null, | 160386 | cg.floatBits(ty.scalarType(zcu)) != null, |
| 157564 | .multiple_scalar_float => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and | 160387 | .multiple_scalar_float => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| 157565 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, | 160388 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| | 160389 | .unaligned_multiple_scalar_float => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| | 160390 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| 157566 | .exact_int => |bit_size| if (cg.intInfo(ty)) |int_info| bit_size == int_info.bits else false, | 160391 | .exact_int => |bit_size| if (cg.intInfo(ty)) |int_info| bit_size == int_info.bits else false, |
| 157567 | .exact_signed_int => |bit_size| if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { | 160392 | .exact_signed_int => |bit_size| if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { |
| 157568 | .signed => bit_size == int_info.bits, | 160393 | .signed => bit_size == int_info.bits, |